@ws-ui/roles-editor 1.8.4-rc16 → 1.8.4-rc17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +283 -282
- package/dist/index.es.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -68,5 +68,5 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
68
68
|
`)&&n.flags==="s")}),sb}var ub,yM;function BJ(){if(yM)return ub;yM=1;var e=at(),t=bt(),r=t.RegExp;return ub=e(function(){var n=r("(?<a>b)","g");return n.exec("b").groups.a!=="b"||"b".replace(n,"$<a>c")!=="bc"}),ub}var cb,bM;function _w(){if(bM)return cb;bM=1;var e=Zt(),t=it(),r=Pi(),n=Bk(),i=kJ(),o=fw(),a=cl(),u=Io().get,c=LJ(),d=BJ(),f=o("native-string-replace",String.prototype.replace),h=RegExp.prototype.exec,p=h,v=t("".charAt),m=t("".indexOf),y=t("".replace),b=t("".slice),x=(function(){var _=/a/,R=/b*/g;return e(h,_,"a"),e(h,R,"a"),_.lastIndex!==0||R.lastIndex!==0})(),w=i.BROKEN_CARET,S=/()??/.exec("")[1]!==void 0,E=x||S||w||c||d;return E&&(p=function(R){var P=this,N=u(P),j=r(R),L=N.raw,F,k,D,T,B,$,W;if(L)return L.lastIndex=P.lastIndex,F=e(p,L,j),P.lastIndex=L.lastIndex,F;var Y=N.groups,ee=w&&P.sticky,H=e(n,P),Q=P.source,ce=0,se=j;if(ee&&(H=y(H,"y",""),m(H,"g")===-1&&(H+="g"),se=b(j,P.lastIndex),P.lastIndex>0&&(!P.multiline||P.multiline&&v(j,P.lastIndex-1)!==`
|
|
69
69
|
`)&&(Q="(?: "+Q+")",se=" "+se,ce++),k=new RegExp("^(?:"+Q+")",H)),S&&(k=new RegExp("^"+Q+"$(?!\\s)",H)),x&&(D=P.lastIndex),T=e(h,ee?k:P,se),ee?T?(T.input=b(T.input,ce),T[0]=b(T[0],ce),T.index=P.lastIndex,P.lastIndex+=T[0].length):P.lastIndex=0:x&&T&&(P.lastIndex=P.global?T.index+T[0].length:D),S&&T&&T.length>1&&e(f,T[0],k,function(){for(B=1;B<arguments.length-2;B++)arguments[B]===void 0&&(T[B]=void 0)}),T&&Y)for(T.groups=$=a(null),B=0;B<Y.length;B++)W=Y[B],$[W[0]]=T[W[1]];return T}),cb=p,cb}var xM;function Fk(){if(xM)return pM;xM=1;var e=Kn(),t=_w();return e({target:"RegExp",proto:!0,forced:/./.exec!==t},{exec:t}),pM}Fk();var wM={},lb,_M;function $k(){if(_M)return lb;_M=1,Fk();var e=Zt(),t=Ri(),r=_w(),n=at(),i=$t(),o=Qa(),a=i("species"),u=RegExp.prototype;return lb=function(c,d,f,h){var p=i(c),v=!n(function(){var x={};return x[p]=function(){return 7},""[c](x)!==7}),m=v&&!n(function(){var x=!1,w=/a/;return c==="split"&&(w={},w.constructor={},w.constructor[a]=function(){return w},w.flags="",w[p]=/./[p]),w.exec=function(){return x=!0,null},w[p](""),!x});if(!v||!m||f){var y=/./[p],b=d(p,""[c],function(x,w,S,E,_){var R=w.exec;return R===r||R===u.exec?v&&!_?{done:!0,value:e(y,w,S,E)}:{done:!0,value:e(x,S,w,E)}:{done:!1}});t(String.prototype,c,b[0]),t(u,p,b[1])}h&&o(u[p],"sham",!0)},lb}var fb,EM;function zk(){if(EM)return fb;EM=1;var e=Ck().charAt;return fb=function(t,r,n){return r+(n?e(t,r).length:1)},fb}var db,SM;function FJ(){if(SM)return db;SM=1;var e=bt(),t=at(),r=e.RegExp,n=!t(function(){var i=!0;try{r(".","d")}catch{i=!1}var o={},a="",u=i?"dgimsy":"gimsy",c=function(p,v){Object.defineProperty(o,p,{get:function(){return a+=v,!0}})},d={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};i&&(d.hasIndices="d");for(var f in d)c(f,d[f]);var h=Object.getOwnPropertyDescriptor(r.prototype,"flags").get.call(o);return h!==u||a!==u});return db={correct:n},db}var hb,OM;function Hk(){if(OM)return hb;OM=1;var e=Zt(),t=Rr(),r=nl(),n=FJ(),i=Bk(),o=RegExp.prototype;return hb=n.correct?function(a){return a.flags}:function(a){return!n.correct&&r(o,a)&&!t(a,"flags")?e(i,a):a.flags},hb}var pb,CM;function Uk(){if(CM)return pb;CM=1;var e=Zt(),t=Pr(),r=Et(),n=Gn(),i=_w(),o=TypeError;return pb=function(a,u){var c=a.exec;if(r(c)){var d=e(c,a,u);return d!==null&&t(d),d}if(n(a)==="RegExp")return e(i,a,u);throw new o("RegExp#exec called on incompatible receiver")},pb}var RM;function $J(){if(RM)return wM;RM=1;var e=Zt(),t=it(),r=$k(),n=Pr(),i=Nt(),o=gw(),a=Pi(),u=Ci(),c=Ja(),d=zk(),f=Hk(),h=Uk(),p=t("".indexOf);return r("match",function(v,m,y){return[function(x){var w=u(this),S=i(x)?c(x,v):void 0;return S?e(S,x,w):new RegExp(x)[v](a(w))},function(b){var x=n(this),w=a(b),S=y(m,x,w);if(S.done)return S.value;var E=a(f(x));if(p(E,"g")===-1)return h(x,w);var _=p(E,"u")!==-1;x.lastIndex=0;for(var R=[],P=0,N;(N=h(x,w))!==null;){var j=a(N[0]);R[P]=j,j===""&&(x.lastIndex=d(w,o(x.lastIndex),_)),P++}return P===0?null:R}]}),wM}$J();var PM={},vb,IM;function zJ(){if(IM)return vb;IM=1;var e=dk(),t=On();return vb=function(r,n,i){return i.get&&e(i.get,n,{getter:!0}),i.set&&e(i.set,n,{setter:!0}),t.f(r,n,i)},vb}var NM;function HJ(){if(NM)return PM;NM=1;var e=zr(),t=pw().EXISTS,r=it(),n=zJ(),i=Function.prototype,o=r(i.toString),a=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,u=r(a.exec),c="name";return e&&!t&&n(i,c,{configurable:!0,get:function(){try{return u(a,o(this))[1]}catch{return""}}}),PM}HJ();var TM={},gb,AM;function UJ(){if(AM)return gb;AM=1;var e=el(),t=Function.prototype,r=t.apply,n=t.call;return gb=typeof Reflect=="object"&&Reflect.apply||(e?n.bind(r):function(){return n.apply(r,arguments)}),gb}var mb,MM;function VJ(){if(MM)return mb;MM=1;var e=it(),t=Po(),r=Math.floor,n=e("".charAt),i=e("".replace),o=e("".slice),a=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,u=/\$([$&'`]|\d{1,2})/g;return mb=function(c,d,f,h,p,v){var m=f+c.length,y=h.length,b=u;return p!==void 0&&(p=t(p),b=a),i(v,b,function(x,w){var S;switch(n(w,0)){case"$":return"$";case"&":return c;case"`":return o(d,0,f);case"'":return o(d,m);case"<":S=p[o(w,1,-1)];break;default:var E=+w;if(E===0)return x;if(E>y){var _=r(E/10);return _===0?x:_<=y?h[_-1]===void 0?n(w,1):h[_-1]+n(w,1):x}S=h[E-1]}return S===void 0?"":S})},mb}var DM;function WJ(){if(DM)return TM;DM=1;var e=UJ(),t=Zt(),r=it(),n=$k(),i=at(),o=Pr(),a=Et(),u=Nt(),c=al(),d=gw(),f=Pi(),h=Ci(),p=zk(),v=Ja(),m=VJ(),y=Hk(),b=Uk(),x=$t(),w=x("replace"),S=Math.max,E=Math.min,_=r([].concat),R=r([].push),P=r("".indexOf),N=r("".slice),j=function(D){return D===void 0?D:String(D)},L=(function(){return"a".replace(/./,"$0")==="$0"})(),F=(function(){return/./[w]?/./[w]("a","$0")==="":!1})(),k=!i(function(){var D=/./;return D.exec=function(){var T=[];return T.groups={a:"7"},T},"".replace(D,"$<a>")!=="7"});return n("replace",function(D,T,B){var $=F?"$":"$0";return[function(Y,ee){var H=h(this),Q=u(Y)?v(Y,w):void 0;return Q?t(Q,Y,H,ee):t(T,f(H),Y,ee)},function(W,Y){var ee=o(this),H=f(W);if(typeof Y=="string"&&P(Y,$)===-1&&P(Y,"$<")===-1){var Q=B(T,ee,H,Y);if(Q.done)return Q.value}var ce=a(Y);ce||(Y=f(Y));var se=f(y(ee)),z=P(se,"g")!==-1,G;z&&(G=P(se,"u")!==-1,ee.lastIndex=0);for(var J=[],V;V=b(ee,H),!(V===null||(R(J,V),!z));){var K=f(V[0]);K===""&&(ee.lastIndex=p(H,d(ee.lastIndex),G))}for(var ie="",ne=0,ue=0;ue<J.length;ue++){V=J[ue];for(var de=f(V[0]),we=S(E(c(V.index),H.length),0),Se=[],_e,he=1;he<V.length;he++)R(Se,j(V[he]));var ae=V.groups;if(ce){var Oe=_([de],Se,we,H);ae!==void 0&&R(Oe,ae),_e=f(e(Y,void 0,Oe))}else _e=m(de,H,we,Se,ae,Y);we>=ne&&(ie+=N(H,ne,we)+_e,ne=we+de.length)}return ie+N(H,ne)}]},!k||!L||F),TM}WJ();function kn(e){return!e||!e.ownerDocument||!e.ownerDocument.defaultView?window:e.ownerDocument.defaultView}function zu(e){return!e||!e.ownerDocument?document:e.ownerDocument}var Ji=null,jM=null;Lk&&window.addEventListener("resize",function(){jM!==window.devicePixelRatio&&(jM=window.devicePixelRatio,Ji=null)});function qM(e){if(Ji===null){var t=zu(e);if(typeof t>"u")return Ji=0,Ji;var r=t.body,n=t.createElement("div");n.classList.add("simplebar-hide-scrollbar"),r.appendChild(n);var i=n.getBoundingClientRect().right;r.removeChild(n),Ji=i}return Ji}var vc=(function(){function e(r,n){var i=this;this.onScroll=function(){var o=kn(i.el);i.scrollXTicking||(o.requestAnimationFrame(i.scrollX),i.scrollXTicking=!0),i.scrollYTicking||(o.requestAnimationFrame(i.scrollY),i.scrollYTicking=!0)},this.scrollX=function(){i.axis.x.isOverflowing&&(i.showScrollbar("x"),i.positionScrollbar("x")),i.scrollXTicking=!1},this.scrollY=function(){i.axis.y.isOverflowing&&(i.showScrollbar("y"),i.positionScrollbar("y")),i.scrollYTicking=!1},this.onMouseEnter=function(){i.showScrollbar("x"),i.showScrollbar("y")},this.onMouseMove=function(o){i.mouseX=o.clientX,i.mouseY=o.clientY,(i.axis.x.isOverflowing||i.axis.x.forceVisible)&&i.onMouseMoveForAxis("x"),(i.axis.y.isOverflowing||i.axis.y.forceVisible)&&i.onMouseMoveForAxis("y")},this.onMouseLeave=function(){i.onMouseMove.cancel(),(i.axis.x.isOverflowing||i.axis.x.forceVisible)&&i.onMouseLeaveForAxis("x"),(i.axis.y.isOverflowing||i.axis.y.forceVisible)&&i.onMouseLeaveForAxis("y"),i.mouseX=-1,i.mouseY=-1},this.onWindowResize=function(){i.scrollbarWidth=i.getScrollbarWidth(),i.hideNativeScrollbar()},this.hideScrollbars=function(){i.axis.x.track.rect=i.axis.x.track.el.getBoundingClientRect(),i.axis.y.track.rect=i.axis.y.track.el.getBoundingClientRect(),i.isWithinBounds(i.axis.y.track.rect)||(i.axis.y.scrollbar.el.classList.remove(i.classNames.visible),i.axis.y.isVisible=!1),i.isWithinBounds(i.axis.x.track.rect)||(i.axis.x.scrollbar.el.classList.remove(i.classNames.visible),i.axis.x.isVisible=!1)},this.onPointerEvent=function(o){var a,u;i.axis.x.track.rect=i.axis.x.track.el.getBoundingClientRect(),i.axis.y.track.rect=i.axis.y.track.el.getBoundingClientRect(),(i.axis.x.isOverflowing||i.axis.x.forceVisible)&&(a=i.isWithinBounds(i.axis.x.track.rect)),(i.axis.y.isOverflowing||i.axis.y.forceVisible)&&(u=i.isWithinBounds(i.axis.y.track.rect)),(a||u)&&(o.preventDefault(),o.stopPropagation(),o.type==="mousedown"&&(a&&(i.axis.x.scrollbar.rect=i.axis.x.scrollbar.el.getBoundingClientRect(),i.isWithinBounds(i.axis.x.scrollbar.rect)?i.onDragStart(o,"x"):i.onTrackClick(o,"x")),u&&(i.axis.y.scrollbar.rect=i.axis.y.scrollbar.el.getBoundingClientRect(),i.isWithinBounds(i.axis.y.scrollbar.rect)?i.onDragStart(o,"y"):i.onTrackClick(o,"y"))))},this.drag=function(o){var a,u=i.axis[i.draggedAxis].track,c=u.rect[i.axis[i.draggedAxis].sizeAttr],d=i.axis[i.draggedAxis].scrollbar,f=i.contentWrapperEl[i.axis[i.draggedAxis].scrollSizeAttr],h=parseInt(i.elStyles[i.axis[i.draggedAxis].sizeAttr],10);o.preventDefault(),o.stopPropagation(),i.draggedAxis==="y"?a=o.pageY:a=o.pageX;var p=a-u.rect[i.axis[i.draggedAxis].offsetAttr]-i.axis[i.draggedAxis].dragOffset,v=p/(c-d.size),m=v*(f-h);i.draggedAxis==="x"&&(m=i.isRtl&&e.getRtlHelpers().isRtlScrollbarInverted?m-(c+d.size):m,m=i.isRtl&&e.getRtlHelpers().isRtlScrollingInverted?-m:m),i.contentWrapperEl[i.axis[i.draggedAxis].scrollOffsetAttr]=m},this.onEndDrag=function(o){var a=zu(i.el),u=kn(i.el);o.preventDefault(),o.stopPropagation(),i.el.classList.remove(i.classNames.dragging),a.removeEventListener("mousemove",i.drag,!0),a.removeEventListener("mouseup",i.onEndDrag,!0),i.removePreventClickId=u.setTimeout(function(){a.removeEventListener("click",i.preventClick,!0),a.removeEventListener("dblclick",i.preventClick,!0),i.removePreventClickId=null})},this.preventClick=function(o){o.preventDefault(),o.stopPropagation()},this.el=r,this.minScrollbarWidth=20,this.options=Object.assign({},e.defaultOptions,n),this.classNames=Object.assign({},e.defaultOptions.classNames,this.options.classNames),this.axis={x:{scrollOffsetAttr:"scrollLeft",sizeAttr:"width",scrollSizeAttr:"scrollWidth",offsetSizeAttr:"offsetWidth",offsetAttr:"left",overflowAttr:"overflowX",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}},y:{scrollOffsetAttr:"scrollTop",sizeAttr:"height",scrollSizeAttr:"scrollHeight",offsetSizeAttr:"offsetHeight",offsetAttr:"top",overflowAttr:"overflowY",dragOffset:0,isOverflowing:!0,isVisible:!1,forceVisible:!1,track:{},scrollbar:{}}},this.removePreventClickId=null,!e.instances.has(this.el)&&(this.recalculate=KA(this.recalculate.bind(this),64),this.onMouseMove=KA(this.onMouseMove.bind(this),64),this.hideScrollbars=XA(this.hideScrollbars.bind(this),this.options.timeout),this.onWindowResize=XA(this.onWindowResize.bind(this),64,{leading:!0}),e.getRtlHelpers=uJ(e.getRtlHelpers),this.init())}e.getRtlHelpers=function(){var n=document.createElement("div");n.innerHTML='<div class="hs-dummy-scrollbar-size"><div style="height: 200%; width: 200%; margin: 10px 0;"></div></div>';var i=n.firstElementChild;document.body.appendChild(i);var o=i.firstElementChild;i.scrollLeft=0;var a=e.getOffset(i),u=e.getOffset(o);i.scrollLeft=999;var c=e.getOffset(o);return{isRtlScrollingInverted:a.left!==u.left&&u.left-c.left!==0,isRtlScrollbarInverted:a.left!==u.left}},e.getOffset=function(n){var i=n.getBoundingClientRect(),o=zu(n),a=kn(n);return{top:i.top+(a.pageYOffset||o.documentElement.scrollTop),left:i.left+(a.pageXOffset||o.documentElement.scrollLeft)}};var t=e.prototype;return t.init=function(){e.instances.set(this.el,this),Lk&&(this.initDOM(),this.setAccessibilityAttributes(),this.scrollbarWidth=this.getScrollbarWidth(),this.recalculate(),this.initListeners())},t.initDOM=function(){var n=this;if(Array.prototype.filter.call(this.el.children,function(a){return a.classList.contains(n.classNames.wrapper)}).length)this.wrapperEl=this.el.querySelector("."+this.classNames.wrapper),this.contentWrapperEl=this.options.scrollableNode||this.el.querySelector("."+this.classNames.contentWrapper),this.contentEl=this.options.contentNode||this.el.querySelector("."+this.classNames.contentEl),this.offsetEl=this.el.querySelector("."+this.classNames.offset),this.maskEl=this.el.querySelector("."+this.classNames.mask),this.placeholderEl=this.findChild(this.wrapperEl,"."+this.classNames.placeholder),this.heightAutoObserverWrapperEl=this.el.querySelector("."+this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl=this.el.querySelector("."+this.classNames.heightAutoObserverEl),this.axis.x.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.horizontal),this.axis.y.track.el=this.findChild(this.el,"."+this.classNames.track+"."+this.classNames.vertical);else{for(this.wrapperEl=document.createElement("div"),this.contentWrapperEl=document.createElement("div"),this.offsetEl=document.createElement("div"),this.maskEl=document.createElement("div"),this.contentEl=document.createElement("div"),this.placeholderEl=document.createElement("div"),this.heightAutoObserverWrapperEl=document.createElement("div"),this.heightAutoObserverEl=document.createElement("div"),this.wrapperEl.classList.add(this.classNames.wrapper),this.contentWrapperEl.classList.add(this.classNames.contentWrapper),this.offsetEl.classList.add(this.classNames.offset),this.maskEl.classList.add(this.classNames.mask),this.contentEl.classList.add(this.classNames.contentEl),this.placeholderEl.classList.add(this.classNames.placeholder),this.heightAutoObserverWrapperEl.classList.add(this.classNames.heightAutoObserverWrapperEl),this.heightAutoObserverEl.classList.add(this.classNames.heightAutoObserverEl);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.contentWrapperEl.appendChild(this.contentEl),this.offsetEl.appendChild(this.contentWrapperEl),this.maskEl.appendChild(this.offsetEl),this.heightAutoObserverWrapperEl.appendChild(this.heightAutoObserverEl),this.wrapperEl.appendChild(this.heightAutoObserverWrapperEl),this.wrapperEl.appendChild(this.maskEl),this.wrapperEl.appendChild(this.placeholderEl),this.el.appendChild(this.wrapperEl)}if(!this.axis.x.track.el||!this.axis.y.track.el){var i=document.createElement("div"),o=document.createElement("div");i.classList.add(this.classNames.track),o.classList.add(this.classNames.scrollbar),i.appendChild(o),this.axis.x.track.el=i.cloneNode(!0),this.axis.x.track.el.classList.add(this.classNames.horizontal),this.axis.y.track.el=i.cloneNode(!0),this.axis.y.track.el.classList.add(this.classNames.vertical),this.el.appendChild(this.axis.x.track.el),this.el.appendChild(this.axis.y.track.el)}this.axis.x.scrollbar.el=this.axis.x.track.el.querySelector("."+this.classNames.scrollbar),this.axis.y.scrollbar.el=this.axis.y.track.el.querySelector("."+this.classNames.scrollbar),this.options.autoHide||(this.axis.x.scrollbar.el.classList.add(this.classNames.visible),this.axis.y.scrollbar.el.classList.add(this.classNames.visible)),this.el.setAttribute("data-simplebar","init")},t.setAccessibilityAttributes=function(){var n=this.options.ariaLabel||"scrollable content";this.contentWrapperEl.setAttribute("tabindex","0"),this.contentWrapperEl.setAttribute("role","region"),this.contentWrapperEl.setAttribute("aria-label",n)},t.initListeners=function(){var n=this,i=kn(this.el);this.options.autoHide&&this.el.addEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(c){n.el.addEventListener(c,n.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(c){n.el.addEventListener(c,n.onPointerEvent,{capture:!0,passive:!0})}),this.el.addEventListener("mousemove",this.onMouseMove),this.el.addEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl.addEventListener("scroll",this.onScroll),i.addEventListener("resize",this.onWindowResize);var o=!1,a=null,u=i.ResizeObserver||IJ;this.resizeObserver=new u(function(){!o||a!==null||(a=i.requestAnimationFrame(function(){n.recalculate(),a=null}))}),this.resizeObserver.observe(this.el),this.resizeObserver.observe(this.contentEl),i.requestAnimationFrame(function(){o=!0}),this.mutationObserver=new i.MutationObserver(this.recalculate),this.mutationObserver.observe(this.contentEl,{childList:!0,subtree:!0,characterData:!0})},t.recalculate=function(){var n=kn(this.el);this.elStyles=n.getComputedStyle(this.el),this.isRtl=this.elStyles.direction==="rtl";var i=this.heightAutoObserverEl.offsetHeight<=1,o=this.heightAutoObserverEl.offsetWidth<=1,a=this.contentEl.offsetWidth,u=this.contentWrapperEl.offsetWidth,c=this.elStyles.overflowX,d=this.elStyles.overflowY;this.contentEl.style.padding=this.elStyles.paddingTop+" "+this.elStyles.paddingRight+" "+this.elStyles.paddingBottom+" "+this.elStyles.paddingLeft,this.wrapperEl.style.margin="-"+this.elStyles.paddingTop+" -"+this.elStyles.paddingRight+" -"+this.elStyles.paddingBottom+" -"+this.elStyles.paddingLeft;var f=this.contentEl.scrollHeight,h=this.contentEl.scrollWidth;this.contentWrapperEl.style.height=i?"auto":"100%",this.placeholderEl.style.width=o?a+"px":"auto",this.placeholderEl.style.height=f+"px";var p=this.contentWrapperEl.offsetHeight;this.axis.x.isOverflowing=h>a,this.axis.y.isOverflowing=f>p,this.axis.x.isOverflowing=c==="hidden"?!1:this.axis.x.isOverflowing,this.axis.y.isOverflowing=d==="hidden"?!1:this.axis.y.isOverflowing,this.axis.x.forceVisible=this.options.forceVisible==="x"||this.options.forceVisible===!0,this.axis.y.forceVisible=this.options.forceVisible==="y"||this.options.forceVisible===!0,this.hideNativeScrollbar();var v=this.axis.x.isOverflowing?this.scrollbarWidth:0,m=this.axis.y.isOverflowing?this.scrollbarWidth:0;this.axis.x.isOverflowing=this.axis.x.isOverflowing&&h>u-m,this.axis.y.isOverflowing=this.axis.y.isOverflowing&&f>p-v,this.axis.x.scrollbar.size=this.getScrollbarSize("x"),this.axis.y.scrollbar.size=this.getScrollbarSize("y"),this.axis.x.scrollbar.el.style.width=this.axis.x.scrollbar.size+"px",this.axis.y.scrollbar.el.style.height=this.axis.y.scrollbar.size+"px",this.positionScrollbar("x"),this.positionScrollbar("y"),this.toggleTrackVisibility("x"),this.toggleTrackVisibility("y")},t.getScrollbarSize=function(n){if(n===void 0&&(n="y"),!this.axis[n].isOverflowing)return 0;var i=this.contentEl[this.axis[n].scrollSizeAttr],o=this.axis[n].track.el[this.axis[n].offsetSizeAttr],a,u=o/i;return a=Math.max(~~(u*o),this.options.scrollbarMinSize),this.options.scrollbarMaxSize&&(a=Math.min(a,this.options.scrollbarMaxSize)),a},t.positionScrollbar=function(n){if(n===void 0&&(n="y"),!!this.axis[n].isOverflowing){var i=this.contentWrapperEl[this.axis[n].scrollSizeAttr],o=this.axis[n].track.el[this.axis[n].offsetSizeAttr],a=parseInt(this.elStyles[this.axis[n].sizeAttr],10),u=this.axis[n].scrollbar,c=this.contentWrapperEl[this.axis[n].scrollOffsetAttr];c=n==="x"&&this.isRtl&&e.getRtlHelpers().isRtlScrollingInverted?-c:c;var d=c/(i-a),f=~~((o-u.size)*d);f=n==="x"&&this.isRtl&&e.getRtlHelpers().isRtlScrollbarInverted?f+(o-u.size):f,u.el.style.transform=n==="x"?"translate3d("+f+"px, 0, 0)":"translate3d(0, "+f+"px, 0)"}},t.toggleTrackVisibility=function(n){n===void 0&&(n="y");var i=this.axis[n].track.el,o=this.axis[n].scrollbar.el;this.axis[n].isOverflowing||this.axis[n].forceVisible?(i.style.visibility="visible",this.contentWrapperEl.style[this.axis[n].overflowAttr]="scroll"):(i.style.visibility="hidden",this.contentWrapperEl.style[this.axis[n].overflowAttr]="hidden"),this.axis[n].isOverflowing?o.style.display="block":o.style.display="none"},t.hideNativeScrollbar=function(){this.offsetEl.style[this.isRtl?"left":"right"]=this.axis.y.isOverflowing||this.axis.y.forceVisible?"-"+this.scrollbarWidth+"px":0,this.offsetEl.style.bottom=this.axis.x.isOverflowing||this.axis.x.forceVisible?"-"+this.scrollbarWidth+"px":0},t.onMouseMoveForAxis=function(n){n===void 0&&(n="y"),this.axis[n].track.rect=this.axis[n].track.el.getBoundingClientRect(),this.axis[n].scrollbar.rect=this.axis[n].scrollbar.el.getBoundingClientRect();var i=this.isWithinBounds(this.axis[n].scrollbar.rect);i?this.axis[n].scrollbar.el.classList.add(this.classNames.hover):this.axis[n].scrollbar.el.classList.remove(this.classNames.hover),this.isWithinBounds(this.axis[n].track.rect)?(this.showScrollbar(n),this.axis[n].track.el.classList.add(this.classNames.hover)):this.axis[n].track.el.classList.remove(this.classNames.hover)},t.onMouseLeaveForAxis=function(n){n===void 0&&(n="y"),this.axis[n].track.el.classList.remove(this.classNames.hover),this.axis[n].scrollbar.el.classList.remove(this.classNames.hover)},t.showScrollbar=function(n){n===void 0&&(n="y");var i=this.axis[n].scrollbar.el;this.axis[n].isVisible||(i.classList.add(this.classNames.visible),this.axis[n].isVisible=!0),this.options.autoHide&&this.hideScrollbars()},t.onDragStart=function(n,i){i===void 0&&(i="y");var o=zu(this.el),a=kn(this.el),u=this.axis[i].scrollbar,c=i==="y"?n.pageY:n.pageX;this.axis[i].dragOffset=c-u.rect[this.axis[i].offsetAttr],this.draggedAxis=i,this.el.classList.add(this.classNames.dragging),o.addEventListener("mousemove",this.drag,!0),o.addEventListener("mouseup",this.onEndDrag,!0),this.removePreventClickId===null?(o.addEventListener("click",this.preventClick,!0),o.addEventListener("dblclick",this.preventClick,!0)):(a.clearTimeout(this.removePreventClickId),this.removePreventClickId=null)},t.onTrackClick=function(n,i){var o=this;if(i===void 0&&(i="y"),!!this.options.clickOnTrack){var a=kn(this.el);this.axis[i].scrollbar.rect=this.axis[i].scrollbar.el.getBoundingClientRect();var u=this.axis[i].scrollbar,c=u.rect[this.axis[i].offsetAttr],d=parseInt(this.elStyles[this.axis[i].sizeAttr],10),f=this.contentWrapperEl[this.axis[i].scrollOffsetAttr],h=i==="y"?this.mouseY-c:this.mouseX-c,p=h<0?-1:1,v=p===-1?f-d:f+d,m=function y(){if(p===-1){if(f>v){var b;f-=o.options.clickOnTrackSpeed,o.contentWrapperEl.scrollTo((b={},b[o.axis[i].offsetAttr]=f,b)),a.requestAnimationFrame(y)}}else if(f<v){var x;f+=o.options.clickOnTrackSpeed,o.contentWrapperEl.scrollTo((x={},x[o.axis[i].offsetAttr]=f,x)),a.requestAnimationFrame(y)}};m()}},t.getContentElement=function(){return this.contentEl},t.getScrollElement=function(){return this.contentWrapperEl},t.getScrollbarWidth=function(){try{return getComputedStyle(this.contentWrapperEl,"::-webkit-scrollbar").display==="none"||"scrollbarWidth"in document.documentElement.style||"-ms-overflow-style"in document.documentElement.style?0:qM(this.el)}catch{return qM(this.el)}},t.removeListeners=function(){var n=this,i=kn(this.el);this.options.autoHide&&this.el.removeEventListener("mouseenter",this.onMouseEnter),["mousedown","click","dblclick"].forEach(function(o){n.el.removeEventListener(o,n.onPointerEvent,!0)}),["touchstart","touchend","touchmove"].forEach(function(o){n.el.removeEventListener(o,n.onPointerEvent,{capture:!0,passive:!0})}),this.el.removeEventListener("mousemove",this.onMouseMove),this.el.removeEventListener("mouseleave",this.onMouseLeave),this.contentWrapperEl&&this.contentWrapperEl.removeEventListener("scroll",this.onScroll),i.removeEventListener("resize",this.onWindowResize),this.mutationObserver&&this.mutationObserver.disconnect(),this.resizeObserver&&this.resizeObserver.disconnect(),this.recalculate.cancel(),this.onMouseMove.cancel(),this.hideScrollbars.cancel(),this.onWindowResize.cancel()},t.unMount=function(){this.removeListeners(),e.instances.delete(this.el)},t.isWithinBounds=function(n){return this.mouseX>=n.left&&this.mouseX<=n.left+n.width&&this.mouseY>=n.top&&this.mouseY<=n.top+n.height},t.findChild=function(n,i){var o=n.matches||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector;return Array.prototype.filter.call(n.children,function(a){return o.call(a,i)})[0]},e})();vc.defaultOptions={autoHide:!0,forceVisible:!1,clickOnTrack:!0,clickOnTrackSpeed:40,classNames:{contentEl:"simplebar-content",contentWrapper:"simplebar-content-wrapper",offset:"simplebar-offset",mask:"simplebar-mask",wrapper:"simplebar-wrapper",placeholder:"simplebar-placeholder",scrollbar:"simplebar-scrollbar",track:"simplebar-track",heightAutoObserverWrapperEl:"simplebar-height-auto-observer-wrapper",heightAutoObserverEl:"simplebar-height-auto-observer",visible:"simplebar-visible",horizontal:"simplebar-horizontal",vertical:"simplebar-vertical",hover:"simplebar-hover",dragging:"simplebar-dragging"},scrollbarMinSize:25,scrollbarMaxSize:0,timeout:1e3};vc.instances=new WeakMap;function kM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function Tu(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?kM(Object(r),!0).forEach(function(n){GJ(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):kM(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function GJ(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gc(){return gc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},gc.apply(this,arguments)}function KJ(e,t){if(e==null)return{};var r={},n=Object.keys(e),i,o;for(o=0;o<n.length;o++)i=n[o],!(t.indexOf(i)>=0)&&(r[i]=e[i]);return r}function YJ(e,t){if(e==null)return{};var r=KJ(e,t),n,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)n=o[i],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var XJ=["children","scrollableNodeProps","tag"],ZJ=function(t){var r=Array.prototype.reduce.call(t,function(n,i){var o=i.name.match(/data-simplebar-(.+)/);if(o){var a=o[1].replace(/\W+(.)/g,function(u,c){return c.toUpperCase()});switch(i.value){case"true":n[a]=!0;break;case"false":n[a]=!1;break;case void 0:n[a]=!0;break;default:n[a]=i.value}}return n},{});return r},fl=A.forwardRef(function(e,t){var r=e.children,n=e.scrollableNodeProps,i=n===void 0?{}:n,o=e.tag,a=o===void 0?"div":o,u=YJ(e,XJ),c=a,d,f=A.useRef(),h=A.useRef(),p=A.useRef(),v={},m={},y=[];return Object.keys(u).forEach(function(b){Object.prototype.hasOwnProperty.call(vc.defaultOptions,b)?v[b]=u[b]:b.match(/data-simplebar-(.+)/)&&b!=="data-simplebar-direction"?y.push({name:b,value:u[b]}):m[b]=u[b]}),y.length&&console.warn(`simplebar-react: this way of passing options is deprecated. Pass it like normal props instead:
|
|
70
70
|
'data-simplebar-auto-hide="false"' —> 'autoHide="false"'
|
|
71
|
-
`),A.useEffect(function(){return f=i.ref||f,h.current&&(d=new vc(h.current,Tu(Tu(Tu(Tu({},ZJ(y)),v),f&&{scrollableNode:f.current}),p.current&&{contentNode:p.current})),typeof t=="function"?t(d):t&&(t.current=d)),function(){d.unMount(),d=null,typeof t=="function"&&t(null)}},[]),A.createElement(c,gc({ref:h,"data-simplebar":!0},m),A.createElement("div",{className:"simplebar-wrapper"},A.createElement("div",{className:"simplebar-height-auto-observer-wrapper"},A.createElement("div",{className:"simplebar-height-auto-observer"})),A.createElement("div",{className:"simplebar-mask"},A.createElement("div",{className:"simplebar-offset"},typeof r=="function"?r({scrollableNodeRef:f,contentNodeRef:p}):A.createElement("div",gc({},i,{className:"simplebar-content-wrapper".concat(i.className?" ".concat(i.className):"")}),A.createElement("div",{className:"simplebar-content"},r)))),A.createElement("div",{className:"simplebar-placeholder"})),A.createElement("div",{className:"simplebar-track simplebar-horizontal"},A.createElement("div",{className:"simplebar-scrollbar"})),A.createElement("div",{className:"simplebar-track simplebar-vertical"},A.createElement("div",{className:"simplebar-scrollbar"})))});fl.displayName="SimpleBar";fl.propTypes={children:le.oneOfType([le.node,le.func]),scrollableNodeProps:le.object,tag:le.string};const mc=Hx,yc=Ux,Vk=(e,t)=>{if(e===Z.EPermissionType.METHOD&&t)switch(t){case Z.ESubPermissionType.ENTITY_SEL_METHOD:return C.jsx(ye.FdFunctionSelection,{className:"h-6 w-6"});case Z.ESubPermissionType.ENTITY_METHOD:return C.jsx(ye.FdFunctionEntity,{className:"h-6 w-6"});case Z.ESubPermissionType.DS_METHOD:return C.jsx(ye.FdFunctionDatastore,{className:"h-6 w-6"});case Z.ESubPermissionType.DATACLASS_METHOD:return C.jsx(ye.FdFunctionDataclass,{className:"h-6 w-6"})}switch(e){case Z.EPermissionType.DATACLASS:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"});case Z.EPermissionType.SINGLETON:return C.jsx(ye.FdSingleton,{className:"h-6 w-6"});case Z.EPermissionType.DATASTORE:return C.jsx(ye.FdModel3,{className:"h-6 w-6"});case Z.EPermissionType.ATTRIBUTE:return C.jsx(ye.FdTableColumn,{className:"h-6 w-6"});case Z.EPermissionType.METHOD:return C.jsx(ye.FdCode,{className:"h-6 w-6"});case Z.EPermissionType.SINGLETON_METHOD:return C.jsx(ye.FdFunctionSingleton,{className:"h-6 w-6"});default:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"})}},LM=({children:e})=>C.jsx("div",{className:"h-full w-full",children:C.jsx("div",{className:"flex h-full w-full flex-1 items-center justify-center bg-grey-800",children:C.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-4 text-grey-200",children:[C.jsx(ye.FdInfoBold,{className:"h-10 w-10"}),C.jsx("div",{className:"text-center text-sm",children:e})]})})});function JJ(e){const{isIndeterminate:t,isChecked:r,...n}=e,i=t?"M22.5 12C22.5 17.799 17.799 22.5 12 22.5C6.20101 22.5 1.5 17.799 1.5 12C1.5 6.20101 6.20101 1.5 12 1.5C17.799 1.5 22.5 6.20101 22.5 12Z":"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z";return C.jsx(Me.BaseCheckboxIcon,{viewBox:"0 0 24 24",...n,children:C.jsx("path",{fill:t?"transparent":"currentColor",d:i,stroke:t?"currentColor":void 0,strokeWidth:t?3:void 0})})}function QJ(e){return C.jsx(Me.Checkbox,{icon:C.jsx(JJ,{}),...e})}const Xi=({permissions:e,label:t,onToggle:r,onSelect:n,promoted:i,showIncluded:o,privileges:a,exists:u})=>{const c=e.find(d=>d.name===t);return c?C.jsxs("div",{className:"relative mx-auto flex w-fit items-center",children:[c.checked||c.from.length===0||t==="promote"?C.jsx(Me.Checkbox,{isChecked:c.checked,onChange:()=>r&&r(c),isInvalid:u===!1}):C.jsx(QJ,{isIndeterminate:o&&c.from.length>0,onChange:()=>r&&r(c),isInvalid:u===!1}),C.jsxs("div",{className:"absolute left-5 top-0 flex cursor-pointer items-center space-x-1",children:[t!=="promote"&&(c.checked&&(c.info||c.from.length>0)||!c.checked&&c.from.length>0)&&C.jsx(C.Fragment,{children:C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsxs("div",{className:"space-y-1 px-2",children:[c.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:c.from.map(d=>C.jsx("li",{className:"cursor-pointer list-disc font-bold hover:underline",onClick:()=>n(a[d].id),children:a[d].privilege}))})]})]}):null,c.info&&C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdInfoCircle,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"})," ",c.info]})]})})})]})}),(c.checked||c.from.length>0)&&["execute"].includes(t)&&!!(i!=null&&i.length)&&C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx(ye.FdCrown,{className:"h-3 w-3 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdInfoCircle,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsxs("span",{className:"mr-1",children:["Function is promoted with:"," "]}),i==null?void 0:i.map(d=>C.jsx("li",{className:"cursor-pointer list-disc font-bold hover:underline",onClick:()=>n(a[d].id),children:a[d].privilege}))]})]})})})})]})]})]}):null},eQ=({privilegeId:e,privileges:t})=>{const r=Z.useAppSelector(Z.selectCatalogMethods),n=Z.useAppSelector(Z.selectDataclasses),i=Z.useAppSelector(Z.selectSingletons),o=t[e],a=Z.useAppDispatch(),[u,c]=A.useState([]),[d,f]=A.useState("");A.useEffect(()=>{f("")},[e]);const{isOpen:h,getMenuProps:p,getInputProps:v,getComboboxProps:m,highlightedIndex:y,getItemProps:b,selectedItem:x,openMenu:w}=to({onInputValueChange(){c([])},items:[],itemToString(_){return _?_.applyTo:""},defaultHighlightedIndex:0,stateReducer:(_,R)=>{const{changes:P,type:N}=R;switch(N){case to.stateChangeTypes.InputKeyDownArrowDown:return{...P,isOpen:!0,highlightedIndex:_.highlightedIndex<=u.length?_.highlightedIndex+1:0};case to.stateChangeTypes.InputKeyDownArrowUp:return{...P,isOpen:!0,highlightedIndex:_.highlightedIndex>=0?_.highlightedIndex-1:u.length};case to.stateChangeTypes.InputKeyDownEnter:const j=u[_.highlightedIndex];if(!j)return P;const L=Z.addPermission(e,j,t);return a(Z.updatePrivileges(L)),{...P,isOpen:!0,highlightedIndex:0}}return P}});A.useEffect(()=>{const _=o.resources.map(({resource:P,type:N,subType:j})=>({type:N,applyTo:P,subType:j})),R=Ax(d.toLowerCase(),r,Object.values(n),Object.values(i));c(R.filter(({applyTo:P,type:N,subType:j})=>!ow.find(_,{applyTo:P,type:N,subType:j})))},[d,o.resources]);const S=p({},{suppressRefError:!0}),E=A.useRef(null);return A.useEffect(()=>{h&&E.current&&E.current.focus()},[h]),C.jsxs("div",{className:"relative w-56 text-white group",...m(),children:[C.jsx("div",{...m(),children:C.jsx("input",{...v(),ref:E,type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-2 pr-5 text-xs border-grey-500 focus:outline-none focus:ring-1 focus:ring-white focus:rounded-b-none focus:ring-inset",placeholder:"Create a permission",value:d,onChange:({target:{value:_}})=>f(_),onFocus:()=>{w()}})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-1",children:C.jsx(ye.FdDown,{className:"h-4 w-4 cursor-pointer",onMouseDown:_=>{_.preventDefault()},onClick:()=>{w()}})}),h&&C.jsx("ul",{...S,tabIndex:0,className:"absolute max-h-80 inset-x-0 top-full overflow-auto rounded-md border border-grey-50 bg-grey-900 p-0 text-grey-50 shadow-md group-focus-within:rounded-t-none group-focus-within:border-t-0",children:u.map((_,R)=>C.jsxs("li",{className:Ve(x===_&&"font-bold","flex min-w-fit cursor-pointer items-center space-x-2 px-3 py-2 text-xs shadow-sm",{"bg-primary-hover":y===R,"font-bold":x===_}),...b({item:_,index:R}),onClick:()=>{const P=Z.addPermission(e,_,t);a(Z.updatePrivileges(P))},children:[Vk(_.type,_.subType),C.jsx("span",{children:_.applyTo})]},`${_.applyTo}-${R}`))})]})};function tQ(e){const t=["datastore","singleton","dataclass","attribute","dsMethod","dataclassMethod","entityMethod","entityselMethod","singletonMethod"],r=e.reduce((n,i)=>{const[o]=i.resource.split("."),a=n.find(u=>u.prefix===o.toLowerCase());return a?(a.resources.push(i),n):[...n,{prefix:o.toLowerCase(),type:i.type,resources:[i]}]},[]);return r.sort((n,i)=>n.prefix==="ds"?-1:i.prefix==="ds"||n.prefix>i.prefix?1:-1),r.map(n=>({...n,resources:n.resources.sort((i,o)=>{const a=t.indexOf(i.type),u=t.indexOf(o.type);return a!==u?a-u:i.resource.toLowerCase()>o.resource.toLowerCase()?1:-1})})).reduce((n,i)=>[...n,...i.resources],[])}const rQ=({selectedPrivilege:e,onSelect:t,showIncluded:r,privileges:n})=>{const[i,o]=A.useState(null),[a,u]=A.useState(null),{styles:c,attributes:d}=xc(i,a,{modifiers:[{name:"offset",options:{offset:[0,10]}}]}),[f,h]=A.useState([]),[p,v]=A.useState(""),m=Z.useAppDispatch(),{id:y}=e,b=A.useMemo(()=>Z.getInheritedResources(y,n),[y,n[y].includes,n[y].resources]),x=A.useMemo(()=>Z.getPromotions(y,n),[n[y]]);function w(k){h(D=>D.some(T=>k.includes(T))?D.filter(T=>!k.includes(T)):[...D,...k])}const S=async k=>{const{confirmed:D}=await m(Z.openModal({title:"Delete Privilege",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove this Privilege?",icon:"FdWarningDanger"})).unwrap();if(D){const T=Z.removePermission(e.id,k,n);m(Z.updatePrivileges(T))}},E=async()=>{const{confirmed:k}=await m(Z.openModal({title:"Reset Permissions",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to reset permissions for this Privilege?",icon:"FdWarningDanger"})).unwrap();if(k){const D=Z.resetResources(e.id,n);m(Z.updatePrivileges(D))}},R=b.filter(k=>f.length===0?!0:f.includes(k.type)).filter(({resource:k})=>p?new RegExp(ow.escapeRegExp(p),"i").test(k):!0),P=tQ(R),N=P.filter(k=>{const D=k.permissions.every(T=>!T.checked)&&k.permissions.some(T=>T.from.length>0);return r||!D}),j=(k,D)=>{const T=Z.togglePermission(e.id,k,D,n);m(Z.updatePrivileges(T))},L=A.useMemo(()=>N.some(k=>k.exists===!1),[N]),F=async()=>{const{confirmed:k}=await m(Z.openModal({title:"Delete Privilege",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove these permissions?",views:{tips:[{type:"warning",message:"This action will remove all permissions that don't exist in the catalog for all privileges"}]},icon:"FdWarningDanger"})).unwrap(),D=Object.entries(n).map(([T,B])=>{const $=B.resources.filter(W=>!W.exists);return{[T]:$.map(W=>({applyTo:W.resource,type:W.type}))}}).reduce((T,B)=>({...T,...B}),{});if(k){const T=Z.removeMultiplePermissions(D,n);m(Z.updatePrivileges(T))}};return C.jsxs(fl,{className:"z-20 h-full flex-1 overflow-auto bg-grey-800 p-[15px] pt-0",style:{maxHeight:"calc(100vh - 5.5rem - 85px - 20px)"},children:[C.jsxs("table",{className:"relative h-full w-full",children:[C.jsx("thead",{className:"sticky top-0 z-20 bg-grey-800",children:C.jsxs("tr",{className:"border-b border-grey-100",children:[C.jsx("td",{className:"py-2",children:C.jsxs("div",{className:"flex items-center space-x-2",children:[C.jsxs("div",{className:"relative w-56 text-white",children:[C.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center px-1",children:C.jsx(ye.FdSearch,{className:"h-4 w-4 text-gray-400"})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-2",children:C.jsx(wr.Popover,{className:"flex items-center",children:({open:k})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{ref:o,children:C.jsx(ye.FdAdjust,{className:"h-4 w-4"})}),k&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:u,style:c.popper,...d.popper,className:"z-50 rounded-md border border-grey-50 bg-grey-900 px-4 py-2.5 text-xs text-grey-50",static:!0,children:[C.jsx("h5",{className:"mb-2 text-sm",children:"Filter"}),C.jsxs("div",{className:"space-y-2 text-s",children:[C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("datastore"),onChange:()=>{w(["datastore"])},label:"Datastore"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("dataclass"),onChange:()=>{w(["dataclass"])},label:"Dataclass"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("singleton"),onChange:()=>{w(["singleton"])},label:"Singleton"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.some(D=>["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"].includes(D)),onChange:()=>{w(["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"])},label:"Functions"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("attribute"),onChange:()=>{w(["attribute"])},label:"Attribute"})})]})]})})]})})}),C.jsx("input",{type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-6 text-xs focus:outline-none",placeholder:"Search available permissions",value:p,onChange:k=>{v(k.target.value)}})]}),C.jsx(eQ,{privilegeId:y,privileges:n}),C.jsx("div",{children:C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx("button",{className:"flex h-6 items-center space-x-1 rounded-md px-2 text-sm text-grey-50 hover:bg-primary-hover",onClick:E,children:C.jsx(ye.FdReload,{})})}),C.jsx(jr,{container:Bt(),children:C.jsxs(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"mb-1 flex max-w-xs items-center gap-x-1 rounded bg-primary-light px-2 py-2 text-s font-semibold text-primary-darker",children:[C.jsx(ye.FdBulb,{className:"m-0.5 h-4 w-4 flex-shrink-0"}),C.jsx("p",{children:"Resetting the privilege will remove all configured ressources"})]})})]})}),C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx("button",{className:Ve("flex h-6 items-center space-x-1 rounded-md px-2 text-sm text-grey-50 hover:bg-primary-hover disabled:opacity-50 disabled:hover:bg-primary-dark"),onClick:F,disabled:!L,children:C.jsx(ye.FdClean,{className:"h-4 w-4"})})}),C.jsx(jr,{container:Bt(),children:C.jsxs(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"mb-1 flex max-w-xs items-center gap-x-1 rounded bg-primary-light px-2 py-2 text-s font-semibold text-primary-darker",children:[C.jsx(ye.FdBulb,{className:"m-0.5 h-4 w-4 flex-shrink-0"}),C.jsx("p",{children:"Delete all the non existing resources from privileges"})]})})]})]})}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Read"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Create"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Update"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Delete"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Execute"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Promote"})]})}),N.length?C.jsx("tbody",{children:N.map((k,D)=>{const T=k.permissions.some(B=>B.from.length>0);return C.jsxs("tr",{className:Ve("group even:bg-grey-600",{"opacity-60":k.exists===!1}),children:[C.jsxs("td",{className:Ve("group flex items-center gap-3 py-2 text-xs group-hover:rounded-l group-hover:bg-grey-300",k.exists===!1?"text-negative-400":"text-white",{"border-b-[0.5px] border-grey-300":!1}),children:[Vk(k.type,k.subType),k.resource,C.jsx(Me.Tooltip,{placement:"top",label:"Remove Permission",isDisabled:T,container:Bt(),children:C.jsx("button",{onClick:()=>{T?Me.toastSubject.next({kind:"info",markdown:!0,message:`<div className="flex gap-x-3"><h3 className="font-bold">Info:</h3><p className="font-normal">Inherited permissions can't be removed</p></div>`,customIcon:ye.FdInfoBold}):S({applyTo:k.resource,type:k.type})},className:Ve("flex flex-shrink-0 items-center justify-center rounded p-1 opacity-0 group-hover:opacity-100",T?"hover:bg-grey-300 group-hover:opacity-70":"hover:bg-primary-hover"),children:C.jsx(ye.FdPlus,{className:"h-4 w-4 rotate-45 transform text-white"})})})]}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"read",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"create",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"update",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"drop",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{promoted:x[k.resource],permissions:k.permissions,showIncluded:r,label:"execute",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:rounded-r group-hover:bg-grey-300 ",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"promote",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})})]},D)})}):null]}),!P.length&&p?C.jsx(LM,{children:"The Permission you're looking for can't be found "}):null,!P.length&&!p?C.jsxs(LM,{children:["This Privilege has no Permissions configured yet ",C.jsx("br",{}),'Add a new permission by using the "Create a permission" input above']}):null]})},nQ=({onCreate:e})=>{const t=Z.useAppSelector(Z.selectPrivileges),r=Z.useAppDispatch(),[n,i]=A.useState(null),[o,a]=A.useState(null),[u,c]=A.useState(""),[d,f]=A.useState(null),{styles:h,attributes:p}=xc(n,o,{modifiers:[{name:"offset",options:{offset:[-10,10]}}],placement:"right-start"});return A.useEffect(()=>{c(""),f(null)},[o]),C.jsx(wr.Popover,{children:({open:v,close:m})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{className:"rounded p-1 hover:bg-primary-hover","data-cy":"New-priv-btn",ref:i,children:C.jsx("span",{children:C.jsx(ye.FdPlus,{className:"h-4 w-4 text-white"})})}),v&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:a,style:h.popper,...p.popper,"data-cy":"New-priv-pop-up",className:"z-50 min-w-[256px] rounded border border-grey-50 bg-grey-900 px-4 py-2 text-xs text-grey-50 shadow-md",static:!0,children:[C.jsx("h5",{className:"mb-2 text-xs font-semibold",children:"Create New Privilege"}),C.jsxs("div",{className:"mt-2",children:[C.jsxs("label",{className:"flex items-center space-x-4",children:[C.jsx("span",{className:"text-grey-100",children:"Name"}),C.jsx("input",{autoFocus:!0,value:u,onChange:y=>c(y.target.value),onKeyDown:y=>{if(y.key==="Enter"){f(null);try{const b=Z.create(u,t),x=r(Z.updatePrivileges(b)),w=Object.values(x.payload).find(S=>S.privilege===u);w&&(e(w),m())}catch(b){f(b.message)}}},type:"text",className:Ve("w-full rounded border bg-grey-300 p-1 focus:outline-none",{"border-grey-100":!d,"border-red-400":d})})]}),d&&C.jsx("p",{className:"mt-1 text-xs text-red-400",children:d})]}),C.jsxs("div",{className:"mt-4 flex items-center justify-center space-x-2",children:[C.jsx("button",{className:"rounded border border-primary-dark bg-primary-dark px-4 py-1 hover:border-primary-hover hover:bg-primary-hover",onClick:()=>{f(null);try{const y=Z.create(u,t),b=r(Z.updatePrivileges(y)),x=Object.values(b.payload).find(w=>w.privilege===u);x&&e(x),m()}catch(y){f(y.message)}},children:"Create"}),C.jsx("button",{className:"rounded border border-grey-100 px-4 py-1 text-grey-100 hover:bg-white hover:text-primary-dark",onClick:()=>m(),children:"Cancel"})]})]})})]})})},iQ=()=>{const e=Z.useAppSelector(Z.selectCatalog),t=Z.useAppSelector(Z.selectPrivileges),r=A.useMemo(()=>{if(e===null)return t;const c=Dq(t,Object.values((e==null?void 0:e.dataClasses)??{}));return jq(c,e)},[t,e]),[n,i]=A.useState(null),o=A.useMemo(()=>Object.keys(r),[r]);A.useEffect(()=>{n&&r[n.id]||!o.length||i(r[o[0]])},[r]),A.useEffect(()=>{o.length<2&&u(!0)},[o.length]);const[a,u]=A.useState(!0);return C.jsxs("div",{className:"flex flex-1 h-full",children:[C.jsxs("div",{className:"flex h-full w-[356px] flex-col bg-grey-800",children:[C.jsxs("div",{className:"flex flex-shrink-0 items-center justify-between bg-grey-800 px-3.5 py-[10px]",children:[C.jsxs("div",{className:"flex items-center space-x-1 text-[#DDE1E6]",children:[C.jsx("span",{children:C.jsx(ye.FdGroup,{className:"h-[14px] w-[14px]"})}),C.jsx("span",{className:"text-[11px] font-semibold",children:"Privileges"})]}),C.jsx(nQ,{onCreate:c=>{i(c)}})]}),C.jsx(wX,{privileges:r,selectedPrivilege:n,selectPrivilege:c=>{i(c)}})]}),n&&r[n.id]?C.jsxs("div",{className:"privileges-container relative flex flex-1 flex-col overflow-x-auto border-l-[0.5px] border-grey-900 bg-grey-800",children:[C.jsxs("div",{className:"mb-1 flex h-full w-full flex-col items-stretch",children:[n.privilege!=="guest"?C.jsx(y9,{privileges:r,selectedPrivilege:n,onSelect:c=>i(t[c]),setShowIncluded:u,showIncluded:a}):null,C.jsx(rQ,{privileges:r,selectedPrivilege:n,onSelect:c=>i(t[c]),showIncluded:a})]}),C.jsx(oQ,{privileges:r,selectedPrivilege:n,setSelectedPrivilege:i})]}):C.jsx(bD,{tab:"Privilege"})]})},oQ=({privileges:e,selectedPrivilege:t,setSelectedPrivilege:r})=>{const[n,i]=A.useState(!1);return C.jsx(Me.Panel,{path:Me.ROLES_TAB_PATH,isOpen:n,onOpen:()=>i(!0),onClose:()=>i(!1),children:C.jsx("div",{className:"h-full w-full px-3 pb-3",children:C.jsx("div",{className:"h-full w-full rounded bg-grey-900",children:C.jsx(v9,{dict:e,data:Z.getGraphData(t.id,e),onSelect:o=>r(e[o])})})})})};var yb={},ia={},Au={},BM;function Wk(){if(BM)return Au;BM=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.default=r;let e;const t=new Uint8Array(16);function r(){if(!e&&(e=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}return Au}var Zi={},oa={},aa={},FM;function aQ(){if(FM)return aa;FM=1,Object.defineProperty(aa,"__esModule",{value:!0}),aa.default=void 0;var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return aa.default=e,aa}var $M;function dl(){if($M)return oa;$M=1,Object.defineProperty(oa,"__esModule",{value:!0}),oa.default=void 0;var e=t(aQ());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){return typeof i=="string"&&e.default.test(i)}var n=r;return oa.default=n,oa}var zM;function hl(){if(zM)return Zi;zM=1,Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.default=void 0,Zi.unsafeStringify=n;var e=t(dl());function t(a){return a&&a.__esModule?a:{default:a}}const r=[];for(let a=0;a<256;++a)r.push((a+256).toString(16).slice(1));function n(a,u=0){return r[a[u+0]]+r[a[u+1]]+r[a[u+2]]+r[a[u+3]]+"-"+r[a[u+4]]+r[a[u+5]]+"-"+r[a[u+6]]+r[a[u+7]]+"-"+r[a[u+8]]+r[a[u+9]]+"-"+r[a[u+10]]+r[a[u+11]]+r[a[u+12]]+r[a[u+13]]+r[a[u+14]]+r[a[u+15]]}function i(a,u=0){const c=n(a,u);if(!(0,e.default)(c))throw TypeError("Stringified UUID is invalid");return c}var o=i;return Zi.default=o,Zi}var HM;function sQ(){if(HM)return ia;HM=1,Object.defineProperty(ia,"__esModule",{value:!0}),ia.default=void 0;var e=r(Wk()),t=hl();function r(d){return d&&d.__esModule?d:{default:d}}let n,i,o=0,a=0;function u(d,f,h){let p=f&&h||0;const v=f||new Array(16);d=d||{};let m=d.node||n,y=d.clockseq!==void 0?d.clockseq:i;if(m==null||y==null){const _=d.random||(d.rng||e.default)();m==null&&(m=n=[_[0]|1,_[1],_[2],_[3],_[4],_[5]]),y==null&&(y=i=(_[6]<<8|_[7])&16383)}let b=d.msecs!==void 0?d.msecs:Date.now(),x=d.nsecs!==void 0?d.nsecs:a+1;const w=b-o+(x-a)/1e4;if(w<0&&d.clockseq===void 0&&(y=y+1&16383),(w<0||b>o)&&d.nsecs===void 0&&(x=0),x>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");o=b,a=x,i=y,b+=122192928e5;const S=((b&268435455)*1e4+x)%4294967296;v[p++]=S>>>24&255,v[p++]=S>>>16&255,v[p++]=S>>>8&255,v[p++]=S&255;const E=b/4294967296*1e4&268435455;v[p++]=E>>>8&255,v[p++]=E&255,v[p++]=E>>>24&15|16,v[p++]=E>>>16&255,v[p++]=y>>>8|128,v[p++]=y&255;for(let _=0;_<6;++_)v[p+_]=m[_];return f||(0,t.unsafeStringify)(v)}var c=u;return ia.default=c,ia}var sa={},Ln={},ua={},UM;function Gk(){if(UM)return ua;UM=1,Object.defineProperty(ua,"__esModule",{value:!0}),ua.default=void 0;var e=t(dl());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){if(!(0,e.default)(i))throw TypeError("Invalid UUID");let o;const a=new Uint8Array(16);return a[0]=(o=parseInt(i.slice(0,8),16))>>>24,a[1]=o>>>16&255,a[2]=o>>>8&255,a[3]=o&255,a[4]=(o=parseInt(i.slice(9,13),16))>>>8,a[5]=o&255,a[6]=(o=parseInt(i.slice(14,18),16))>>>8,a[7]=o&255,a[8]=(o=parseInt(i.slice(19,23),16))>>>8,a[9]=o&255,a[10]=(o=parseInt(i.slice(24,36),16))/1099511627776&255,a[11]=o/4294967296&255,a[12]=o>>>24&255,a[13]=o>>>16&255,a[14]=o>>>8&255,a[15]=o&255,a}var n=r;return ua.default=n,ua}var VM;function Kk(){if(VM)return Ln;VM=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.URL=Ln.DNS=void 0,Ln.default=a;var e=hl(),t=r(Gk());function r(u){return u&&u.__esModule?u:{default:u}}function n(u){u=unescape(encodeURIComponent(u));const c=[];for(let d=0;d<u.length;++d)c.push(u.charCodeAt(d));return c}const i="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Ln.DNS=i;const o="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Ln.URL=o;function a(u,c,d){function f(h,p,v,m){var y;if(typeof h=="string"&&(h=n(h)),typeof p=="string"&&(p=(0,t.default)(p)),((y=p)===null||y===void 0?void 0:y.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let b=new Uint8Array(16+h.length);if(b.set(p),b.set(h,p.length),b=d(b),b[6]=b[6]&15|c,b[8]=b[8]&63|128,v){m=m||0;for(let x=0;x<16;++x)v[m+x]=b[x];return v}return(0,e.unsafeStringify)(b)}try{f.name=u}catch{}return f.DNS=i,f.URL=o,f}return Ln}var ca={},WM;function uQ(){if(WM)return ca;WM=1,Object.defineProperty(ca,"__esModule",{value:!0}),ca.default=void 0;function e(v){if(typeof v=="string"){const m=unescape(encodeURIComponent(v));v=new Uint8Array(m.length);for(let y=0;y<m.length;++y)v[y]=m.charCodeAt(y)}return t(n(i(v),v.length*8))}function t(v){const m=[],y=v.length*32,b="0123456789abcdef";for(let x=0;x<y;x+=8){const w=v[x>>5]>>>x%32&255,S=parseInt(b.charAt(w>>>4&15)+b.charAt(w&15),16);m.push(S)}return m}function r(v){return(v+64>>>9<<4)+14+1}function n(v,m){v[m>>5]|=128<<m%32,v[r(m)-1]=m;let y=1732584193,b=-271733879,x=-1732584194,w=271733878;for(let S=0;S<v.length;S+=16){const E=y,_=b,R=x,P=w;y=c(y,b,x,w,v[S],7,-680876936),w=c(w,y,b,x,v[S+1],12,-389564586),x=c(x,w,y,b,v[S+2],17,606105819),b=c(b,x,w,y,v[S+3],22,-1044525330),y=c(y,b,x,w,v[S+4],7,-176418897),w=c(w,y,b,x,v[S+5],12,1200080426),x=c(x,w,y,b,v[S+6],17,-1473231341),b=c(b,x,w,y,v[S+7],22,-45705983),y=c(y,b,x,w,v[S+8],7,1770035416),w=c(w,y,b,x,v[S+9],12,-1958414417),x=c(x,w,y,b,v[S+10],17,-42063),b=c(b,x,w,y,v[S+11],22,-1990404162),y=c(y,b,x,w,v[S+12],7,1804603682),w=c(w,y,b,x,v[S+13],12,-40341101),x=c(x,w,y,b,v[S+14],17,-1502002290),b=c(b,x,w,y,v[S+15],22,1236535329),y=d(y,b,x,w,v[S+1],5,-165796510),w=d(w,y,b,x,v[S+6],9,-1069501632),x=d(x,w,y,b,v[S+11],14,643717713),b=d(b,x,w,y,v[S],20,-373897302),y=d(y,b,x,w,v[S+5],5,-701558691),w=d(w,y,b,x,v[S+10],9,38016083),x=d(x,w,y,b,v[S+15],14,-660478335),b=d(b,x,w,y,v[S+4],20,-405537848),y=d(y,b,x,w,v[S+9],5,568446438),w=d(w,y,b,x,v[S+14],9,-1019803690),x=d(x,w,y,b,v[S+3],14,-187363961),b=d(b,x,w,y,v[S+8],20,1163531501),y=d(y,b,x,w,v[S+13],5,-1444681467),w=d(w,y,b,x,v[S+2],9,-51403784),x=d(x,w,y,b,v[S+7],14,1735328473),b=d(b,x,w,y,v[S+12],20,-1926607734),y=f(y,b,x,w,v[S+5],4,-378558),w=f(w,y,b,x,v[S+8],11,-2022574463),x=f(x,w,y,b,v[S+11],16,1839030562),b=f(b,x,w,y,v[S+14],23,-35309556),y=f(y,b,x,w,v[S+1],4,-1530992060),w=f(w,y,b,x,v[S+4],11,1272893353),x=f(x,w,y,b,v[S+7],16,-155497632),b=f(b,x,w,y,v[S+10],23,-1094730640),y=f(y,b,x,w,v[S+13],4,681279174),w=f(w,y,b,x,v[S],11,-358537222),x=f(x,w,y,b,v[S+3],16,-722521979),b=f(b,x,w,y,v[S+6],23,76029189),y=f(y,b,x,w,v[S+9],4,-640364487),w=f(w,y,b,x,v[S+12],11,-421815835),x=f(x,w,y,b,v[S+15],16,530742520),b=f(b,x,w,y,v[S+2],23,-995338651),y=h(y,b,x,w,v[S],6,-198630844),w=h(w,y,b,x,v[S+7],10,1126891415),x=h(x,w,y,b,v[S+14],15,-1416354905),b=h(b,x,w,y,v[S+5],21,-57434055),y=h(y,b,x,w,v[S+12],6,1700485571),w=h(w,y,b,x,v[S+3],10,-1894986606),x=h(x,w,y,b,v[S+10],15,-1051523),b=h(b,x,w,y,v[S+1],21,-2054922799),y=h(y,b,x,w,v[S+8],6,1873313359),w=h(w,y,b,x,v[S+15],10,-30611744),x=h(x,w,y,b,v[S+6],15,-1560198380),b=h(b,x,w,y,v[S+13],21,1309151649),y=h(y,b,x,w,v[S+4],6,-145523070),w=h(w,y,b,x,v[S+11],10,-1120210379),x=h(x,w,y,b,v[S+2],15,718787259),b=h(b,x,w,y,v[S+9],21,-343485551),y=o(y,E),b=o(b,_),x=o(x,R),w=o(w,P)}return[y,b,x,w]}function i(v){if(v.length===0)return[];const m=v.length*8,y=new Uint32Array(r(m));for(let b=0;b<m;b+=8)y[b>>5]|=(v[b/8]&255)<<b%32;return y}function o(v,m){const y=(v&65535)+(m&65535);return(v>>16)+(m>>16)+(y>>16)<<16|y&65535}function a(v,m){return v<<m|v>>>32-m}function u(v,m,y,b,x,w){return o(a(o(o(m,v),o(b,w)),x),y)}function c(v,m,y,b,x,w,S){return u(m&y|~m&b,v,m,x,w,S)}function d(v,m,y,b,x,w,S){return u(m&b|y&~b,v,m,x,w,S)}function f(v,m,y,b,x,w,S){return u(m^y^b,v,m,x,w,S)}function h(v,m,y,b,x,w,S){return u(y^(m|~b),v,m,x,w,S)}var p=e;return ca.default=p,ca}var GM;function cQ(){if(GM)return sa;GM=1,Object.defineProperty(sa,"__esModule",{value:!0}),sa.default=void 0;var e=r(Kk()),t=r(uQ());function r(o){return o&&o.__esModule?o:{default:o}}var i=(0,e.default)("v3",48,t.default);return sa.default=i,sa}var la={},fa={},KM;function lQ(){if(KM)return fa;KM=1,Object.defineProperty(fa,"__esModule",{value:!0}),fa.default=void 0;var t={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};return fa.default=t,fa}var YM;function fQ(){if(YM)return la;YM=1,Object.defineProperty(la,"__esModule",{value:!0}),la.default=void 0;var e=n(lQ()),t=n(Wk()),r=hl();function n(a){return a&&a.__esModule?a:{default:a}}function i(a,u,c){if(e.default.randomUUID&&!u&&!a)return e.default.randomUUID();a=a||{};const d=a.random||(a.rng||t.default)();if(d[6]=d[6]&15|64,d[8]=d[8]&63|128,u){c=c||0;for(let f=0;f<16;++f)u[c+f]=d[f];return u}return(0,r.unsafeStringify)(d)}var o=i;return la.default=o,la}var da={},ha={},XM;function dQ(){if(XM)return ha;XM=1,Object.defineProperty(ha,"__esModule",{value:!0}),ha.default=void 0;function e(i,o,a,u){switch(i){case 0:return o&a^~o&u;case 1:return o^a^u;case 2:return o&a^o&u^a&u;case 3:return o^a^u}}function t(i,o){return i<<o|i>>>32-o}function r(i){const o=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const f=unescape(encodeURIComponent(i));i=[];for(let h=0;h<f.length;++h)i.push(f.charCodeAt(h))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const u=i.length/4+2,c=Math.ceil(u/16),d=new Array(c);for(let f=0;f<c;++f){const h=new Uint32Array(16);for(let p=0;p<16;++p)h[p]=i[f*64+p*4]<<24|i[f*64+p*4+1]<<16|i[f*64+p*4+2]<<8|i[f*64+p*4+3];d[f]=h}d[c-1][14]=(i.length-1)*8/Math.pow(2,32),d[c-1][14]=Math.floor(d[c-1][14]),d[c-1][15]=(i.length-1)*8&4294967295;for(let f=0;f<c;++f){const h=new Uint32Array(80);for(let x=0;x<16;++x)h[x]=d[f][x];for(let x=16;x<80;++x)h[x]=t(h[x-3]^h[x-8]^h[x-14]^h[x-16],1);let p=a[0],v=a[1],m=a[2],y=a[3],b=a[4];for(let x=0;x<80;++x){const w=Math.floor(x/20),S=t(p,5)+e(w,v,m,y)+b+o[w]+h[x]>>>0;b=y,y=m,m=t(v,30)>>>0,v=p,p=S}a[0]=a[0]+p>>>0,a[1]=a[1]+v>>>0,a[2]=a[2]+m>>>0,a[3]=a[3]+y>>>0,a[4]=a[4]+b>>>0}return[a[0]>>24&255,a[0]>>16&255,a[0]>>8&255,a[0]&255,a[1]>>24&255,a[1]>>16&255,a[1]>>8&255,a[1]&255,a[2]>>24&255,a[2]>>16&255,a[2]>>8&255,a[2]&255,a[3]>>24&255,a[3]>>16&255,a[3]>>8&255,a[3]&255,a[4]>>24&255,a[4]>>16&255,a[4]>>8&255,a[4]&255]}var n=r;return ha.default=n,ha}var ZM;function hQ(){if(ZM)return da;ZM=1,Object.defineProperty(da,"__esModule",{value:!0}),da.default=void 0;var e=r(Kk()),t=r(dQ());function r(o){return o&&o.__esModule?o:{default:o}}var i=(0,e.default)("v5",80,t.default);return da.default=i,da}var pa={},JM;function pQ(){if(JM)return pa;JM=1,Object.defineProperty(pa,"__esModule",{value:!0}),pa.default=void 0;var e="00000000-0000-0000-0000-000000000000";return pa.default=e,pa}var va={},QM;function vQ(){if(QM)return va;QM=1,Object.defineProperty(va,"__esModule",{value:!0}),va.default=void 0;var e=t(dl());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){if(!(0,e.default)(i))throw TypeError("Invalid UUID");return parseInt(i.slice(14,15),16)}var n=r;return va.default=n,va}var eD;function gQ(){return eD||(eD=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NIL",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"version",{enumerable:!0,get:function(){return a.default}});var t=f(sQ()),r=f(cQ()),n=f(fQ()),i=f(hQ()),o=f(pQ()),a=f(vQ()),u=f(dl()),c=f(hl()),d=f(Gk());function f(h){return h&&h.__esModule?h:{default:h}}})(yb)),yb}var bb,tD;function mQ(){if(tD)return bb;tD=1;function e(t,r){if(!t||!r||!t.length||!r.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=r}return e.prototype.convert=function(t){var r,n,i,o={},a=this.srcAlphabet.length,u=this.dstAlphabet.length,c=t.length,d=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(r=0;r<c;r++)o[r]=this.srcAlphabet.indexOf(t[r]);do{for(n=0,i=0,r=0;r<c;r++)n=n*a+o[r],n>=u?(o[i++]=parseInt(n/u,10),n=n%u):i>0&&(o[i++]=0);c=i,d=this.dstAlphabet.slice(n,n+1).concat(d)}while(i!==0);return d},e.prototype.isValid=function(t){for(var r=0;r<t.length;++r)if(this.srcAlphabet.indexOf(t[r])===-1)return!1;return!0},bb=e,bb}var xb,rD;function yQ(){if(rD)return xb;rD=1;var e=mQ();function t(r,n){var i=new e(r,n);return function(o){return i.convert(o)}}return t.BIN="01",t.OCT="01234567",t.DEC="0123456789",t.HEX="0123456789abcdef",xb=t,xb}var wb,nD;function bQ(){if(nD)return wb;nD=1;const{v4:e,validate:t}=gQ(),r=yQ(),n={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},i={consistentLength:!0};let o;const a=(d,f,h)=>{const p=f(d.toLowerCase().replace(/-/g,""));return!h||!h.consistentLength?p:p.padStart(h.shortIdLength,h.paddingChar)},u=(d,f)=>{const p=f(d).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[p[1],p[2],p[3],p[4],p[5]].join("-")},c=d=>Math.ceil(Math.log(2**128)/Math.log(d));return wb=(()=>{const d=(f,h)=>{const p=f||n.flickrBase58,v={...i,...h};if([...new Set(Array.from(p))].length!==p.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const m=c(p.length),y={shortIdLength:m,consistentLength:v.consistentLength,paddingChar:p[0]},b=r(r.HEX,p),x=r(p,r.HEX),w=()=>a(e(),b,y),E={alphabet:p,fromUUID:_=>a(_,b,y),maxLength:m,generate:w,new:w,toUUID:_=>u(_,x),uuid:e,validate:(_,R=!1)=>{if(!_||typeof _!="string")return!1;const P=v.consistentLength?_.length===m:_.length<=m,N=_.split("").every(j=>p.includes(j));return R===!1?P&&N:P&&N&&t(u(_,x))}};return Object.freeze(E),E};return d.constants=n,d.uuid=e,d.generate=()=>(o||(o=d(n.flickrBase58).generate),o()),d})(),wb}var xQ=bQ();const wQ=({role:e})=>{var R;const[t,r]=A.useState(e),[n,i]=A.useState(e.role),[o,a]=A.useState(null),u=Z.useAppSelector(Z.selectPrivileges),c=((R=t.privileges)==null?void 0:R.filter(P=>u[P]&&u[P].privilege!=="guest").length)||0,d=Z.useAppSelector(Z.selectRoles),f=Z.useAppDispatch(),{selectedRole:h,selectRole:p}=Yb(),[v,m]=A.useState(!1),y=Me.useOutsideClick(()=>{v&&x()});A.useEffect(()=>{e.role||m(!0)},[]),A.useEffect(()=>{r(e)},[e]);const b=()=>{a(""),m(!0)},x=()=>{a(null),e.role&&e.role===n&&m(!1);try{const P=Z.saveRole({...t,role:n},d);f(Z.updateRoles(P)),m(!1)}catch(P){a(P.message)}},w=Z.useAppDispatch(),S=async P=>{P.stopPropagation();const{confirmed:N}=await w(Z.openModal({title:"Delete Role",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove this Role?",icon:"FdWarningDanger"})).unwrap();N&&E()},E=()=>{const P=Z.removeRole(t.id,d),N=Object.keys(P),j=N.length>=1,L=N[N.length-1];p(L&&j?L:null),f(Z.updateRoles(P))},_=(P=null)=>{if(P&&P.stopPropagation(),!e.role){E();return}m(!1),i(e.role)};return C.jsx(C.Fragment,{children:C.jsxs("div",{className:Ve("rounded border bg-grey-300 p-2",{"border-grey-100":h!==t.id,"border-primary-dark":h===t.id}),role:"button","data-cy":"privilegeCard",onClick:()=>{p(t.id)},ref:y,children:[C.jsx("div",{className:"flex items-center justify-between",children:C.jsxs("div",{className:"flex flex-1 items-center text-white",children:[C.jsx("span",{className:"mr-4",children:C.jsx(ye.FdGroup,{className:"h-6 w-6"})}),v?C.jsxs("div",{className:"relative h-6 flex-1",children:[C.jsx("input",{type:"text",value:n,onChange:({target:{value:P}})=>{i(P)},onKeyDown:P=>{P.key==="Enter"&&x(),P.key==="Escape"&&_()},className:Ve("absolute inset-0 mr-2 h-6 min-w-0 rounded border border-grey-200 bg-grey-300 p-1 text-xs focus:border-primary-dark focus:outline-none",{"border-b border-red-400":o}),placeholder:"role",autoComplete:"off",autoFocus:!0}),o&&C.jsx("p",{className:"absolute top-5 mt-1 rounded bg-red-400 p-1 text-xs text-white shadow-md",children:o})]}):C.jsx("span",{className:"inline-block grow overflow-hidden truncate whitespace-nowrap text-xs font-bold",title:n,children:t.role}),C.jsx("div",{className:Ve("justify-betwee ml-auto flex w-fit items-center gap-x-2"),children:v?C.jsxs(C.Fragment,{children:[C.jsx("button",{onClick:x,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdSave,{className:"h-4 w-4 text-grey-50"})}),C.jsx("button",{onClick:_,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdClose,{className:"h-4 w-4 text-grey-50"})})]}):C.jsxs(C.Fragment,{children:[C.jsx("button",{onClick:b,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdPen,{className:"h-4 w-4 text-grey-50"})}),C.jsx("button",{onClick:P=>S(P),className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdTrash,{className:"h-4 w-4 text-grey-50"})})]})})]})}),C.jsxs("span",{className:Ve("ml-[43px] py-1 text-xs text-white"),children:[c," Privilege",c>1?"s":""]})]})})},Yk=(e,t)=>e?t[e]:null,iD=(e,t,r)=>{const n=Yk(e,r);return n?Object.values(r).reduce((i,o)=>o.id===e?n.privileges.includes(t)?{...i,[n.id]:{...n,privileges:n.privileges.filter(a=>a!==t)}}:{...i,[n.id]:{...n,privileges:[...n.privileges,t]}}:{...i,[o.id]:o},{}):r},_Q=()=>{const e=Z.useAppSelector(Z.selectPrivileges),t=Z.useAppSelector(Z.selectRoles),r=Z.useAppDispatch(),{selectedRole:n}=Yb(),i=Yk(n,t),o=(a,u)=>u&&u.privileges.includes(a.id);return C.jsxs("div",{className:"w-full border-b border-grey-900 p-4 ",children:[C.jsx("div",{className:"mb-4 flex items-center gap-x-5 text-white",children:C.jsx("h4",{className:"text-[13px] font-semibold ",children:"Privileges"})}),C.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[C.jsx("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex items-center gap-1 space-x-1 rounded bg-primary-darker px-2 py-0.5 text-xs font-semibold italic text-white"),children:"guest"}),Object.values(e).filter(a=>o(a,i)&&a.privilege!=="guest").map((a,u)=>C.jsxs("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex cursor-pointer items-center gap-1 space-x-1 rounded px-2 py-0.5",{"bg-primary-dark text-white":o(a,i),"bg-grey-300 text-grey-100":!o(a,i)}),onClick:()=>{const c=iD(i.id,a.id,t);r(Z.updateRoles(c))},children:[C.jsx("span",{className:"text-xs",children:a.privilege}),C.jsx("button",{className:"focus:outline-none",children:o(a,i)?C.jsx(ye.FdMinus,{className:"h-[14px] w-[14px]"}):C.jsx(ye.FdPlus,{className:"h-[14px] w-[14px]"})})]},u)),Object.values(e).filter(a=>!o(a,i)&&a.privilege!=="guest").map((a,u)=>C.jsxs("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex cursor-pointer items-center gap-1 space-x-1 rounded px-2 py-0.5",{"bg-primary-dark text-white":o(a,i),"bg-grey-300 text-grey-100":!o(a,i)}),onClick:()=>{const c=iD(i.id,a.id,t);r(Z.updateRoles(c))},children:[C.jsx("span",{className:"text-xs",children:a.privilege}),C.jsx("button",{className:"text-white focus:outline-none",children:o(a,i)?C.jsx(ye.FdMinus,{className:"h-[14px] w-[14px]"}):C.jsx(ye.FdPlus,{className:"h-[14px] w-[14px]"})})]},u))]})]})},EQ=({children:e})=>C.jsx("div",{className:"h-full w-full",children:C.jsx("div",{className:"flex h-full w-full flex-1 items-center justify-center bg-grey-800",children:C.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-4 text-grey-200",children:[C.jsx(ye.FdInfoBold,{className:"absolute -right-full h-10 w-10 translate-x-1"}),C.jsx("div",{className:"text-center text-sm",children:e})]})})}),Gb=(e,t,r,n=!1)=>{const i=e.applyTo,o=e.type===Z.EPermissionType.DATACLASS?"ds":i.split(".")[0],a={...t,...r},u=()=>({value:!n,inherited:!1,from:[],explicitly:!1}),c={read:u(),create:u(),update:u(),drop:u(),execute:u(),promote:u()},d=h=>{h.forEach(p=>{a[p]&&(a[p].resources.forEach(v=>{if(v.resource===i||v.resource===o){const m=Gb(e,t,{[p]:a[p]},n);Object.values(v.permissions).forEach(y=>{c[y.name].explicitly||(!c[y.name].from.includes(a[p].privilege)&&y.checked&&c[y.name].from.push(a[p].privilege),c[y.name].inherited=c[y.name].inherited||m[y.name].value||m[y.name].inherited)})}}),a[p].includes.length>0&&d(a[p].includes))})};if(Object.values(r).forEach(h=>{h.resources.forEach(p=>{p.resource===i&&Object.values(p.permissions).forEach(v=>{v.checked&&(c[v.name].explicitly=!0,n&&(c[v.name].value=!0))})}),(h.includes.length>0||h.privilege==="guest")&&d(h.includes)}),Object.values(t).forEach(h=>{h.resources.forEach(p=>{p.resource===i&&(h.privilege==="guest"?Object.values(p.permissions).forEach(v=>{v.checked&&(c[v.name].explicitly=!0,n&&(c[v.name].value=!0))}):Object.values(p.permissions).forEach(v=>{!c[v.name].explicitly&&v.checked&&(n?c[v.name].value=!0:c[v.name].value=!1)}))})}),(n?Object.entries(c).some(([h,p])=>h!=="promote"&&!p.value&&!p.explicitly):Object.entries(c).some(([h,p])=>h!=="promote"&&p.value&&!p.explicitly))&&![Z.EPermissionType.DATASTORE,Z.EPermissionType.SINGLETON].includes(e.type)){const h={applyTo:o,type:e.type===Z.EPermissionType.DATACLASS?Z.EPermissionType.DATASTORE:e.type===Z.EPermissionType.SINGLETON_METHOD?Z.EPermissionType.SINGLETON:Z.EPermissionType.DATACLASS},p=Gb(h,t,r,n),v=m=>{let y=c[m].value;return n?!c[m].value&&!c[m].explicitly&&(y=p[m].value):c[m].value&&!c[m].explicitly&&(y=p[m].value),{value:y,inherited:c[m].inherited||p[m].inherited,from:c[m].from.length>0?c[m].from:p[m].from,explicitly:c[m].explicitly}};return{read:v("read"),create:v("create"),update:v("update"),drop:v("drop"),execute:v("execute"),promote:v("promote")}}return{read:c.read,create:c.create,update:c.update,drop:c.drop,execute:c.execute,promote:c.promote}},SQ=e=>{switch(e){case"dataclass":return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"});case"singleton":return C.jsx(ye.FdSingleton,{className:"h-6 w-6"});case"datastore":return C.jsx(ye.FdModel3,{className:"h-6 w-6"});case"attribute":return C.jsx(ye.FdTableColumn,{className:"h-6 w-6"});case"method":return C.jsx(ye.FdCode,{className:"h-6 w-6"});case"singletonMethod":return C.jsx(ye.FdFunctionSingleton,{className:"h-6 w-6"});case"entityselMethod":return C.jsx(ye.FdFunctionSelection,{className:"h-6 w-6"});case"entityMethod":return C.jsx(ye.FdFunctionEntity,{className:"h-6 w-6"});case"dsMethod":return C.jsx(ye.FdFunctionDatastore,{className:"h-6 w-6"});case"dataclassMethod":return C.jsx(ye.FdFunctionDataclass,{className:"h-6 w-6"});default:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"})}},ga=Hx,ma=Ux,co=({privileges:e,permission:t,hasChild:r,depth:n,isChild:i=!1,className:o,inSearch:a,toggleCollapse:u,collapsed:c,isRestrictedByDefault:d,toastMessageCallback:f})=>{const[h,p]=t.applyTo.split("."),v=A.useMemo(()=>Gb(t,e.otherPrivs,e.rolePrivs,d),[e,t,d]);return C.jsxs("tr",{className:Ve("group even:bg-grey-600",o),children:[C.jsxs("td",{className:Ve("flex h-full w-full items-center gap-3 p-0 text-xs group-hover:rounded-l group-hover:bg-grey-300",{"px-1":a}),children:[Array(n).fill("").map((m,y)=>C.jsx("div",{className:Ve("ml-1.5 mr-1 h-full w-0.5 border-l-2 border-grey-100",{"mr-0.5":i})},y)),r&&C.jsx("button",{onClick:u,className:"w-3",children:c?C.jsx(ye.FdRight,{className:"inline h-4 w-4"}):C.jsx(ye.FdDown,{className:"inline h-4 w-4"})}),SQ(t.type),a?t.applyTo:p||h]}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.read.value||v.read.inherited}),onClick:f,children:(v.read.value||v.read.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.read.value&&v.read.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.read.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.read.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.create.value||v.create.inherited}),onClick:f,children:(v.create.value||v.create.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.create.value&&v.create.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.create.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.create.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.update.value||v.update.inherited}),onClick:f,children:(v.update.value||v.update.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.update.value&&v.update.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.update.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.update.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.drop.value||v.drop.inherited}),onClick:f,children:(v.drop.value||v.drop.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.drop.value&&v.drop.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.drop.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.drop.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:rounded-r group-hover:bg-grey-300",children:t.type!=="attribute"&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.execute.value||v.execute.inherited}),onClick:f,children:(v.execute.value||v.execute.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.execute.value&&v.execute.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.execute.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.execute.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})})]})},oD=({depth:e,permission:t,privileges:r,childCollapsed:n,didChildCollapsed:i,toastMessageCallback:o})=>{const[a,u]=A.useState(n),c=Z.useAppSelector(Z.selectRestrictedByDefault),d=Z.useAppSelector(Z.selectPrivileges);return A.useEffect(()=>{n===!0&&u(!0)},[n]),C.jsxs(C.Fragment,{children:[C.jsx(co,{privileges:r,permission:t,isChild:!0,depth:e,hasChild:!0,toggleCollapse:()=>{const f=!a;u(f),i==null||i(f)},isRestrictedByDefault:c,allPrivileges:d,collapsed:a,toastMessageCallback:o}),!a&&C.jsxs(C.Fragment,{children:[t.attributes.map((f,h)=>C.jsx(co,{privileges:r,permission:f,depth:e+1,isRestrictedByDefault:c,allPrivileges:d,toastMessageCallback:o},`${f.type}-${h}`)),t.methods.map((f,h)=>C.jsx(co,{privileges:r,permission:f,depth:e+1,isRestrictedByDefault:c,allPrivileges:d,toastMessageCallback:o},`${f.type}-${h}`))]})]})},OQ=({selectedRole:e})=>{const[t,r]=A.useState(null),[n,i]=A.useState(null),{styles:o,attributes:a}=xc(t,n,{modifiers:[{name:"offset",options:{offset:[0,10]}}]}),u=Z.useAppSelector(Z.selectRestrictedByDefault),c=Z.useAppSelector(Z.selectPrivileges),[d,f]=A.useState([]),[h,p]=A.useState(""),v=Z.useAppSelector(Z.selectCatalogMethods),m=Z.useAppSelector(Z.selectDataclasses),y=Z.useAppSelector(Z.selectSingletons),[b,x]=A.useState({}),[w,S]=A.useState([]);A.useEffect(()=>{const B=m9(v,Object.values(m),Object.values(y));x(B)},[e]);function E(B){const $=["datastore","singleton","dataclass","attribute","dsMethod","dataclassMethod","entityMethod","entityselMethod","singletonMethod"];return B.sort((W,Y)=>{const ee=$.indexOf(W.type),H=$.indexOf(Y.type);return ee!==H?ee-H:W.applyTo.toLowerCase()>Y.applyTo.toLowerCase()?1:-1})}A.useEffect(()=>{S(E(Ax(h,v,Object.values(m),Object.values(y)).filter(B=>d.length?d.includes(B.type):!0)))},[d,h]);const[_,R]=A.useState(!1),P=B=>{f($=>$.some(W=>B.includes(W))?$.filter(W=>!B.includes(W)):[...$,...B])},N=Z.useAppSelector(Z.selectRoles),j={toggleAllCollapsed:B=>{B.allCollapsed=!B.allCollapsed},toggleChildCollapsed:B=>{B.childCollapsed=!B.childCollapsed},setAllCollapsed:(B,$)=>{B.allCollapsed=$},setChildCollapsed:(B,$)=>{B.childCollapsed=$}},L=A.useMemo(()=>{const B=Object.values(c).find(H=>H.privilege==="guest"),$=N[e],W=$?Object.fromEntries($.privileges.map(H=>[H,c[H]]).filter(([,H])=>!!H)):{};if(u)return{rolePrivs:W,otherPrivs:B?{[B.id]:B}:{}};const Y=B?{[B.id]:{...B,active:!0}}:{},ee=Object.fromEntries(Object.entries(c).filter(([H])=>H!==(B==null?void 0:B.id)&&!($!=null&&$.privileges.includes(H))).map(([H,Q])=>[H,{...Q,active:!1}]));return{rolePrivs:W,otherPrivs:{...Y,...ee}}},[c,N,e,u]),{state:{allCollapsed:F,childCollapsed:k},dispatch:D}=Me.useEnhancedState({allCollapsed:!1,childCollapsed:!1},j,"Table Collapse Store"),T=()=>{Me.toastSubject.next({kind:"info",markdown:!0,message:'<div className="flex gap-x-1 items-center"><h3 className="font-bold mr-1">Info:</h3><p className="font-normal">You can add or modify permissions only in the Privilege section.</p></div>',customIcon:ye.FdInfoCircle})};return C.jsxs(fl,{className:"z-20 h-full flex-1 overflow-auto bg-grey-800 p-[15px] pt-0",style:{maxHeight:"calc(100vh - 5.5rem - 85px - 20px)"},children:[C.jsxs("table",{className:"relative h-full w-full",children:[C.jsx("thead",{className:"sticky top-0 z-20 bg-grey-800",children:C.jsxs("tr",{className:"border-b border-grey-100",children:[C.jsx("td",{className:"py-2",children:C.jsxs("div",{className:"flex items-center space-x-2",children:[C.jsx(Me.Tooltip,{label:"Collapse All",placement:"top",container:Bt(),children:C.jsx("button",{onClick:()=>{k?(D.setAllCollapsed(!0),R(!0)):D.setChildCollapsed(!0)},className:Ve("cursor-pointer rounded-md p-1 hover:bg-primary-hover focus:outline-none",{"pointer-events-none text-grey-200":F,"text-white":!F}),children:C.jsx(ye.FdCollapseAll,{className:"h-4 w-4"})})}),C.jsxs("div",{className:"relative w-56 text-white",children:[C.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center px-1",children:C.jsx(ye.FdSearch,{className:"h-4 w-4 text-gray-400"})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-2",children:C.jsx(wr.Popover,{className:"flex items-center",children:({open:B})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{ref:r,children:C.jsx(ye.FdAdjust,{className:"h-4 w-4"})}),B&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:i,style:o.popper,...a.popper,className:"z-50 rounded-md border border-grey-50 bg-grey-900 px-4 py-2.5 text-xs text-grey-50",static:!0,children:[C.jsx("h5",{className:"mb-2 text-sm",children:"Filter"}),C.jsxs("div",{className:"space-y-2 text-s",children:[C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("datastore"),onChange:()=>{P(["datastore"])},label:"Datastore"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("dataclass"),onChange:()=>{P(["dataclass"])},label:"Dataclass"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("singleton"),onChange:()=>{P(["singleton"])},label:"Singleton"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.some($=>["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"].includes($)),onChange:()=>{P(["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"])},label:"Functions"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("attribute"),onChange:()=>{P(["attribute"])},label:"Attribute"})})]})]})})]})})}),C.jsx("input",{type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-6 text-xs focus:outline-none",placeholder:"Search",value:h,onChange:B=>{p(B.target.value)}})]})]})}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"read"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Create"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Update"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Delete"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Execute"})]})}),C.jsx("tbody",{className:"relative bg-grey-800 text-white",children:d.length||h?w.map((B,$)=>C.jsx(co,{privileges:L,permission:B,depth:0,inSearch:!0,isRestrictedByDefault:u,allPrivileges:c,toastMessageCallback:T},`${B.type}-${$}`)):Object.values(b).map((B,$)=>C.jsxs(A.Fragment,{children:[C.jsx(co,{privileges:L,permission:B,isRestrictedByDefault:u,allPrivileges:c,hasChild:!0,depth:0,toggleCollapse:()=>{const W=!_;R(W),D.setAllCollapsed(!W&&F?!1:F)},collapsed:_,toastMessageCallback:T}),B.type==="datastore"&&!_?C.jsxs(C.Fragment,{children:[B.methods.map((W,Y)=>C.jsx(co,{privileges:L,isRestrictedByDefault:u,allPrivileges:c,permission:W,depth:1,collapsed:F||!1,toastMessageCallback:T},`${W.type}-${Y}`)),B.dataClasses.map((W,Y)=>C.jsx(oD,{depth:1,privileges:L,permission:W,childCollapsed:k,didChildCollapsed:ee=>{D.setChildCollapsed(ee?k:!1)},toastMessageCallback:T},`${W.type}-${Y}`))]}):null,B.singletons.map((W,Y)=>C.jsx(oD,{depth:0,privileges:L,permission:W,childCollapsed:F,didChildCollapsed:ee=>{D.setAllCollapsed(ee?F:!1)},toastMessageCallback:T},`${W.type}-${Y}`))]},`${B.type}-${$}`))})]}),(h||d.length)&&!w.length?C.jsx(EQ,{children:"The Permission you're looking for can't be found "}):null]})},CQ=()=>{const e=Z.useAppSelector(Z.selectRoles),t=Z.useAppDispatch(),[r,n]=A.useState(null),[i,o]=A.useState(null),[a,u]=A.useState(""),[c,d]=A.useState(null),{styles:f,attributes:h}=xc(r,i,{modifiers:[{name:"offset",options:{offset:[-10,10]}}],placement:"right-start"});A.useEffect(()=>{u(""),d(null)},[i]);const p=()=>{if(!a)throw new Error("Please enter a valid name");if(Object.values(e).find(b=>b.role===a))throw new Error(`A role with the name ${a} already exists`);const m=xQ.generate(),y=Z.createRole(m,a,e);t(Z.updateRoles(y))};return C.jsx(wr.Popover,{children:({open:v,close:m})=>{const y=()=>{d(null);try{p(),m()}catch(b){d(b.message)}};return C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{className:"rounded p-1 hover:bg-primary-hover","data-cy":"New-priv-btn",ref:n,children:C.jsx("span",{children:C.jsx(ye.FdPlus,{className:"h-4 w-4 text-white"})})}),v&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:o,style:f.popper,...h.popper,"data-cy":"New-priv-pop-up",className:"z-50 min-w-[256px] rounded border border-grey-50 bg-grey-900 px-4 py-2 text-xs text-grey-50 shadow-md",static:!0,children:[C.jsx("h5",{className:"mb-2 text-xs font-semibold",children:"Create New Role"}),C.jsxs("div",{className:"mt-2",children:[C.jsxs("label",{className:"flex items-center space-x-4",children:[C.jsx("span",{className:"text-grey-100",children:"Name"}),C.jsx("input",{autoFocus:!0,value:a,onChange:b=>u(b.target.value),onKeyDown:b=>{b.key==="Enter"&&y()},type:"text",className:Ve("w-full rounded border bg-grey-300 p-1 focus:outline-none",{"border-grey-100":!c,"border-red-400":c})})]}),c&&C.jsx("p",{className:"mt-1 text-xs text-red-400",children:c})]}),C.jsxs("div",{className:"mt-4 flex items-center justify-center space-x-2",children:[C.jsx("button",{className:"rounded border border-primary-dark bg-primary-dark px-4 py-1 hover:border-primary-hover hover:bg-primary-hover",onClick:()=>{y()},children:"Create"}),C.jsx("button",{className:"rounded border border-grey-100 px-4 py-1 text-grey-100 hover:bg-white hover:text-primary-dark",onClick:()=>m(),children:"Cancel"})]})]})})]})}})},RQ=()=>{const e=Z.useAppSelector(Z.selectRoles),{selectedRole:t}=Yb();return C.jsxs("div",{className:"flex flex-1 h-full",children:[C.jsxs("div",{className:"flex h-full w-[356px] flex-col bg-grey-800",children:[C.jsxs("div",{className:"flex flex-shrink-0 items-center justify-between bg-grey-800 px-3.5 py-[10px]",children:[C.jsxs("div",{className:"flex items-center space-x-1 text-[#DDE1E6]",children:[C.jsx("span",{children:C.jsx(ye.FdGroup,{className:"h-[14px] w-[14px]"})}),C.jsx("span",{className:"text-[11px] font-semibold",children:"Roles"})]}),C.jsx(CQ,{})]}),C.jsx("div",{className:"flex-1 space-y-4 overflow-auto p-4 pb-10 pt-1",children:Object.values(e).map((r,n)=>C.jsx(wQ,{role:r},n))})]}),C.jsx("div",{className:Ve("relative flex h-full w-full flex-1 flex-col items-stretch overflow-x-auto bg-grey-800",{"border-l-[0.5px] border-grey-900":t}),children:C.jsx("div",{className:"flex h-full w-full select-none flex-col bg-grey-800",children:t?C.jsxs(C.Fragment,{children:[C.jsx(_Q,{}),C.jsx(OQ,{selectedRole:t})]}):C.jsx(bD,{tab:"Role"})})})]})};function Xk(){const e=Z.useAppSelector(Z.selectRolesFlags),t=Z.useAppDispatch();A.useEffect(()=>{t(Z.setTabFlags({path:Me.ROLES_TAB_PATH,flags:e}))},[e])}const Zk=()=>{const e=Z.useAppSelector(Z.selectQodly),t=Z.useAppSelector(Z.selectSelectedTab),r=Z.useAppSelector(Z.selectForceLogin),n=Z.useAppSelector(Z.selectRestrictedByDefault),i=A.useRef(),o=Z.useAppDispatch();return Xk(),C.jsx("div",{className:"absolute inset-0 flex flex-1 overflow-hidden",children:C.jsx("div",{className:"relative flex flex-1 overflow-x-auto bg-grey-900","data-cy":"Roles&Privileges-editor-cy",ref:a=>i.current=a,children:C.jsxs("div",{className:"flex w-full flex-col",children:[C.jsx(Jz,{activeTab:t,forceLogin:r,restrictedByDefault:n,onTabChange:a=>{o(Z.toggleTab(a))},onForceLoginChange:a=>{o(Z.toggleForceLogin(a))},onRestrictedByDefaultChange:a=>{o(Z.toggleRestrictedByDefault(a))},qodly:e}),t==="roles"?C.jsx(Qz,{children:C.jsx(RQ,{})}):C.jsx(iQ,{})]})})})},PQ=()=>{const e=Z.useAppSelector(Z.selectModals),t=Z.useAppDispatch();return C.jsx(C.Fragment,{children:e.map((r,n)=>C.jsx(Me.Modal,{hasOverlay:n===0,...r,onClose:i=>t(Z.closeModal(i)),onEdit:i=>t(Z.editModal(i)),container:Bt()},r.id))})},IQ=({initialValue:e,onChange:t,...r})=>{const n=Z.useAppSelector(Z.selectRolesFlags),i=Z.useAppSelector(Z.selectRolesAndPrivileges,(a,u)=>ow.isEqual(a,u)),o=Z.useAppDispatch();return A.useEffect(()=>{if(e)try{const a=JSON.parse(e);o(Z.setRolesContent({content:a,flags:{touched:!1}}))}catch(a){console.error("[Roles Editor Standalone] Error while parsing the initial value:",a)}},[e]),Me.useDidMountEffect(()=>{if(n.touched&&t)try{t(JSON.stringify(i))}catch(a){console.error("[Roles Editor Standalone] Error on value stringify:",a)}},[i]),C.jsxs(C.Fragment,{children:[C.jsx("div",{className:"relative z-10 overflow-hidden",style:{height:"100vh"},children:C.jsx(Zk,{...r})}),C.jsx(PQ,{})]})},NQ=e=>C.jsx(Z.ReduxProvider,{store:Z.getStore(),children:C.jsx(Me.TipsProvider,{children:C.jsx(IQ,{...e})})});exports.ROLES_EDITOR_SCOPE_CLASS=sD.ROLES_EDITOR_SCOPE_CLASS;exports.Roles=Zk;exports.Standalone=NQ;exports.useRolesFlagsSync=Xk;
|
|
71
|
+
`),A.useEffect(function(){return f=i.ref||f,h.current&&(d=new vc(h.current,Tu(Tu(Tu(Tu({},ZJ(y)),v),f&&{scrollableNode:f.current}),p.current&&{contentNode:p.current})),typeof t=="function"?t(d):t&&(t.current=d)),function(){d.unMount(),d=null,typeof t=="function"&&t(null)}},[]),A.createElement(c,gc({ref:h,"data-simplebar":!0},m),A.createElement("div",{className:"simplebar-wrapper"},A.createElement("div",{className:"simplebar-height-auto-observer-wrapper"},A.createElement("div",{className:"simplebar-height-auto-observer"})),A.createElement("div",{className:"simplebar-mask"},A.createElement("div",{className:"simplebar-offset"},typeof r=="function"?r({scrollableNodeRef:f,contentNodeRef:p}):A.createElement("div",gc({},i,{className:"simplebar-content-wrapper".concat(i.className?" ".concat(i.className):"")}),A.createElement("div",{className:"simplebar-content"},r)))),A.createElement("div",{className:"simplebar-placeholder"})),A.createElement("div",{className:"simplebar-track simplebar-horizontal"},A.createElement("div",{className:"simplebar-scrollbar"})),A.createElement("div",{className:"simplebar-track simplebar-vertical"},A.createElement("div",{className:"simplebar-scrollbar"})))});fl.displayName="SimpleBar";fl.propTypes={children:le.oneOfType([le.node,le.func]),scrollableNodeProps:le.object,tag:le.string};const mc=Hx,yc=Ux,Vk=(e,t)=>{if(e===Z.EPermissionType.METHOD&&t)switch(t){case Z.ESubPermissionType.ENTITY_SEL_METHOD:return C.jsx(ye.FdFunctionSelection,{className:"h-6 w-6"});case Z.ESubPermissionType.ENTITY_METHOD:return C.jsx(ye.FdFunctionEntity,{className:"h-6 w-6"});case Z.ESubPermissionType.DS_METHOD:return C.jsx(ye.FdFunctionDatastore,{className:"h-6 w-6"});case Z.ESubPermissionType.DATACLASS_METHOD:return C.jsx(ye.FdFunctionDataclass,{className:"h-6 w-6"})}switch(e){case Z.EPermissionType.DATACLASS:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"});case Z.EPermissionType.SINGLETON:return C.jsx(ye.FdSingleton,{className:"h-6 w-6"});case Z.EPermissionType.DATASTORE:return C.jsx(ye.FdModel3,{className:"h-6 w-6"});case Z.EPermissionType.ATTRIBUTE:return C.jsx(ye.FdTableColumn,{className:"h-6 w-6"});case Z.EPermissionType.METHOD:return C.jsx(ye.FdCode,{className:"h-6 w-6"});case Z.EPermissionType.SINGLETON_METHOD:return C.jsx(ye.FdFunctionSingleton,{className:"h-6 w-6"});default:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"})}},LM=({children:e})=>C.jsx("div",{className:"h-full w-full",children:C.jsx("div",{className:"flex h-full w-full flex-1 items-center justify-center bg-grey-800",children:C.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-4 text-grey-200",children:[C.jsx(ye.FdInfoBold,{className:"h-10 w-10"}),C.jsx("div",{className:"text-center text-sm",children:e})]})})});function JJ(e){const{isIndeterminate:t,isChecked:r,...n}=e,i=t?"M22.5 12C22.5 17.799 17.799 22.5 12 22.5C6.20101 22.5 1.5 17.799 1.5 12C1.5 6.20101 6.20101 1.5 12 1.5C17.799 1.5 22.5 6.20101 22.5 12Z":"M0,12a1.5,1.5,0,0,0,1.5,1.5h8.75a.25.25,0,0,1,.25.25V22.5a1.5,1.5,0,0,0,3,0V13.75a.25.25,0,0,1,.25-.25H22.5a1.5,1.5,0,0,0,0-3H13.75a.25.25,0,0,1-.25-.25V1.5a1.5,1.5,0,0,0-3,0v8.75a.25.25,0,0,1-.25.25H1.5A1.5,1.5,0,0,0,0,12Z";return C.jsx(Me.BaseCheckboxIcon,{viewBox:"0 0 24 24",...n,children:C.jsx("path",{fill:t?"transparent":"currentColor",d:i,stroke:t?"currentColor":void 0,strokeWidth:t?3:void 0})})}function QJ(e){return C.jsx(Me.Checkbox,{icon:C.jsx(JJ,{}),...e})}const Xi=({permissions:e,label:t,onToggle:r,onSelect:n,promoted:i,showIncluded:o,privileges:a,exists:u})=>{const c=e.find(d=>d.name===t);return c?C.jsxs("div",{className:"relative mx-auto flex w-fit items-center",children:[c.checked||c.from.length===0||t==="promote"?C.jsx(Me.Checkbox,{isChecked:c.checked,onChange:()=>r&&r(c),isInvalid:u===!1}):C.jsx(QJ,{isIndeterminate:o&&c.from.length>0,onChange:()=>r&&r(c),isInvalid:u===!1}),C.jsxs("div",{className:"absolute left-5 top-0 flex cursor-pointer items-center space-x-1",children:[t!=="promote"&&(c.checked&&(c.info||c.from.length>0)||!c.checked&&c.from.length>0)&&C.jsx(C.Fragment,{children:C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsxs("div",{className:"space-y-1 px-2",children:[c.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:c.from.map(d=>C.jsx("li",{className:"cursor-pointer list-disc font-bold hover:underline",onClick:()=>n(a[d].id),children:a[d].privilege}))})]})]}):null,c.info&&C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdInfoCircle,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"})," ",c.info]})]})})})]})}),(c.checked||c.from.length>0)&&["execute"].includes(t)&&!!(i!=null&&i.length)&&C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx(ye.FdCrown,{className:"h-3 w-3 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdInfoCircle,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsxs("span",{className:"mr-1",children:["Function is promoted with:"," "]}),i==null?void 0:i.map(d=>C.jsx("li",{className:"cursor-pointer list-disc font-bold hover:underline",onClick:()=>n(a[d].id),children:a[d].privilege}))]})]})})})})]})]})]}):null},eQ=({privilegeId:e,privileges:t})=>{const r=Z.useAppSelector(Z.selectCatalogMethods),n=Z.useAppSelector(Z.selectDataclasses),i=Z.useAppSelector(Z.selectSingletons),o=t[e],a=Z.useAppDispatch(),[u,c]=A.useState([]),[d,f]=A.useState("");A.useEffect(()=>{f("")},[e]);const{isOpen:h,getMenuProps:p,getInputProps:v,getComboboxProps:m,highlightedIndex:y,getItemProps:b,selectedItem:x,openMenu:w}=to({onInputValueChange(){c([])},items:[],itemToString(_){return _?_.applyTo:""},defaultHighlightedIndex:0,stateReducer:(_,R)=>{const{changes:P,type:N}=R;switch(N){case to.stateChangeTypes.InputKeyDownArrowDown:return{...P,isOpen:!0,highlightedIndex:_.highlightedIndex<=u.length?_.highlightedIndex+1:0};case to.stateChangeTypes.InputKeyDownArrowUp:return{...P,isOpen:!0,highlightedIndex:_.highlightedIndex>=0?_.highlightedIndex-1:u.length};case to.stateChangeTypes.InputKeyDownEnter:const j=u[_.highlightedIndex];if(!j)return P;const L=Z.addPermission(e,j,t);return a(Z.updatePrivileges(L)),{...P,isOpen:!0,highlightedIndex:0}}return P}});A.useEffect(()=>{const _=o.resources.map(({resource:P,type:N,subType:j})=>({type:N,applyTo:P,subType:j})),R=Ax(d.toLowerCase(),r,Object.values(n),Object.values(i));c(R.filter(({applyTo:P,type:N,subType:j})=>!ow.find(_,{applyTo:P,type:N,subType:j})))},[d,o.resources]);const S=p({},{suppressRefError:!0}),E=A.useRef(null);return A.useEffect(()=>{h&&E.current&&E.current.focus()},[h]),C.jsxs("div",{className:"relative w-56 text-white group",...m(),children:[C.jsx("div",{...m(),children:C.jsx("input",{...v(),ref:E,type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-2 pr-5 text-xs border-grey-500 focus:outline-none focus:ring-1 focus:ring-white focus:rounded-b-none focus:ring-inset",placeholder:"Create a permission",value:d,onChange:({target:{value:_}})=>f(_),onFocus:()=>{w()}})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-1",children:C.jsx(ye.FdDown,{className:"h-4 w-4 cursor-pointer",onMouseDown:_=>{_.preventDefault()},onClick:()=>{w()}})}),h&&C.jsx("ul",{...S,tabIndex:0,className:"absolute max-h-80 inset-x-0 top-full overflow-auto rounded-md border border-grey-50 bg-grey-900 p-0 text-grey-50 shadow-md group-focus-within:rounded-t-none group-focus-within:border-t-0",children:u.map((_,R)=>C.jsxs("li",{className:Ve(x===_&&"font-bold","flex min-w-fit cursor-pointer items-center space-x-2 px-3 py-2 text-xs shadow-sm",{"bg-primary-hover":y===R,"font-bold":x===_}),...b({item:_,index:R}),onClick:()=>{const P=Z.addPermission(e,_,t);a(Z.updatePrivileges(P))},children:[Vk(_.type,_.subType),C.jsx("span",{children:_.applyTo})]},`${_.applyTo}-${R}`))})]})};function tQ(e){const t=["datastore","singleton","dataclass","attribute","dsMethod","dataclassMethod","entityMethod","entityselMethod","singletonMethod"],r=e.reduce((n,i)=>{const[o]=i.resource.split("."),a=n.find(u=>u.prefix===o.toLowerCase());return a?(a.resources.push(i),n):[...n,{prefix:o.toLowerCase(),type:i.type,resources:[i]}]},[]);return r.sort((n,i)=>n.prefix==="ds"?-1:i.prefix==="ds"||n.prefix>i.prefix?1:-1),r.map(n=>({...n,resources:n.resources.sort((i,o)=>{const a=t.indexOf(i.type),u=t.indexOf(o.type);return a!==u?a-u:i.resource.toLowerCase()>o.resource.toLowerCase()?1:-1})})).reduce((n,i)=>[...n,...i.resources],[])}const rQ=({selectedPrivilege:e,onSelect:t,showIncluded:r,privileges:n})=>{const[i,o]=A.useState(null),[a,u]=A.useState(null),{styles:c,attributes:d}=xc(i,a,{modifiers:[{name:"offset",options:{offset:[0,10]}}]}),[f,h]=A.useState([]),[p,v]=A.useState(""),m=Z.useAppDispatch(),{id:y}=e,b=A.useMemo(()=>Z.getInheritedResources(y,n),[y,n[y].includes,n[y].resources]),x=A.useMemo(()=>Z.getPromotions(y,n),[n[y]]);function w(k){h(D=>D.some(T=>k.includes(T))?D.filter(T=>!k.includes(T)):[...D,...k])}const S=async k=>{const{confirmed:D}=await m(Z.openModal({title:"Delete Privilege",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove this Privilege?",icon:"FdWarningDanger"})).unwrap();if(D){const T=Z.removePermission(e.id,k,n);m(Z.updatePrivileges(T))}},E=async()=>{const{confirmed:k}=await m(Z.openModal({title:"Reset Permissions",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to reset permissions for this Privilege?",icon:"FdWarningDanger"})).unwrap();if(k){const D=Z.resetResources(e.id,n);m(Z.updatePrivileges(D))}},R=b.filter(k=>f.length===0?!0:f.includes(k.type)).filter(({resource:k})=>p?new RegExp(ow.escapeRegExp(p),"i").test(k):!0),P=tQ(R),N=P.filter(k=>{const D=k.permissions.every(T=>!T.checked)&&k.permissions.some(T=>T.from.length>0);return r||!D}),j=(k,D)=>{const T=Z.togglePermission(e.id,k,D,n);m(Z.updatePrivileges(T))},L=A.useMemo(()=>N.some(k=>k.exists===!1),[N]),F=async()=>{const{confirmed:k}=await m(Z.openModal({title:"Delete Privilege",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove these permissions?",views:{tips:[{type:"warning",message:"This action will remove all permissions that don't exist in the catalog for all privileges"}]},icon:"FdWarningDanger"})).unwrap(),D=Object.entries(n).map(([T,B])=>{const $=B.resources.filter(W=>!W.exists);return{[T]:$.map(W=>({applyTo:W.resource,type:W.type}))}}).reduce((T,B)=>({...T,...B}),{});if(k){const T=Z.removeMultiplePermissions(D,n);m(Z.updatePrivileges(T))}};return C.jsxs(fl,{className:"z-20 h-full flex-1 overflow-auto bg-grey-800 p-[15px] pt-0",style:{maxHeight:"calc(100vh - 5.5rem - 85px - 20px)"},children:[C.jsxs("table",{className:"relative h-full w-full",children:[C.jsx("thead",{className:"sticky top-0 z-20 bg-grey-800",children:C.jsxs("tr",{className:"border-b border-grey-100",children:[C.jsx("td",{className:"py-2",children:C.jsxs("div",{className:"flex items-center space-x-2",children:[C.jsxs("div",{className:"relative w-56 text-white",children:[C.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center px-1",children:C.jsx(ye.FdSearch,{className:"h-4 w-4 text-gray-400"})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-2",children:C.jsx(wr.Popover,{className:"flex items-center",children:({open:k})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{ref:o,children:C.jsx(ye.FdAdjust,{className:"h-4 w-4"})}),k&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:u,style:c.popper,...d.popper,className:"z-50 rounded-md border border-grey-50 bg-grey-900 px-4 py-2.5 text-xs text-grey-50",static:!0,children:[C.jsx("h5",{className:"mb-2 text-sm",children:"Filter"}),C.jsxs("div",{className:"space-y-2 text-s",children:[C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("datastore"),onChange:()=>{w(["datastore"])},label:"Datastore"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("dataclass"),onChange:()=>{w(["dataclass"])},label:"Dataclass"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("singleton"),onChange:()=>{w(["singleton"])},label:"Singleton"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.some(D=>["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"].includes(D)),onChange:()=>{w(["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"])},label:"Functions"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:f.includes("attribute"),onChange:()=>{w(["attribute"])},label:"Attribute"})})]})]})})]})})}),C.jsx("input",{type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-6 text-xs focus:outline-none",placeholder:"Search available permissions",value:p,onChange:k=>{v(k.target.value)}})]}),C.jsx(eQ,{privilegeId:y,privileges:n}),C.jsx("div",{children:C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx("button",{className:"flex h-6 items-center space-x-1 rounded-md px-2 text-sm text-grey-50 hover:bg-primary-hover",onClick:E,children:C.jsx(ye.FdReload,{})})}),C.jsx(jr,{container:Bt(),children:C.jsxs(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"mb-1 flex max-w-xs items-center gap-x-1 rounded bg-primary-light px-2 py-2 text-s font-semibold text-primary-darker",children:[C.jsx(ye.FdBulb,{className:"m-0.5 h-4 w-4 flex-shrink-0"}),C.jsx("p",{children:"Resetting the privilege will remove all configured ressources"})]})})]})}),C.jsxs(mc,{openDelay:0,closeDelay:0,children:[C.jsx(yc,{children:C.jsx("button",{className:Ve("flex h-6 items-center space-x-1 rounded-md px-2 text-sm text-grey-50 hover:bg-primary-hover disabled:opacity-50 disabled:hover:bg-primary-dark"),onClick:F,disabled:!L,children:C.jsx(ye.FdClean,{className:"h-4 w-4"})})}),C.jsx(jr,{container:Bt(),children:C.jsxs(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"mb-1 flex max-w-xs items-center gap-x-1 rounded bg-primary-light px-2 py-2 text-s font-semibold text-primary-darker",children:[C.jsx(ye.FdBulb,{className:"m-0.5 h-4 w-4 flex-shrink-0"}),C.jsx("p",{children:"Delete all the non existing resources from privileges"})]})})]})]})}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Read"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Create"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Update"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Delete"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Execute"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Promote"})]})}),N.length?C.jsx("tbody",{children:N.map((k,D)=>{const T=k.permissions.some(B=>B.from.length>0);return C.jsxs("tr",{className:Ve("group even:bg-grey-600",{"opacity-60":k.exists===!1}),children:[C.jsxs("td",{className:Ve("group flex items-center gap-3 py-2 text-xs group-hover:rounded-l group-hover:bg-grey-300",k.exists===!1?"text-negative-400":"text-white",{"border-b-[0.5px] border-grey-300":!1}),children:[Vk(k.type,k.subType),k.resource,C.jsx(Me.Tooltip,{placement:"top",label:"Remove Permission",isDisabled:T,container:Bt(),children:C.jsx("button",{onClick:()=>{T?Me.toastSubject.next({kind:"info",markdown:!0,message:`<div className="flex gap-x-3"><h3 className="font-bold">Info:</h3><p className="font-normal">Inherited permissions can't be removed</p></div>`,customIcon:ye.FdInfoBold}):S({applyTo:k.resource,type:k.type})},className:Ve("flex flex-shrink-0 items-center justify-center rounded p-1 opacity-0 group-hover:opacity-100",T?"hover:bg-grey-300 group-hover:opacity-70":"hover:bg-primary-hover"),children:C.jsx(ye.FdPlus,{className:"h-4 w-4 rotate-45 transform text-white"})})})]}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"read",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"create",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"update",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"drop",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:C.jsx(Xi,{promoted:x[k.resource],permissions:k.permissions,showIncluded:r,label:"execute",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})}),C.jsx("td",{className:"py-2 text-center group-hover:rounded-r group-hover:bg-grey-300 ",children:C.jsx(Xi,{permissions:k.permissions,showIncluded:r,label:"promote",onToggle:B=>j(k,B),onSelect:t,privileges:n,exists:k.exists})})]},D)})}):null]}),!P.length&&p?C.jsx(LM,{children:"The Permission you're looking for can't be found "}):null,!P.length&&!p?C.jsxs(LM,{children:["This Privilege has no Permissions configured yet ",C.jsx("br",{}),'Add a new permission by using the "Create a permission" input above']}):null]})},nQ=({onCreate:e})=>{const t=Z.useAppSelector(Z.selectPrivileges),r=Z.useAppDispatch(),[n,i]=A.useState(null),[o,a]=A.useState(null),[u,c]=A.useState(""),[d,f]=A.useState(null),{styles:h,attributes:p}=xc(n,o,{modifiers:[{name:"offset",options:{offset:[-10,10]}}],placement:"right-start"});return A.useEffect(()=>{c(""),f(null)},[o]),C.jsx(wr.Popover,{children:({open:v,close:m})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{className:"rounded p-1 hover:bg-primary-hover","data-cy":"New-priv-btn",ref:i,children:C.jsx("span",{children:C.jsx(ye.FdPlus,{className:"h-4 w-4 text-white"})})}),v&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:a,style:h.popper,...p.popper,"data-cy":"New-priv-pop-up",className:"z-50 min-w-[256px] rounded border border-grey-50 bg-grey-900 px-4 py-2 text-xs text-grey-50 shadow-md",static:!0,children:[C.jsx("h5",{className:"mb-2 text-xs font-semibold",children:"Create New Privilege"}),C.jsxs("div",{className:"mt-2",children:[C.jsxs("label",{className:"flex items-center space-x-4",children:[C.jsx("span",{className:"text-grey-100",children:"Name"}),C.jsx("input",{autoFocus:!0,value:u,onChange:y=>c(y.target.value),onKeyDown:y=>{if(y.key==="Enter"){f(null);try{const b=Z.create(u,t),x=r(Z.updatePrivileges(b)),w=Object.values(x.payload).find(S=>S.privilege===u);w&&(e(w),m())}catch(b){f(b.message)}}},type:"text",className:Ve("w-full rounded border bg-grey-300 p-1 focus:outline-none",{"border-grey-100":!d,"border-red-400":d})})]}),d&&C.jsx("p",{className:"mt-1 text-xs text-red-400",children:d})]}),C.jsxs("div",{className:"mt-4 flex items-center justify-center space-x-2",children:[C.jsx("button",{className:"rounded border border-primary-dark bg-primary-dark px-4 py-1 hover:border-primary-hover hover:bg-primary-hover",onClick:()=>{f(null);try{const y=Z.create(u,t),b=r(Z.updatePrivileges(y)),x=Object.values(b.payload).find(w=>w.privilege===u);x&&e(x),m()}catch(y){f(y.message)}},children:"Create"}),C.jsx("button",{className:"rounded border border-grey-100 px-4 py-1 text-grey-100 hover:bg-white hover:text-primary-dark",onClick:()=>m(),children:"Cancel"})]})]})})]})})},iQ=()=>{const e=Z.useAppSelector(Z.selectCatalog),t=Z.useAppSelector(Z.selectPrivileges),r=A.useMemo(()=>{if(e===null)return t;const c=Dq(t,Object.values((e==null?void 0:e.dataClasses)??{}));return jq(c,e)},[t,e]),[n,i]=A.useState(null),o=A.useMemo(()=>Object.keys(r),[r]);A.useEffect(()=>{n&&r[n.id]||!o.length||i(r[o[0]])},[r]),A.useEffect(()=>{o.length<2&&u(!0)},[o.length]);const[a,u]=A.useState(!0);return C.jsxs("div",{className:"flex flex-1 h-full",children:[C.jsxs("div",{className:"flex h-full w-[356px] flex-col bg-grey-800",children:[C.jsxs("div",{className:"flex flex-shrink-0 items-center justify-between bg-grey-800 px-3.5 py-[10px]",children:[C.jsxs("div",{className:"flex items-center space-x-1 text-[#DDE1E6]",children:[C.jsx("span",{children:C.jsx(ye.FdGroup,{className:"h-[14px] w-[14px]"})}),C.jsx("span",{className:"text-[11px] font-semibold",children:"Privileges"})]}),C.jsx(nQ,{onCreate:c=>{i(c)}})]}),C.jsx(wX,{privileges:r,selectedPrivilege:n,selectPrivilege:c=>{i(c)}})]}),n&&r[n.id]?C.jsxs("div",{className:"privileges-container relative flex flex-1 flex-col overflow-x-auto border-l-[0.5px] border-grey-900 bg-grey-800",children:[C.jsxs("div",{className:"mb-1 flex h-full w-full flex-col items-stretch",children:[n.privilege!=="guest"?C.jsx(y9,{privileges:r,selectedPrivilege:n,onSelect:c=>i(t[c]),setShowIncluded:u,showIncluded:a}):null,C.jsx(rQ,{privileges:r,selectedPrivilege:n,onSelect:c=>i(t[c]),showIncluded:a})]}),C.jsx(oQ,{privileges:r,selectedPrivilege:n,setSelectedPrivilege:i})]}):C.jsx(bD,{tab:"Privilege"})]})},oQ=({privileges:e,selectedPrivilege:t,setSelectedPrivilege:r})=>{const[n,i]=A.useState(!1);return C.jsx(Me.Panel,{path:Me.ROLES_TAB_PATH,isOpen:n,onOpen:()=>i(!0),onClose:()=>i(!1),children:C.jsx("div",{className:"h-full w-full px-3 pb-3",children:C.jsx("div",{className:"h-full w-full rounded bg-grey-900",children:C.jsx(v9,{dict:e,data:Z.getGraphData(t.id,e),onSelect:o=>r(e[o])})})})})};var yb={},ia={},Au={},BM;function Wk(){if(BM)return Au;BM=1,Object.defineProperty(Au,"__esModule",{value:!0}),Au.default=r;let e;const t=new Uint8Array(16);function r(){if(!e&&(e=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!e))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return e(t)}return Au}var Zi={},oa={},aa={},FM;function aQ(){if(FM)return aa;FM=1,Object.defineProperty(aa,"__esModule",{value:!0}),aa.default=void 0;var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return aa.default=e,aa}var $M;function dl(){if($M)return oa;$M=1,Object.defineProperty(oa,"__esModule",{value:!0}),oa.default=void 0;var e=t(aQ());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){return typeof i=="string"&&e.default.test(i)}var n=r;return oa.default=n,oa}var zM;function hl(){if(zM)return Zi;zM=1,Object.defineProperty(Zi,"__esModule",{value:!0}),Zi.default=void 0,Zi.unsafeStringify=n;var e=t(dl());function t(a){return a&&a.__esModule?a:{default:a}}const r=[];for(let a=0;a<256;++a)r.push((a+256).toString(16).slice(1));function n(a,u=0){return r[a[u+0]]+r[a[u+1]]+r[a[u+2]]+r[a[u+3]]+"-"+r[a[u+4]]+r[a[u+5]]+"-"+r[a[u+6]]+r[a[u+7]]+"-"+r[a[u+8]]+r[a[u+9]]+"-"+r[a[u+10]]+r[a[u+11]]+r[a[u+12]]+r[a[u+13]]+r[a[u+14]]+r[a[u+15]]}function i(a,u=0){const c=n(a,u);if(!(0,e.default)(c))throw TypeError("Stringified UUID is invalid");return c}var o=i;return Zi.default=o,Zi}var HM;function sQ(){if(HM)return ia;HM=1,Object.defineProperty(ia,"__esModule",{value:!0}),ia.default=void 0;var e=r(Wk()),t=hl();function r(d){return d&&d.__esModule?d:{default:d}}let n,i,o=0,a=0;function u(d,f,h){let p=f&&h||0;const v=f||new Array(16);d=d||{};let m=d.node||n,y=d.clockseq!==void 0?d.clockseq:i;if(m==null||y==null){const _=d.random||(d.rng||e.default)();m==null&&(m=n=[_[0]|1,_[1],_[2],_[3],_[4],_[5]]),y==null&&(y=i=(_[6]<<8|_[7])&16383)}let b=d.msecs!==void 0?d.msecs:Date.now(),x=d.nsecs!==void 0?d.nsecs:a+1;const w=b-o+(x-a)/1e4;if(w<0&&d.clockseq===void 0&&(y=y+1&16383),(w<0||b>o)&&d.nsecs===void 0&&(x=0),x>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");o=b,a=x,i=y,b+=122192928e5;const S=((b&268435455)*1e4+x)%4294967296;v[p++]=S>>>24&255,v[p++]=S>>>16&255,v[p++]=S>>>8&255,v[p++]=S&255;const E=b/4294967296*1e4&268435455;v[p++]=E>>>8&255,v[p++]=E&255,v[p++]=E>>>24&15|16,v[p++]=E>>>16&255,v[p++]=y>>>8|128,v[p++]=y&255;for(let _=0;_<6;++_)v[p+_]=m[_];return f||(0,t.unsafeStringify)(v)}var c=u;return ia.default=c,ia}var sa={},Ln={},ua={},UM;function Gk(){if(UM)return ua;UM=1,Object.defineProperty(ua,"__esModule",{value:!0}),ua.default=void 0;var e=t(dl());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){if(!(0,e.default)(i))throw TypeError("Invalid UUID");let o;const a=new Uint8Array(16);return a[0]=(o=parseInt(i.slice(0,8),16))>>>24,a[1]=o>>>16&255,a[2]=o>>>8&255,a[3]=o&255,a[4]=(o=parseInt(i.slice(9,13),16))>>>8,a[5]=o&255,a[6]=(o=parseInt(i.slice(14,18),16))>>>8,a[7]=o&255,a[8]=(o=parseInt(i.slice(19,23),16))>>>8,a[9]=o&255,a[10]=(o=parseInt(i.slice(24,36),16))/1099511627776&255,a[11]=o/4294967296&255,a[12]=o>>>24&255,a[13]=o>>>16&255,a[14]=o>>>8&255,a[15]=o&255,a}var n=r;return ua.default=n,ua}var VM;function Kk(){if(VM)return Ln;VM=1,Object.defineProperty(Ln,"__esModule",{value:!0}),Ln.URL=Ln.DNS=void 0,Ln.default=a;var e=hl(),t=r(Gk());function r(u){return u&&u.__esModule?u:{default:u}}function n(u){u=unescape(encodeURIComponent(u));const c=[];for(let d=0;d<u.length;++d)c.push(u.charCodeAt(d));return c}const i="6ba7b810-9dad-11d1-80b4-00c04fd430c8";Ln.DNS=i;const o="6ba7b811-9dad-11d1-80b4-00c04fd430c8";Ln.URL=o;function a(u,c,d){function f(h,p,v,m){var y;if(typeof h=="string"&&(h=n(h)),typeof p=="string"&&(p=(0,t.default)(p)),((y=p)===null||y===void 0?void 0:y.length)!==16)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let b=new Uint8Array(16+h.length);if(b.set(p),b.set(h,p.length),b=d(b),b[6]=b[6]&15|c,b[8]=b[8]&63|128,v){m=m||0;for(let x=0;x<16;++x)v[m+x]=b[x];return v}return(0,e.unsafeStringify)(b)}try{f.name=u}catch{}return f.DNS=i,f.URL=o,f}return Ln}var ca={},WM;function uQ(){if(WM)return ca;WM=1,Object.defineProperty(ca,"__esModule",{value:!0}),ca.default=void 0;function e(v){if(typeof v=="string"){const m=unescape(encodeURIComponent(v));v=new Uint8Array(m.length);for(let y=0;y<m.length;++y)v[y]=m.charCodeAt(y)}return t(n(i(v),v.length*8))}function t(v){const m=[],y=v.length*32,b="0123456789abcdef";for(let x=0;x<y;x+=8){const w=v[x>>5]>>>x%32&255,S=parseInt(b.charAt(w>>>4&15)+b.charAt(w&15),16);m.push(S)}return m}function r(v){return(v+64>>>9<<4)+14+1}function n(v,m){v[m>>5]|=128<<m%32,v[r(m)-1]=m;let y=1732584193,b=-271733879,x=-1732584194,w=271733878;for(let S=0;S<v.length;S+=16){const E=y,_=b,R=x,P=w;y=c(y,b,x,w,v[S],7,-680876936),w=c(w,y,b,x,v[S+1],12,-389564586),x=c(x,w,y,b,v[S+2],17,606105819),b=c(b,x,w,y,v[S+3],22,-1044525330),y=c(y,b,x,w,v[S+4],7,-176418897),w=c(w,y,b,x,v[S+5],12,1200080426),x=c(x,w,y,b,v[S+6],17,-1473231341),b=c(b,x,w,y,v[S+7],22,-45705983),y=c(y,b,x,w,v[S+8],7,1770035416),w=c(w,y,b,x,v[S+9],12,-1958414417),x=c(x,w,y,b,v[S+10],17,-42063),b=c(b,x,w,y,v[S+11],22,-1990404162),y=c(y,b,x,w,v[S+12],7,1804603682),w=c(w,y,b,x,v[S+13],12,-40341101),x=c(x,w,y,b,v[S+14],17,-1502002290),b=c(b,x,w,y,v[S+15],22,1236535329),y=d(y,b,x,w,v[S+1],5,-165796510),w=d(w,y,b,x,v[S+6],9,-1069501632),x=d(x,w,y,b,v[S+11],14,643717713),b=d(b,x,w,y,v[S],20,-373897302),y=d(y,b,x,w,v[S+5],5,-701558691),w=d(w,y,b,x,v[S+10],9,38016083),x=d(x,w,y,b,v[S+15],14,-660478335),b=d(b,x,w,y,v[S+4],20,-405537848),y=d(y,b,x,w,v[S+9],5,568446438),w=d(w,y,b,x,v[S+14],9,-1019803690),x=d(x,w,y,b,v[S+3],14,-187363961),b=d(b,x,w,y,v[S+8],20,1163531501),y=d(y,b,x,w,v[S+13],5,-1444681467),w=d(w,y,b,x,v[S+2],9,-51403784),x=d(x,w,y,b,v[S+7],14,1735328473),b=d(b,x,w,y,v[S+12],20,-1926607734),y=f(y,b,x,w,v[S+5],4,-378558),w=f(w,y,b,x,v[S+8],11,-2022574463),x=f(x,w,y,b,v[S+11],16,1839030562),b=f(b,x,w,y,v[S+14],23,-35309556),y=f(y,b,x,w,v[S+1],4,-1530992060),w=f(w,y,b,x,v[S+4],11,1272893353),x=f(x,w,y,b,v[S+7],16,-155497632),b=f(b,x,w,y,v[S+10],23,-1094730640),y=f(y,b,x,w,v[S+13],4,681279174),w=f(w,y,b,x,v[S],11,-358537222),x=f(x,w,y,b,v[S+3],16,-722521979),b=f(b,x,w,y,v[S+6],23,76029189),y=f(y,b,x,w,v[S+9],4,-640364487),w=f(w,y,b,x,v[S+12],11,-421815835),x=f(x,w,y,b,v[S+15],16,530742520),b=f(b,x,w,y,v[S+2],23,-995338651),y=h(y,b,x,w,v[S],6,-198630844),w=h(w,y,b,x,v[S+7],10,1126891415),x=h(x,w,y,b,v[S+14],15,-1416354905),b=h(b,x,w,y,v[S+5],21,-57434055),y=h(y,b,x,w,v[S+12],6,1700485571),w=h(w,y,b,x,v[S+3],10,-1894986606),x=h(x,w,y,b,v[S+10],15,-1051523),b=h(b,x,w,y,v[S+1],21,-2054922799),y=h(y,b,x,w,v[S+8],6,1873313359),w=h(w,y,b,x,v[S+15],10,-30611744),x=h(x,w,y,b,v[S+6],15,-1560198380),b=h(b,x,w,y,v[S+13],21,1309151649),y=h(y,b,x,w,v[S+4],6,-145523070),w=h(w,y,b,x,v[S+11],10,-1120210379),x=h(x,w,y,b,v[S+2],15,718787259),b=h(b,x,w,y,v[S+9],21,-343485551),y=o(y,E),b=o(b,_),x=o(x,R),w=o(w,P)}return[y,b,x,w]}function i(v){if(v.length===0)return[];const m=v.length*8,y=new Uint32Array(r(m));for(let b=0;b<m;b+=8)y[b>>5]|=(v[b/8]&255)<<b%32;return y}function o(v,m){const y=(v&65535)+(m&65535);return(v>>16)+(m>>16)+(y>>16)<<16|y&65535}function a(v,m){return v<<m|v>>>32-m}function u(v,m,y,b,x,w){return o(a(o(o(m,v),o(b,w)),x),y)}function c(v,m,y,b,x,w,S){return u(m&y|~m&b,v,m,x,w,S)}function d(v,m,y,b,x,w,S){return u(m&b|y&~b,v,m,x,w,S)}function f(v,m,y,b,x,w,S){return u(m^y^b,v,m,x,w,S)}function h(v,m,y,b,x,w,S){return u(y^(m|~b),v,m,x,w,S)}var p=e;return ca.default=p,ca}var GM;function cQ(){if(GM)return sa;GM=1,Object.defineProperty(sa,"__esModule",{value:!0}),sa.default=void 0;var e=r(Kk()),t=r(uQ());function r(o){return o&&o.__esModule?o:{default:o}}var i=(0,e.default)("v3",48,t.default);return sa.default=i,sa}var la={},fa={},KM;function lQ(){if(KM)return fa;KM=1,Object.defineProperty(fa,"__esModule",{value:!0}),fa.default=void 0;var t={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};return fa.default=t,fa}var YM;function fQ(){if(YM)return la;YM=1,Object.defineProperty(la,"__esModule",{value:!0}),la.default=void 0;var e=n(lQ()),t=n(Wk()),r=hl();function n(a){return a&&a.__esModule?a:{default:a}}function i(a,u,c){if(e.default.randomUUID&&!u&&!a)return e.default.randomUUID();a=a||{};const d=a.random||(a.rng||t.default)();if(d[6]=d[6]&15|64,d[8]=d[8]&63|128,u){c=c||0;for(let f=0;f<16;++f)u[c+f]=d[f];return u}return(0,r.unsafeStringify)(d)}var o=i;return la.default=o,la}var da={},ha={},XM;function dQ(){if(XM)return ha;XM=1,Object.defineProperty(ha,"__esModule",{value:!0}),ha.default=void 0;function e(i,o,a,u){switch(i){case 0:return o&a^~o&u;case 1:return o^a^u;case 2:return o&a^o&u^a&u;case 3:return o^a^u}}function t(i,o){return i<<o|i>>>32-o}function r(i){const o=[1518500249,1859775393,2400959708,3395469782],a=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof i=="string"){const f=unescape(encodeURIComponent(i));i=[];for(let h=0;h<f.length;++h)i.push(f.charCodeAt(h))}else Array.isArray(i)||(i=Array.prototype.slice.call(i));i.push(128);const u=i.length/4+2,c=Math.ceil(u/16),d=new Array(c);for(let f=0;f<c;++f){const h=new Uint32Array(16);for(let p=0;p<16;++p)h[p]=i[f*64+p*4]<<24|i[f*64+p*4+1]<<16|i[f*64+p*4+2]<<8|i[f*64+p*4+3];d[f]=h}d[c-1][14]=(i.length-1)*8/Math.pow(2,32),d[c-1][14]=Math.floor(d[c-1][14]),d[c-1][15]=(i.length-1)*8&4294967295;for(let f=0;f<c;++f){const h=new Uint32Array(80);for(let x=0;x<16;++x)h[x]=d[f][x];for(let x=16;x<80;++x)h[x]=t(h[x-3]^h[x-8]^h[x-14]^h[x-16],1);let p=a[0],v=a[1],m=a[2],y=a[3],b=a[4];for(let x=0;x<80;++x){const w=Math.floor(x/20),S=t(p,5)+e(w,v,m,y)+b+o[w]+h[x]>>>0;b=y,y=m,m=t(v,30)>>>0,v=p,p=S}a[0]=a[0]+p>>>0,a[1]=a[1]+v>>>0,a[2]=a[2]+m>>>0,a[3]=a[3]+y>>>0,a[4]=a[4]+b>>>0}return[a[0]>>24&255,a[0]>>16&255,a[0]>>8&255,a[0]&255,a[1]>>24&255,a[1]>>16&255,a[1]>>8&255,a[1]&255,a[2]>>24&255,a[2]>>16&255,a[2]>>8&255,a[2]&255,a[3]>>24&255,a[3]>>16&255,a[3]>>8&255,a[3]&255,a[4]>>24&255,a[4]>>16&255,a[4]>>8&255,a[4]&255]}var n=r;return ha.default=n,ha}var ZM;function hQ(){if(ZM)return da;ZM=1,Object.defineProperty(da,"__esModule",{value:!0}),da.default=void 0;var e=r(Kk()),t=r(dQ());function r(o){return o&&o.__esModule?o:{default:o}}var i=(0,e.default)("v5",80,t.default);return da.default=i,da}var pa={},JM;function pQ(){if(JM)return pa;JM=1,Object.defineProperty(pa,"__esModule",{value:!0}),pa.default=void 0;var e="00000000-0000-0000-0000-000000000000";return pa.default=e,pa}var va={},QM;function vQ(){if(QM)return va;QM=1,Object.defineProperty(va,"__esModule",{value:!0}),va.default=void 0;var e=t(dl());function t(i){return i&&i.__esModule?i:{default:i}}function r(i){if(!(0,e.default)(i))throw TypeError("Invalid UUID");return parseInt(i.slice(14,15),16)}var n=r;return va.default=n,va}var eD;function gQ(){return eD||(eD=1,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"NIL",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"parse",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"validate",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"version",{enumerable:!0,get:function(){return a.default}});var t=f(sQ()),r=f(cQ()),n=f(fQ()),i=f(hQ()),o=f(pQ()),a=f(vQ()),u=f(dl()),c=f(hl()),d=f(Gk());function f(h){return h&&h.__esModule?h:{default:h}}})(yb)),yb}var bb,tD;function mQ(){if(tD)return bb;tD=1;function e(t,r){if(!t||!r||!t.length||!r.length)throw new Error("Bad alphabet");this.srcAlphabet=t,this.dstAlphabet=r}return e.prototype.convert=function(t){var r,n,i,o={},a=this.srcAlphabet.length,u=this.dstAlphabet.length,c=t.length,d=typeof t=="string"?"":[];if(!this.isValid(t))throw new Error('Number "'+t+'" contains of non-alphabetic digits ('+this.srcAlphabet+")");if(this.srcAlphabet===this.dstAlphabet)return t;for(r=0;r<c;r++)o[r]=this.srcAlphabet.indexOf(t[r]);do{for(n=0,i=0,r=0;r<c;r++)n=n*a+o[r],n>=u?(o[i++]=parseInt(n/u,10),n=n%u):i>0&&(o[i++]=0);c=i,d=this.dstAlphabet.slice(n,n+1).concat(d)}while(i!==0);return d},e.prototype.isValid=function(t){for(var r=0;r<t.length;++r)if(this.srcAlphabet.indexOf(t[r])===-1)return!1;return!0},bb=e,bb}var xb,rD;function yQ(){if(rD)return xb;rD=1;var e=mQ();function t(r,n){var i=new e(r,n);return function(o){return i.convert(o)}}return t.BIN="01",t.OCT="01234567",t.DEC="0123456789",t.HEX="0123456789abcdef",xb=t,xb}var wb,nD;function bQ(){if(nD)return wb;nD=1;const{v4:e,validate:t}=gQ(),r=yQ(),n={cookieBase90:"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&'()*+-./:<=>?@[]^_`{|}~",flickrBase58:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ",uuid25Base36:"0123456789abcdefghijklmnopqrstuvwxyz"},i={consistentLength:!0};let o;const a=(d,f,h)=>{const p=f(d.toLowerCase().replace(/-/g,""));return!h||!h.consistentLength?p:p.padStart(h.shortIdLength,h.paddingChar)},u=(d,f)=>{const p=f(d).padStart(32,"0").match(/(\w{8})(\w{4})(\w{4})(\w{4})(\w{12})/);return[p[1],p[2],p[3],p[4],p[5]].join("-")},c=d=>Math.ceil(Math.log(2**128)/Math.log(d));return wb=(()=>{const d=(f,h)=>{const p=f||n.flickrBase58,v={...i,...h};if([...new Set(Array.from(p))].length!==p.length)throw new Error("The provided Alphabet has duplicate characters resulting in unreliable results");const m=c(p.length),y={shortIdLength:m,consistentLength:v.consistentLength,paddingChar:p[0]},b=r(r.HEX,p),x=r(p,r.HEX),w=()=>a(e(),b,y),E={alphabet:p,fromUUID:_=>a(_,b,y),maxLength:m,generate:w,new:w,toUUID:_=>u(_,x),uuid:e,validate:(_,R=!1)=>{if(!_||typeof _!="string")return!1;const P=v.consistentLength?_.length===m:_.length<=m,N=_.split("").every(j=>p.includes(j));return R===!1?P&&N:P&&N&&t(u(_,x))}};return Object.freeze(E),E};return d.constants=n,d.uuid=e,d.generate=()=>(o||(o=d(n.flickrBase58).generate),o()),d})(),wb}var xQ=bQ();const wQ=({role:e})=>{var R;const[t,r]=A.useState(e),[n,i]=A.useState(e.role),[o,a]=A.useState(null),u=Z.useAppSelector(Z.selectPrivileges),c=((R=t.privileges)==null?void 0:R.filter(P=>u[P]&&u[P].privilege!=="guest").length)||0,d=Z.useAppSelector(Z.selectRoles),f=Z.useAppDispatch(),{selectedRole:h,selectRole:p}=Yb(),[v,m]=A.useState(!1),y=Me.useOutsideClick(()=>{v&&x()});A.useEffect(()=>{e.role||m(!0)},[]),A.useEffect(()=>{r(e)},[e]);const b=()=>{a(""),m(!0)},x=()=>{a(null),e.role&&e.role===n&&m(!1);try{const P=Z.saveRole({...t,role:n},d);f(Z.updateRoles(P)),m(!1)}catch(P){a(P.message)}},w=Z.useAppDispatch(),S=async P=>{P.stopPropagation();const{confirmed:N}=await w(Z.openModal({title:"Delete Role",type:Me.ModalType.CONFIRM,color:Me.ModalColor.DANGER,message:"Are you sure you want to remove this Role?",icon:"FdWarningDanger"})).unwrap();N&&E()},E=()=>{const P=Z.removeRole(t.id,d),N=Object.keys(P),j=N.length>=1,L=N[N.length-1];p(L&&j?L:null),f(Z.updateRoles(P))},_=(P=null)=>{if(P&&P.stopPropagation(),!e.role){E();return}m(!1),i(e.role)};return C.jsx(C.Fragment,{children:C.jsxs("div",{className:Ve("rounded border bg-grey-300 p-2",{"border-grey-100":h!==t.id,"border-primary-dark":h===t.id}),role:"button","data-cy":"privilegeCard",onClick:()=>{p(t.id)},ref:y,children:[C.jsx("div",{className:"flex items-center justify-between",children:C.jsxs("div",{className:"flex flex-1 items-center text-white",children:[C.jsx("span",{className:"mr-4",children:C.jsx(ye.FdGroup,{className:"h-6 w-6"})}),v?C.jsxs("div",{className:"relative h-6 flex-1",children:[C.jsx("input",{type:"text",value:n,onChange:({target:{value:P}})=>{i(P)},onKeyDown:P=>{P.key==="Enter"&&x(),P.key==="Escape"&&_()},className:Ve("absolute inset-0 mr-2 h-6 min-w-0 rounded border border-grey-200 bg-grey-300 p-1 text-xs focus:border-primary-dark focus:outline-none",{"border-b border-red-400":o}),placeholder:"role",autoComplete:"off",autoFocus:!0}),o&&C.jsx("p",{className:"absolute top-5 mt-1 rounded bg-red-400 p-1 text-xs text-white shadow-md",children:o})]}):C.jsx("span",{className:"inline-block grow overflow-hidden truncate whitespace-nowrap text-xs font-bold",title:n,children:t.role}),C.jsx("div",{className:Ve("justify-betwee ml-auto flex w-fit items-center gap-x-2"),children:v?C.jsxs(C.Fragment,{children:[C.jsx("button",{onClick:x,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdSave,{className:"h-4 w-4 text-grey-50"})}),C.jsx("button",{onClick:_,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdClose,{className:"h-4 w-4 text-grey-50"})})]}):C.jsxs(C.Fragment,{children:[C.jsx("button",{onClick:b,className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdPen,{className:"h-4 w-4 text-grey-50"})}),C.jsx("button",{onClick:P=>S(P),className:"rounded p-1 hover:bg-primary-hover hover:text-white",children:C.jsx(ye.FdTrash,{className:"h-4 w-4 text-grey-50"})})]})})]})}),C.jsxs("span",{className:Ve("ml-[43px] py-1 text-xs text-white"),children:[c," Privilege",c>1?"s":""]})]})})},Yk=(e,t)=>e?t[e]:null,iD=(e,t,r)=>{const n=Yk(e,r);return n?Object.values(r).reduce((i,o)=>o.id===e?n.privileges.includes(t)?{...i,[n.id]:{...n,privileges:n.privileges.filter(a=>a!==t)}}:{...i,[n.id]:{...n,privileges:[...n.privileges,t]}}:{...i,[o.id]:o},{}):r},_Q=()=>{const e=Z.useAppSelector(Z.selectPrivileges),t=Z.useAppSelector(Z.selectRoles),r=Z.useAppDispatch(),{selectedRole:n}=Yb(),i=Yk(n,t),o=(a,u)=>u&&u.privileges.includes(a.id);return C.jsxs("div",{className:"w-full border-b border-grey-900 p-4 ",children:[C.jsx("div",{className:"mb-4 flex items-center gap-x-5 text-white",children:C.jsx("h4",{className:"text-[13px] font-semibold ",children:"Privileges"})}),C.jsxs("div",{className:"flex flex-wrap items-center gap-1",children:[C.jsx("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex items-center gap-1 space-x-1 rounded bg-primary-darker px-2 py-0.5 text-xs font-semibold italic text-white"),children:"guest"}),Object.values(e).filter(a=>o(a,i)&&a.privilege!=="guest").map((a,u)=>C.jsxs("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex cursor-pointer items-center gap-1 space-x-1 rounded px-2 py-0.5",{"bg-primary-dark text-white":o(a,i),"bg-grey-300 text-grey-100":!o(a,i)}),onClick:()=>{const c=iD(i.id,a.id,t);r(Z.updateRoles(c))},children:[C.jsx("span",{className:"text-xs",children:a.privilege}),C.jsx("button",{className:"focus:outline-none",children:o(a,i)?C.jsx(ye.FdMinus,{className:"h-[14px] w-[14px]"}):C.jsx(ye.FdPlus,{className:"h-[14px] w-[14px]"})})]},u)),Object.values(e).filter(a=>!o(a,i)&&a.privilege!=="guest").map((a,u)=>C.jsxs("div",{"data-cy":"item=>Permisions",className:Ve("inline-flex cursor-pointer items-center gap-1 space-x-1 rounded px-2 py-0.5",{"bg-primary-dark text-white":o(a,i),"bg-grey-300 text-grey-100":!o(a,i)}),onClick:()=>{const c=iD(i.id,a.id,t);r(Z.updateRoles(c))},children:[C.jsx("span",{className:"text-xs",children:a.privilege}),C.jsx("button",{className:"text-white focus:outline-none",children:o(a,i)?C.jsx(ye.FdMinus,{className:"h-[14px] w-[14px]"}):C.jsx(ye.FdPlus,{className:"h-[14px] w-[14px]"})})]},u))]})]})},EQ=({children:e})=>C.jsx("div",{className:"h-full w-full",children:C.jsx("div",{className:"flex h-full w-full flex-1 items-center justify-center bg-grey-800",children:C.jsxs("div",{className:"flex flex-col items-center justify-center space-y-4 py-4 text-grey-200",children:[C.jsx(ye.FdInfoBold,{className:"absolute -right-full h-10 w-10 translate-x-1"}),C.jsx("div",{className:"text-center text-sm",children:e})]})})}),Gb=(e,t,r,n=!1)=>{const i=e.applyTo,o=e.type===Z.EPermissionType.DATACLASS?"ds":i.split(".")[0],a={...t,...r},u=()=>({value:!n,inherited:!1,from:[],explicitly:!1}),c={read:u(),create:u(),update:u(),drop:u(),execute:u(),promote:u()},d=h=>{h.forEach(p=>{a[p]&&(a[p].resources.forEach(v=>{if(v.resource===i||v.resource===o){const m=Gb(e,t,{[p]:a[p]},n);Object.values(v.permissions).forEach(y=>{c[y.name].explicitly||(!c[y.name].from.includes(a[p].privilege)&&y.checked&&c[y.name].from.push(a[p].privilege),c[y.name].inherited=c[y.name].inherited||m[y.name].value||m[y.name].inherited)})}}),a[p].includes.length>0&&d(a[p].includes))})};if(Object.values(r).forEach(h=>{h.resources.forEach(p=>{p.resource===i&&Object.values(p.permissions).forEach(v=>{v.checked&&(c[v.name].explicitly=!0,n&&(c[v.name].value=!0))})}),(h.includes.length>0||h.privilege==="guest")&&d(h.includes)}),Object.values(t).forEach(h=>{h.resources.forEach(p=>{p.resource===i&&(h.privilege==="guest"?Object.values(p.permissions).forEach(v=>{v.checked&&(c[v.name].explicitly=!0,n&&(c[v.name].value=!0))}):Object.values(p.permissions).forEach(v=>{!c[v.name].explicitly&&v.checked&&(n?c[v.name].value=!0:c[v.name].value=!1)}))})}),(n?Object.entries(c).some(([h,p])=>h!=="promote"&&!p.value&&!p.explicitly):Object.entries(c).some(([h,p])=>h!=="promote"&&p.value&&!p.explicitly))&&![Z.EPermissionType.DATASTORE,Z.EPermissionType.SINGLETON].includes(e.type)){const h={applyTo:o,type:e.type===Z.EPermissionType.DATACLASS?Z.EPermissionType.DATASTORE:e.type===Z.EPermissionType.SINGLETON_METHOD?Z.EPermissionType.SINGLETON:Z.EPermissionType.DATACLASS},p=Gb(h,t,r,n),v=m=>{let y=c[m].value;return n?!c[m].value&&!c[m].explicitly&&(y=p[m].value):c[m].value&&!c[m].explicitly&&(y=p[m].value),{value:y,inherited:c[m].inherited||p[m].inherited,from:c[m].from.length>0?c[m].from:p[m].from,explicitly:c[m].explicitly}};return{read:v("read"),create:v("create"),update:v("update"),drop:v("drop"),execute:v("execute"),promote:v("promote")}}return{read:c.read,create:c.create,update:c.update,drop:c.drop,execute:c.execute,promote:c.promote}},SQ=e=>{switch(e){case"dataclass":return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"});case"singleton":return C.jsx(ye.FdSingleton,{className:"h-6 w-6"});case"datastore":return C.jsx(ye.FdModel3,{className:"h-6 w-6"});case"attribute":return C.jsx(ye.FdTableColumn,{className:"h-6 w-6"});case"method":return C.jsx(ye.FdCode,{className:"h-6 w-6"});case"singletonMethod":return C.jsx(ye.FdFunctionSingleton,{className:"h-6 w-6"});case"entityselMethod":return C.jsx(ye.FdFunctionSelection,{className:"h-6 w-6"});case"entityMethod":return C.jsx(ye.FdFunctionEntity,{className:"h-6 w-6"});case"dsMethod":return C.jsx(ye.FdFunctionDatastore,{className:"h-6 w-6"});case"dataclassMethod":return C.jsx(ye.FdFunctionDataclass,{className:"h-6 w-6"});default:return C.jsx(ye.FdTableHeader,{className:"h-6 w-6"})}},ga=Hx,ma=Ux,co=({privileges:e,permission:t,hasChild:r,depth:n,isChild:i=!1,className:o,inSearch:a,toggleCollapse:u,collapsed:c,isRestrictedByDefault:d,toastMessageCallback:f})=>{const[h,p]=t.applyTo.split("."),v=A.useMemo(()=>Gb(t,e.otherPrivs,e.rolePrivs,d),[e,t,d]);return C.jsxs("tr",{className:Ve("group even:bg-grey-600",o),children:[C.jsxs("td",{className:Ve("flex h-full w-full items-center gap-3 p-0 text-xs group-hover:rounded-l group-hover:bg-grey-300",{"px-1":a}),children:[Array(n).fill("").map((m,y)=>C.jsx("div",{className:Ve("ml-1.5 mr-1 h-full w-0.5 border-l-2 border-grey-100",{"mr-0.5":i})},y)),r&&C.jsx("button",{onClick:u,className:"w-3",children:c?C.jsx(ye.FdRight,{className:"inline h-4 w-4"}):C.jsx(ye.FdDown,{className:"inline h-4 w-4"})}),SQ(t.type),a?t.applyTo:p||h]}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.read.value||v.read.inherited}),onClick:f,children:(v.read.value||v.read.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.read.value&&v.read.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.read.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.read.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.create.value||v.create.inherited}),onClick:f,children:(v.create.value||v.create.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.create.value&&v.create.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.create.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.create.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.update.value||v.update.inherited}),onClick:f,children:(v.update.value||v.update.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.update.value&&v.update.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.update.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.update.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:bg-grey-300",children:[Z.EPermissionType.ATTRIBUTE,Z.EPermissionType.DATASTORE,Z.EPermissionType.DATACLASS].includes(t.type)&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.drop.value||v.drop.inherited}),onClick:f,children:(v.drop.value||v.drop.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.drop.value&&v.drop.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.drop.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.drop.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})}),C.jsx("td",{className:"py-2 text-center group-hover:rounded-r group-hover:bg-grey-300",children:t.type!=="attribute"&&C.jsxs("div",{className:"relative mx-auto flex w-fit items-center justify-center gap-x-1",children:[C.jsx("div",{className:Ve("h-4 w-4 rounded border-[2px] p-2",{"grid place-content-center border-grey-200 bg-grey-200":v.execute.value||v.execute.inherited}),onClick:f,children:(v.execute.value||v.execute.inherited)&&C.jsx(ye.FdCheckNaked,{className:"text-grey-50"})}),C.jsx("div",{className:"absolute left-full top-1/2 flex -translate-y-1/2 translate-x-1/2 cursor-pointer items-center",children:!v.execute.value&&v.execute.inherited?C.jsxs(ga,{openDelay:0,closeDelay:0,children:[C.jsx(ma,{children:C.jsx(ye.FdInfoBold,{className:"h-4 w-4 text-white"})}),C.jsx(jr,{container:Bt(),children:C.jsx(qr,{style:{zIndex:50},avoidCollisions:!0,side:"top",className:"max-w-xs rounded bg-primary-light py-2 text-sm font-semibold text-primary",children:C.jsx("div",{className:"space-y-1 px-2",children:v.execute.from.length?C.jsxs("div",{className:"flex items-start text-s",children:[C.jsx(ye.FdBulb,{className:"mr-2 mt-0.5 h-4 w-4 flex-shrink-0"}),C.jsxs("p",{children:[C.jsx("span",{className:"mr-1",children:"Permission inherited from:"}),C.jsx("ul",{children:v.execute.from.map((m,y)=>C.jsx("li",{className:"cursor-pointer list-disc font-bold",children:m},y))})]})]}):null})})})]}):""})]})})]})},oD=({depth:e,permission:t,privileges:r,childCollapsed:n,didChildCollapsed:i,toastMessageCallback:o})=>{const[a,u]=A.useState(n),c=Z.useAppSelector(Z.selectRestrictedByDefault),d=Z.useAppSelector(Z.selectPrivileges);return A.useEffect(()=>{n===!0&&u(!0)},[n]),C.jsxs(C.Fragment,{children:[C.jsx(co,{privileges:r,permission:t,isChild:!0,depth:e,hasChild:!0,toggleCollapse:()=>{const f=!a;u(f),i==null||i(f)},isRestrictedByDefault:c,allPrivileges:d,collapsed:a,toastMessageCallback:o}),!a&&C.jsxs(C.Fragment,{children:[t.attributes.map((f,h)=>C.jsx(co,{privileges:r,permission:f,depth:e+1,isRestrictedByDefault:c,allPrivileges:d,toastMessageCallback:o},`${f.type}-${h}`)),t.methods.map((f,h)=>C.jsx(co,{privileges:r,permission:f,depth:e+1,isRestrictedByDefault:c,allPrivileges:d,toastMessageCallback:o},`${f.type}-${h}`))]})]})},OQ=({selectedRole:e})=>{const[t,r]=A.useState(null),[n,i]=A.useState(null),{styles:o,attributes:a}=xc(t,n,{modifiers:[{name:"offset",options:{offset:[0,10]}}]}),u=Z.useAppSelector(Z.selectRestrictedByDefault),c=Z.useAppSelector(Z.selectPrivileges),[d,f]=A.useState([]),[h,p]=A.useState(""),v=Z.useAppSelector(Z.selectCatalogMethods),m=Z.useAppSelector(Z.selectDataclasses),y=Z.useAppSelector(Z.selectSingletons),[b,x]=A.useState({}),[w,S]=A.useState([]);A.useEffect(()=>{const B=m9(v,Object.values(m),Object.values(y));x(B)},[e]);function E(B){const $=["datastore","singleton","dataclass","attribute","dsMethod","dataclassMethod","entityMethod","entityselMethod","singletonMethod"];return B.sort((W,Y)=>{const ee=$.indexOf(W.type),H=$.indexOf(Y.type);return ee!==H?ee-H:W.applyTo.toLowerCase()>Y.applyTo.toLowerCase()?1:-1})}A.useEffect(()=>{S(E(Ax(h,v,Object.values(m),Object.values(y)).filter(B=>d.length?d.includes(B.type):!0)))},[d,h]);const[_,R]=A.useState(!1),P=B=>{f($=>$.some(W=>B.includes(W))?$.filter(W=>!B.includes(W)):[...$,...B])},N=Z.useAppSelector(Z.selectRoles),j={toggleAllCollapsed:B=>{B.allCollapsed=!B.allCollapsed},toggleChildCollapsed:B=>{B.childCollapsed=!B.childCollapsed},setAllCollapsed:(B,$)=>{B.allCollapsed=$},setChildCollapsed:(B,$)=>{B.childCollapsed=$}},L=A.useMemo(()=>{const B=Object.values(c).find(H=>H.privilege==="guest"),$=N[e],W=$?Object.fromEntries($.privileges.map(H=>[H,c[H]]).filter(([,H])=>!!H)):{};if(u)return{rolePrivs:W,otherPrivs:B?{[B.id]:B}:{}};const Y=B?{[B.id]:{...B,active:!0}}:{},ee=Object.fromEntries(Object.entries(c).filter(([H])=>H!==(B==null?void 0:B.id)&&!($!=null&&$.privileges.includes(H))).map(([H,Q])=>[H,{...Q,active:!1}]));return{rolePrivs:W,otherPrivs:{...Y,...ee}}},[c,N,e,u]),{state:{allCollapsed:F,childCollapsed:k},dispatch:D}=Me.useEnhancedState({allCollapsed:!1,childCollapsed:!1},j,"Table Collapse Store"),T=()=>{Me.toastSubject.next({kind:"info",markdown:!0,message:'<div className="flex gap-x-1 items-center"><h3 className="font-bold mr-1">Info:</h3><p className="font-normal">You can add or modify permissions only in the Privilege section.</p></div>',customIcon:ye.FdInfoCircle})};return C.jsxs(fl,{className:"z-20 h-full flex-1 overflow-auto bg-grey-800 p-[15px] pt-0",style:{maxHeight:"calc(100vh - 5.5rem - 85px - 20px)"},children:[C.jsxs("table",{className:"relative h-full w-full",children:[C.jsx("thead",{className:"sticky top-0 z-20 bg-grey-800",children:C.jsxs("tr",{className:"border-b border-grey-100",children:[C.jsx("td",{className:"py-2",children:C.jsxs("div",{className:"flex items-center space-x-2",children:[C.jsx(Me.Tooltip,{label:"Collapse All",placement:"top",container:Bt(),children:C.jsx("button",{onClick:()=>{k?(D.setAllCollapsed(!0),R(!0)):D.setChildCollapsed(!0)},className:Ve("cursor-pointer rounded-md p-1 hover:bg-primary-hover focus:outline-none",{"pointer-events-none text-grey-200":F,"text-white":!F}),children:C.jsx(ye.FdCollapseAll,{className:"h-4 w-4"})})}),C.jsxs("div",{className:"relative w-56 text-white",children:[C.jsx("div",{className:"absolute inset-y-0 left-0 flex items-center px-1",children:C.jsx(ye.FdSearch,{className:"h-4 w-4 text-gray-400"})}),C.jsx("div",{className:"absolute inset-y-0 right-0 flex items-center px-2",children:C.jsx(wr.Popover,{className:"flex items-center",children:({open:B})=>C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{ref:r,children:C.jsx(ye.FdAdjust,{className:"h-4 w-4"})}),B&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:i,style:o.popper,...a.popper,className:"z-50 rounded-md border border-grey-50 bg-grey-900 px-4 py-2.5 text-xs text-grey-50",static:!0,children:[C.jsx("h5",{className:"mb-2 text-sm",children:"Filter"}),C.jsxs("div",{className:"space-y-2 text-s",children:[C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("datastore"),onChange:()=>{P(["datastore"])},label:"Datastore"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("dataclass"),onChange:()=>{P(["dataclass"])},label:"Dataclass"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("singleton"),onChange:()=>{P(["singleton"])},label:"Singleton"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.some($=>["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"].includes($)),onChange:()=>{P(["method","singletonMethod","dsMethod","dataclassMethod","entityMethod","entityselMethod"])},label:"Functions"})}),C.jsx("div",{className:"flex items-center",children:C.jsx(Me.Checkbox,{isChecked:d.includes("attribute"),onChange:()=>{P(["attribute"])},label:"Attribute"})})]})]})})]})})}),C.jsx("input",{type:"text",className:"block h-6 w-full rounded bg-grey-300 px-1 py-1.5 pl-6 text-xs focus:outline-none",placeholder:"Search",value:h,onChange:B=>{p(B.target.value)}})]})]})}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"read"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Create"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Update"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Delete"}),C.jsx("td",{className:"bg-grey-800 px-4 py-2 text-center text-[12px] text-white",children:"Execute"})]})}),C.jsx("tbody",{className:"relative bg-grey-800 text-white",children:d.length||h?w.map((B,$)=>C.jsx(co,{privileges:L,permission:B,depth:0,inSearch:!0,isRestrictedByDefault:u,allPrivileges:c,toastMessageCallback:T},`${B.type}-${$}`)):Object.values(b).map((B,$)=>C.jsxs(A.Fragment,{children:[C.jsx(co,{privileges:L,permission:B,isRestrictedByDefault:u,allPrivileges:c,hasChild:!0,depth:0,toggleCollapse:()=>{const W=!_;R(W),D.setAllCollapsed(!W&&F?!1:F)},collapsed:_,toastMessageCallback:T}),B.type==="datastore"&&!_?C.jsxs(C.Fragment,{children:[B.methods.map((W,Y)=>C.jsx(co,{privileges:L,isRestrictedByDefault:u,allPrivileges:c,permission:W,depth:1,collapsed:F||!1,toastMessageCallback:T},`${W.type}-${Y}`)),B.dataClasses.map((W,Y)=>C.jsx(oD,{depth:1,privileges:L,permission:W,childCollapsed:k,didChildCollapsed:ee=>{D.setChildCollapsed(ee?k:!1)},toastMessageCallback:T},`${W.type}-${Y}`))]}):null,B.singletons.map((W,Y)=>C.jsx(oD,{depth:0,privileges:L,permission:W,childCollapsed:F,didChildCollapsed:ee=>{D.setAllCollapsed(ee?F:!1)},toastMessageCallback:T},`${W.type}-${Y}`))]},`${B.type}-${$}`))})]}),(h||d.length)&&!w.length?C.jsx(EQ,{children:"The Permission you're looking for can't be found "}):null]})},CQ=()=>{const e=Z.useAppSelector(Z.selectRoles),t=Z.useAppDispatch(),[r,n]=A.useState(null),[i,o]=A.useState(null),[a,u]=A.useState(""),[c,d]=A.useState(null),{styles:f,attributes:h}=xc(r,i,{modifiers:[{name:"offset",options:{offset:[-10,10]}}],placement:"right-start"});A.useEffect(()=>{u(""),d(null)},[i]);const p=()=>{if(!a)throw new Error("Please enter a valid name");if(Object.values(e).find(b=>b.role===a))throw new Error(`A role with the name ${a} already exists`);const m=xQ.generate(),y=Z.createRole(m,a,e);t(Z.updateRoles(y))};return C.jsx(wr.Popover,{children:({open:v,close:m})=>{const y=()=>{d(null);try{p(),m()}catch(b){d(b.message)}};return C.jsxs(C.Fragment,{children:[C.jsx(wr.Popover.Button,{className:"rounded p-1 hover:bg-primary-hover","data-cy":"New-priv-btn",ref:n,children:C.jsx("span",{children:C.jsx(ye.FdPlus,{className:"h-4 w-4 text-white"})})}),v&&C.jsx(Qc,{children:C.jsxs(wr.Popover.Panel,{ref:o,style:f.popper,...h.popper,"data-cy":"New-priv-pop-up",className:"z-50 min-w-[256px] rounded border border-grey-50 bg-grey-900 px-4 py-2 text-xs text-grey-50 shadow-md",static:!0,children:[C.jsx("h5",{className:"mb-2 text-xs font-semibold",children:"Create New Role"}),C.jsxs("div",{className:"mt-2",children:[C.jsxs("label",{className:"flex items-center space-x-4",children:[C.jsx("span",{className:"text-grey-100",children:"Name"}),C.jsx("input",{autoFocus:!0,value:a,onChange:b=>u(b.target.value),onKeyDown:b=>{b.key==="Enter"&&y()},type:"text",className:Ve("w-full rounded border bg-grey-300 p-1 focus:outline-none",{"border-grey-100":!c,"border-red-400":c})})]}),c&&C.jsx("p",{className:"mt-1 text-xs text-red-400",children:c})]}),C.jsxs("div",{className:"mt-4 flex items-center justify-center space-x-2",children:[C.jsx("button",{className:"rounded border border-primary-dark bg-primary-dark px-4 py-1 hover:border-primary-hover hover:bg-primary-hover",onClick:()=>{y()},children:"Create"}),C.jsx("button",{className:"rounded border border-grey-100 px-4 py-1 text-grey-100 hover:bg-white hover:text-primary-dark",onClick:()=>m(),children:"Cancel"})]})]})})]})}})},RQ=()=>{const e=Z.useAppSelector(Z.selectRoles),{selectedRole:t}=Yb();return C.jsxs("div",{className:"flex flex-1 h-full",children:[C.jsxs("div",{className:"flex h-full w-[356px] flex-col bg-grey-800",children:[C.jsxs("div",{className:"flex flex-shrink-0 items-center justify-between bg-grey-800 px-3.5 py-[10px]",children:[C.jsxs("div",{className:"flex items-center space-x-1 text-[#DDE1E6]",children:[C.jsx("span",{children:C.jsx(ye.FdGroup,{className:"h-[14px] w-[14px]"})}),C.jsx("span",{className:"text-[11px] font-semibold",children:"Roles"})]}),C.jsx(CQ,{})]}),C.jsx("div",{className:"flex-1 space-y-4 overflow-auto p-4 pb-10 pt-1",children:Object.values(e).map((r,n)=>C.jsx(wQ,{role:r},n))})]}),C.jsx("div",{className:Ve("relative flex h-full w-full flex-1 flex-col items-stretch overflow-x-auto bg-grey-800",{"border-l-[0.5px] border-grey-900":t}),children:C.jsx("div",{className:"flex h-full w-full select-none flex-col bg-grey-800",children:t?C.jsxs(C.Fragment,{children:[C.jsx(_Q,{}),C.jsx(OQ,{selectedRole:t})]}):C.jsx(bD,{tab:"Role"})})})]})};function Xk(){const e=Z.useAppSelector(Z.selectRolesFlags),t=Z.useAppDispatch();A.useEffect(()=>{t(Z.setTabFlags({path:Me.ROLES_TAB_PATH,flags:e}))},[e])}const Zk=()=>{const e=Z.useAppSelector(Z.selectQodly),t=Z.useAppSelector(Z.selectSelectedTab),r=Z.useAppSelector(Z.selectForceLogin),n=Z.useAppSelector(Z.selectRestrictedByDefault),i=A.useRef(),o=Z.useAppDispatch();return Xk(),C.jsx("div",{className:"absolute inset-0 flex flex-1 overflow-hidden",children:C.jsx("div",{className:"relative flex flex-1 overflow-x-auto bg-grey-900","data-cy":"Roles&Privileges-editor-cy",ref:a=>i.current=a,children:C.jsxs("div",{className:"flex w-full flex-col",children:[C.jsx(Jz,{activeTab:t,forceLogin:r,restrictedByDefault:n,onTabChange:a=>{o(Z.toggleTab(a))},onForceLoginChange:a=>{o(Z.toggleForceLogin(a))},onRestrictedByDefaultChange:a=>{o(Z.toggleRestrictedByDefault(a))},qodly:e}),t==="roles"?C.jsx(Qz,{children:C.jsx(RQ,{})}):C.jsx(iQ,{})]})})})},PQ=()=>{const e=Z.useAppSelector(Z.selectModals),t=Z.useAppDispatch();return C.jsx(C.Fragment,{children:e.map((r,n)=>C.jsx(Me.Modal,{hasOverlay:n===0,...r,onClose:i=>t(Z.closeModal(i)),onEdit:i=>t(Z.editModal(i)),container:Bt()},r.id))})},IQ=({initialValue:e,onChange:t,...r})=>{const n=Z.useAppSelector(Z.selectRolesFlags),i=Z.useAppSelector(Z.selectRolesAndPrivileges,(a,u)=>ow.isEqual(a,u)),o=Z.useAppDispatch();return A.useEffect(()=>{if(e)try{const a=JSON.parse(e);o(Z.setRolesContent({content:a,flags:{touched:!1}}))}catch(a){console.error("[Roles Editor Standalone] Error while parsing the initial value:",a)}},[e]),Me.useDidMountEffect(()=>{if(n.touched&&t)try{const a=JSON.stringify(i,null,2);t(a)}catch(a){console.error("[Roles Editor Standalone] Error on value stringify:",a)}},[i]),C.jsxs(C.Fragment,{children:[C.jsx("div",{className:"relative z-10 overflow-hidden",style:{height:"100vh"},children:C.jsx(Zk,{...r})}),C.jsx(PQ,{})]})},NQ=e=>C.jsx(Z.ReduxProvider,{store:Z.getStore(),children:C.jsx(Me.TipsProvider,{children:C.jsx(IQ,{...e})})});exports.ROLES_EDITOR_SCOPE_CLASS=sD.ROLES_EDITOR_SCOPE_CLASS;exports.Roles=Zk;exports.Standalone=NQ;exports.useRolesFlagsSync=Xk;
|
|
72
72
|
//# sourceMappingURL=index.cjs.js.map
|