Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.149.246.106
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
snap /
lxd /
33246 /
share /
lxd-ui /
assets /
[ HOME SHELL ]
Name
Size
Permission
Action
font
[ DIR ]
drwxr-xr-x
img
[ DIR ]
drwxr-xr-x
js
[ DIR ]
drwxr-xr-x
scripts
[ DIR ]
drwxr-xr-x
AutoExpandingTextArea-BXFyAEiG...
151
B
-rw-r--r--
BaseLayout-CiF2D8RH.js
280
B
-rw-r--r--
BulkDeleteButton-B-fvVwh0.js
1.08
KB
-rw-r--r--
CancelOperationBtn-BW2TAzI_.js
1.08
KB
-rw-r--r--
CertificateAdd-BGVwf-VB.js
2.84
KB
-rw-r--r--
CertificateGenerate-bNGS6BFl.j...
9.87
KB
-rw-r--r--
ClusterGroupForm-BiXmM-NU.js
3.25
KB
-rw-r--r--
ClusterList-CZFDB46f.js
5.17
KB
-rw-r--r--
ClusterMemberSelector-B2lzDpCI...
3.71
KB
-rw-r--r--
ClusterSpecificInput-BdiLVA9B....
1.97
KB
-rw-r--r--
ClusterSpecificSelect-DrKUzNev...
2.2
KB
-rw-r--r--
ConfigFieldDescription-BnRkdbo...
335
B
-rw-r--r--
CreateClusterGroup-C6s3qbZf.js
463
B
-rw-r--r--
CreateInstance-BXX4Xa4W.js
27.97
KB
-rw-r--r--
CreateInstanceFromImageBtn-BiE...
527
B
-rw-r--r--
CreateNetwork-BQw2A27w.js
2.88
KB
-rw-r--r--
CreateNetworkForward-BgZF8duA....
1.71
KB
-rw-r--r--
CreateProfile-CCJYKSCK.js
4.04
KB
-rw-r--r--
CreateProject-DTBqJzUb.js
2.83
KB
-rw-r--r--
CreateStoragePool-CuOutvs3.js
2.46
KB
-rw-r--r--
CreateStorageVolume-B0HvyGnH.j...
2.47
KB
-rw-r--r--
CustomIsoList-CQVv4whx.js
5.48
KB
-rw-r--r--
DeleteStoragePoolBtn-BeXLuEnA....
1.62
KB
-rw-r--r--
DeleteStorageVolumeBtn-DIIVYGa...
1.88
KB
-rw-r--r--
DiskSizeSelector-IT5APek6.js
1010
B
-rw-r--r--
EditClusterGroup-DiNIL0Lx.js
761
B
-rw-r--r--
EditNetworkForward-DtcWepYC.js
1.99
KB
-rw-r--r--
ExpandableList-EDeaeb6c.js
323
B
-rw-r--r--
FormEditButton-Cs2eW7Js.js
278
B
-rw-r--r--
FormFooterLayout-B3kcadYt.js
738
B
-rw-r--r--
FormLink-BaU-zsbe.js
879
B
-rw-r--r--
FormMenuItem-ChXfQsFA.js
2.23
MB
-rw-r--r--
FormMenuItem-DyX1CsEw.css
66.66
KB
-rw-r--r--
GroupOrIdentityChangesTable-DQ...
5.11
KB
-rw-r--r--
GroupSelectionActions-Dq47oQd-...
3.18
KB
-rw-r--r--
HelpLink-4LTOsqZO.js
294
B
-rw-r--r--
ImageList-yKBGTFZU.js
11.7
KB
-rw-r--r--
InstanceDetail-BV9hr65t.js
481.49
KB
-rw-r--r--
InstanceDetail-Beg8tuEN.css
3.88
KB
-rw-r--r--
InstanceLinkChip-DfVC8U01.js
4.24
KB
-rw-r--r--
InstanceList-CTEYE5e7.js
24.67
KB
-rw-r--r--
ItemName-DSOx0T0r.js
185
B
-rw-r--r--
Login-CsUYa7ns.js
1.41
KB
-rw-r--r--
Meter-BsdJ73XW.js
487
B
-rw-r--r--
NetworkDetail-RgSS_6Vw.js
12.8
KB
-rw-r--r--
NetworkForwardForm-C18aehvo.js
6.49
KB
-rw-r--r--
NetworkList-B4gWmGGm.js
6.32
KB
-rw-r--r--
NetworkListTable-Ba2LzF-J.js
3.31
KB
-rw-r--r--
NotificationRow-CotZPNAQ.js
157
B
-rw-r--r--
OperationList-D4--05cO.js
3.35
KB
-rw-r--r--
PageHeader-CExPjRLH.js
549
B
-rw-r--r--
PermissionGroups-CkGxgQmn.js
30.89
KB
-rw-r--r--
PermissionIdentities-DDmb7V-C....
12.93
KB
-rw-r--r--
PermissionIdpGroups-yggiVbcG.j...
13.38
KB
-rw-r--r--
ProfileDetail-CQHhNWwW.js
10.94
KB
-rw-r--r--
ProfileDetailsForm-C-rMcUGO.js
2.45
KB
-rw-r--r--
ProfileInstances-DeravO8Q.js
1.46
KB
-rw-r--r--
ProfileList-C7yC3g6E.js
7.11
KB
-rw-r--r--
ProgressBar-CQ2HKUqQ.js
170
B
-rw-r--r--
ProjectConfiguration-rKP8dZtz....
9.04
KB
-rw-r--r--
ProjectForm-GhClr0iv.js
15.12
KB
-rw-r--r--
ProtectedRoute-DYKGChU3.js
214
B
-rw-r--r--
ProxyDeviceForm-B5UDgi1V.js
38.9
KB
-rw-r--r--
RenameHeader-fmgiouA6.js
13.29
KB
-rw-r--r--
ResourceIcon-DZQOrBLA.js
532
B
-rw-r--r--
ResourceLabel-PzB_6v5p.js
317
B
-rw-r--r--
ResourceLink-CS7mH0C3.js
302
B
-rw-r--r--
ScrollableContainer-MJpEXCww.j...
646
B
-rw-r--r--
ScrollableTable-DWT33Lms.js
561
B
-rw-r--r--
SelectableMainTable-C8l8QdDe.j...
2.21
KB
-rw-r--r--
SelectedTableNotification-2DZb...
974
B
-rw-r--r--
Settings-BYi8qROs.js
9.75
KB
-rw-r--r--
SidePanel-DNeaRMst.js
2.84
KB
-rw-r--r--
SnapshotForm-DF9sGEzn.js
1.49
KB
-rw-r--r--
StoragePoolDetail-DT58PBIr.js
6.45
KB
-rw-r--r--
StoragePoolForm-Z62B6Fuh.js
17.07
KB
-rw-r--r--
StoragePoolSelectTable-CXuxJSN...
1.61
KB
-rw-r--r--
StoragePoolSelector-DEvMjaMu.j...
1.48
KB
-rw-r--r--
StoragePoolSize-DyBNKBKy.js
467
B
-rw-r--r--
StoragePools-DK0Gkjq9.js
3.99
KB
-rw-r--r--
StorageUsedBy-sdKGRlgM.js
2.12
KB
-rw-r--r--
StorageVolumeDetail-fQzbPWNW.j...
24.87
KB
-rw-r--r--
StorageVolumeForm-ZPfwK39D.js
8.42
KB
-rw-r--r--
StorageVolumes-DPotlIN6.js
7.26
KB
-rw-r--r--
StorageVolumesFilter-B7pR3OeF....
1.01
KB
-rw-r--r--
TabLinks-BIG_Rdvk.js
360
B
-rw-r--r--
UploadCustomIso-DG12FhN0.js
2.83
KB
-rw-r--r--
UsedByItem-VHA3kVFG.js
945
B
-rw-r--r--
VolumeAddSnapshotBtn-8Qz9xFE-....
4.87
KB
-rw-r--r--
WarningList-DZNTQSpg.js
1.99
KB
-rw-r--r--
YamlNotification-BnmI52ws.js
634
B
-rw-r--r--
YamlSwitch-BXLuxWUh.js
40.62
KB
-rw-r--r--
certificate-kcThcTS9.js
279.99
KB
-rw-r--r--
clusterGroups-BWQNdGSD.js
3.63
KB
-rw-r--r--
images-Du2fhDUO.js
1.22
KB
-rw-r--r--
index-BeIaaTgz.css
661.94
KB
-rw-r--r--
index-BkTFFYvy.js
690.52
KB
-rw-r--r--
index-DW_MHI2K.js
34.19
KB
-rw-r--r--
index.esm-auJ3G_FM.js
38.36
KB
-rw-r--r--
instanceDelete-Bn3xn_NE.js
12.2
KB
-rw-r--r--
instanceOptions-BuFjjn-P.js
1.19
KB
-rw-r--r--
network-forwards-B-h1Yzp9.js
856
B
-rw-r--r--
operations-DIvBacJG.js
757
B
-rw-r--r--
projects-CvA2zMPN.js
789
B
-rw-r--r--
scroll-DPmbgfny.js
26.97
KB
-rw-r--r--
searchAndFilter-DtC_P-vv.js
361
B
-rw-r--r--
snapshots-CEDJtMaf.js
670
B
-rw-r--r--
storage-volumes-tfXkh9eB.js
2.46
KB
-rw-r--r--
useGroups-CCX3qCzO.js
2.91
KB
-rw-r--r--
useImages-LgCYWVgs.js
1.64
KB
-rw-r--r--
useNetworks-D3nHf8AE.js
3.63
KB
-rw-r--r--
useSmallScreen-BvsjT919.js
169
B
-rw-r--r--
useSortTableData-BoXaK1oA.js
393
B
-rw-r--r--
useVolumes-BvpfNVaA.js
1.27
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : PermissionGroups-CkGxgQmn.js
import{b as Me,a4 as me,l as X,d as l,k as J,r as v,p as ge,j as e,a5 as F,q as O,M as $e,c5 as Z,c6 as xe,v as Be,cb as De,u as _e,g as pe,cc as ye,cd as be,ce as Oe,cf as qe,cg as Ke,ch as He,ci as je,cj as ne,b3 as ze,ay as Ne,ck as Ue,y as W,cl as Ye,c as Ce,c0 as ie,au as Qe,n as Ve,L as We,C as Xe}from"./index-BkTFFYvy.js";import{S as oe}from"./ScrollableTable-DWT33Lms.js";import{S as ae}from"./SelectableMainTable-C8l8QdDe.js";import{S as Je}from"./SelectedTableNotification-2DZbBMZx.js";import{u as re}from"./useSortTableData-BoXaK1oA.js";import{L as Ie,u as Se,c as V,p as Ze,G as et,A as tt,Q as st,P as nt}from"./GroupOrIdentityChangesTable-DQUOSRjf.js";import{u as K,S as $,p as se}from"./SidePanel-DNeaRMst.js";import{P as U}from"./PageHeader-CExPjRLH.js";import{N as ee}from"./NotificationRow-CotZPNAQ.js";import{H as it}from"./HelpLink-4LTOsqZO.js";import{d as ot,c as at,r as rt,b as he,a as lt,M as dt,u as ct,P as ut}from"./useGroups-CCX3qCzO.js";import{R as mt}from"./ResourceLabel-PzB_6v5p.js";import{c as ve,a as Ge}from"./index.esm-auJ3G_FM.js";import{A as pt}from"./AutoExpandingTextArea-BXFyAEiG.js";import{F as fe,B as ht}from"./FormLink-BaU-zsbe.js";import{S as te}from"./ScrollableContainer-MJpEXCww.js";import{f as we}from"./useImages-LgCYWVgs.js";import{R as le}from"./ResourceLink-CS7mH0C3.js";import"./searchAndFilter-DtC_P-vv.js";import"./ResourceIcon-DZQOrBLA.js";import"./index-DW_MHI2K.js";const z=()=>{const{isFineGrained:t}=Me();return{canDeleteGroup:s=>me(t,"can_delete",s==null?void 0:s.access_entitlements),canEditGroup:s=>me(t,"can_edit",s==null?void 0:s.access_entitlements)}},Re=({groups:t,close:n})=>{const i=X(),s=l.useNotify(),y=J(),[d,h]=v.useState(""),[m,u]=v.useState(!0),[b,j]=v.useState(!1),p="confirm-delete-group",{canDeleteGroup:w}=z(),{data:C}=ge(),R=(C==null?void 0:C.auth_user_name)??"",o=[],c=[];let r=!1;t.forEach(G=>{var E,A,P,_;w(G)?((A=(E=G.identities)==null?void 0:E.oidc)!=null&&A.includes(R)&&(r=!0),(_=(P=G.identities)==null?void 0:P.tls)!=null&&_.includes(R)&&(r=!0),c.push(G)):o.push(G)});const x=c.length===1,g=G=>{G.target.value===p?u(!1):u(!0),h(G.target.value)},I=()=>{j(!0);const E=c.length===1?e.jsxs(e.Fragment,{children:["Group"," ",e.jsx(mt,{bold:!0,type:"auth-group",value:c[0].name})," ","deleted."]}):`${c.length} groups deleted.`;ot(c.map(A=>A.name)).then(()=>{i.invalidateQueries({predicate:A=>[O.identities,O.authGroups].includes(A.queryKey[0])}),y.success(E),n()}).catch(A=>{s.failure(`Failed deleting ${c.length} ${F("group",c.length)}.`,A)}).finally(()=>{j(!1)})},f=()=>{const G=o.length?e.jsxs(e.Fragment,{children:[e.jsxs("li",{className:"p-list__item",children:["-"," ",`${c.length} ${F("group",c.length)} will be deleted.`]}),e.jsxs("li",{className:"p-list__item",children:["-"," ",`${o.length} ${F("group",o.length)} that you do not have permission to delete will be ignored.`]})]}):null,E=x?e.jsx("b",{children:c[0].name}):e.jsxs(e.Fragment,{children:[e.jsx("b",{children:c.length})," ",F("group",c.length)]});return e.jsxs(e.Fragment,{children:[G&&e.jsxs(e.Fragment,{children:[e.jsxs("p",{children:[e.jsx("b",{children:t.length})," ",F("group",t.length)," ","selected:"]}),e.jsx("ul",{className:"p-list",children:G})]}),e.jsxs("p",{className:"u-no-padding--top",children:["This will permanently delete ",E,".",` `,"This action cannot be undone and may result in users losing access to LXD, including the possibility that all users lose admin access."]}),r&&e.jsx("div",{className:"u-sv1",children:e.jsx(Ie,{isVisible:r})}),e.jsx("p",{children:"To continue, please type the confirmation text below."}),e.jsx("p",{children:e.jsx("strong",{children:p})})]})};return e.jsx(l.Modal,{title:"Confirm group deletion",className:"delete-group-confirm-modal",close:n,buttonRow:[e.jsx("span",{className:"u-float-left confirm-input",children:e.jsx(l.Input,{id:"confirm-delete-group-input",name:"confirm-delete-group-input",type:"text",onChange:g,value:d,placeholder:p,className:"u-no-margin--bottom",disabled:!c.length})},"confirm-input"),e.jsx(l.ActionButton,{appearance:"negative",className:"u-no-margin--bottom",onClick:I,loading:b,disabled:m,children:`Permanently delete ${c.length} ${F("group",c.length)}`},"confirm-action-button")],children:f()})},ft=({group:t})=>{const n=K(),{openPortal:i,closePortal:s,isOpen:y,Portal:d}=l.usePortal(),{canDeleteGroup:h}=z();return e.jsxs(e.Fragment,{children:[e.jsx(l.List,{inline:!0,className:"u-no-margin--bottom actions-list",items:[e.jsx(l.Button,{appearance:"base",dense:!0,hasIcon:!0,onClick:()=>{n.openEditGroup(t.name)},type:"button",title:"Edit group",children:e.jsx(l.Icon,{name:"edit"})},"edit"),e.jsx(l.Button,{appearance:"base",dense:!0,hasIcon:!0,onClick:i,type:"button",title:h()?"Delete group":"You do not have permission to delete this group",disabled:!h(t),children:e.jsx(l.Icon,{name:"delete"})},"delete")]}),y&&e.jsx(d,{children:e.jsx(Re,{groups:[t],close:s})})]})},Ae=({formik:t,setSubForm:n,identityCount:i,identityModifyCount:s,permissionCount:y,permissionModifyCount:d,isEditing:h=!0,group:m})=>{const{canEditGroup:u}=z(),b=p=>({id:p,name:p,onBlur:t.handleBlur,onChange:t.handleChange,value:t.values[p]??"",error:t.touched[p]?t.errors[p]:null,placeholder:`Enter ${p.replaceAll("_"," ")}`}),j=!h||u(m)?"":"You do not have permission to modify this group";return e.jsxs(l.Form,{onSubmit:t.handleSubmit,children:[e.jsx(l.Input,{type:"submit",hidden:!0,value:"Hidden input"}),e.jsx(l.Input,{...b("name"),type:"text",label:"Name",required:!0,autoFocus:!0,disabled:!!j,title:j}),e.jsx(pt,{...b("description"),label:"Description",disabled:!!j,title:j}),e.jsx(fe,{title:(h?"Edit ":"Add ")+F("identity",2),icon:"user-group",onClick:()=>{n("identity")},isModified:s>0,subText:i===0?`No ${F("identity",2)}`:`${i} ${F("identity",i)}`}),e.jsx(fe,{title:(h?"Edit ":"Add ")+F("permission",2),icon:"lock-locked",onClick:()=>{n("permission")},isModified:d>0,subText:y===0?`No ${F("permission",2)}`:`${y} ${F("permission",y)}`})]})},Le=(t,n)=>["deduplicate","A group with this name already exists",async i=>n&&i===n||$e(i,"",t,"auth/groups")],gt=(t,n)=>{const i=t.length,s=[],y=[],d=[];for(const h of n){let m=0;const u=new Set(h.groups||[]);for(const p of t)u.has(p.name)&&m++;const b=m===i,j=!b&&m>0;if(b){s.push(h.id);continue}if(j){y.push(h.id);continue}d.push(h.id)}return{identityIdsInAllGroups:s,identityIdsInSomeGroups:y,identityIdsInNoGroups:d}},Ee=(t,n,i)=>t.filter(y=>n.has(y.id)||i.has(y.id)),Pe=(t,n,i,s)=>{const y=new Set(t),d=new Set(n),h=new Set(i.map(u=>u.name)),m={};for(const u of s){const b=u.groups||[],j=new Set(b);for(const p of b)d.has(u.id)&&h.has(p)&&j.delete(p);for(const p of i)y.has(u.id)&&j.add(p.name);m[u.id]=Array.from(j)}return m},xt=(t,n,i,s)=>{const y=Ee(t,i,s),d=Pe(i,s,n,y),h={};for(const m of y){const u=d[m.id];if(!u)continue;const b=new Set,j=new Set,p=new Set(m.groups);for(const C of u)p.has(C)||b.add(C);const w=new Set(u);for(const C of m.groups||[])w.has(C)||j.add(C);(b.size||j.size)&&(h[m.id]={added:b,removed:j,name:m.name})}return h},ke=({selected:t,setSelected:n,groupName:i})=>{const s=l.useNotify(),[y,d]=v.useState(null),{data:h=[],error:m}=Z(),{canEditIdentity:u}=Se(),b=h.filter(r=>!u(r)).map(r=>r.id);m&&s.failure("Loading details failed",m);const j=h.filter(r=>!xe(r)),p=r=>{var g;if(b.includes(r))return;const x=t.find(I=>I.id===r);if(x){const I=t.filter(A=>A.id!==r),f={...x,isAdded:!x.isAdded,isRemoved:!x.isRemoved},G=(g=x.groups)==null?void 0:g.includes(i);if(f.isRemoved&&!G){n(I);return}f.isAdded=!G,n([...I,f])}else{const I=h.find(f=>f.id===r);if(!I){s.failure("Selection failed",new Error("Identity not found"));return}n([...t,{...I,isAdded:!0,isRemoved:!1}])}},w=r=>{if(r.length===0){const g=[];t.forEach(I=>{var f;(f=I.groups)!=null&&f.includes(i)&&g.push({...I,isAdded:!1,isRemoved:!0})}),n(g);return}const x=h.filter(g=>r.includes(g.id)).map(g=>{var I;return{...g,isAdded:!((I=g.groups)!=null&&I.includes(i)),isRemoved:!1}});n(x)},C=[{content:"Identity",sortKey:"name",role:"rowheader"},{content:"",role:"rowheader","aria-label":"Modified status",className:"modified-status"}],o=j.filter(r=>y?r.name.toLowerCase().includes(y.toLowerCase()):!0).map(r=>{const x=()=>{p(r.id)},g=t.find(f=>f.id===r.id),I=(g==null?void 0:g.isAdded)||(g==null?void 0:g.isRemoved);return{key:r.id,name:r.id,className:"u-row",columns:[{content:r.name,role:"cell","aria-label":"Identity",title:u(r)?r.name:"You do not have permission to allocate this identity to the group",onClick:x,className:"clickable-cell"},{content:I&&e.jsx(l.Icon,{name:"status-in-progress-small"}),role:"cell","aria-label":"Modified status",className:"modified-status u-align--right"}],sortData:{name:r.name.toLowerCase()}}}),{rows:c}=re({rows:o,defaultSort:"name"});return e.jsxs(e.Fragment,{children:[e.jsx(l.SearchBox,{onChange:r=>{d(r)}}),e.jsx(oe,{dependencies:[h,t,s.notification],tableId:"group-identities-table",belowIds:["panel-footer"],children:e.jsx(ae,{id:"group-identities-table",headers:C,rows:c,sortable:!0,emptyStateMsg:"No identities found",itemName:"identity",parentName:"server",selectedNames:t.filter(r=>!r.isRemoved).map(r=>r.id),setSelectedNames:w,disabledNames:b,filteredNames:j.map(r=>r.id),indeterminateNames:[],onToggleRow:p,hideContextualMenu:!0,disableSelectAll:!!b.length})})]})},yt=async t=>{const{resourceType:n,project:i}=t;let s=`/1.0/auth/permissions?entity-type=${n}`;return i&&(s+=`&project=${i}`),new Promise((y,d)=>{fetch(s).then(Be).then(h=>{y(h.metadata.sort((m,u)=>m.url===u.url?m.entitlement===u.entitlement?m.entity_type.localeCompare(u.entity_type):m.entitlement.localeCompare(u.entitlement):m.url.localeCompare(u.url)))}).catch(d)})},bt=({resourceType:t})=>{const n=De(t);if(n.length<2)return null;const i=n.map(s=>e.jsx("span",{className:"resource u-no-margin--bottom",children:s==="imageType"?"image type":s},s));return e.jsx("div",{className:"header",children:i})},jt=({onAddPermission:t,disableReason:n})=>{const i=l.useNotify(),[s,y]=v.useState(""),[d,h]=v.useState(""),[m,u]=v.useState(""),{hasMetadataConfiguration:b,hasEntityTypeMetadata:j}=_e(),p=v.useRef(null),w=v.useRef(null),C=v.useRef(null),R=v.useRef(null),{data:o,isLoading:c,error:r}=pe({queryKey:[O.permissions,s],queryFn:async()=>yt({resourceType:s}),enabled:!!s&&!n}),{data:x=[]}=we(),{data:g=[]}=Z(),I=ye(x),f=be(g),{data:G,isLoading:E}=pe({queryKey:[O.configOptions],queryFn:async()=>ze(b)}),A=c||E;v.useEffect(()=>{setTimeout(()=>{p.current&&(p.current.focus(),p.current.tabIndex=-1)},100)},[]);const P=(a,S,D)=>{var de,ce,ue;if(S==="server")return(de=R.current)==null||de.open(),S;if(!a&&S||a&&S===a){if(D!=null&&D.length)return(ce=C.current)==null||ce.open(),S;(ue=w.current)==null||ue.focus()}return S};v.useEffect(()=>{P("",s,o)},[s,o]);const _=a=>{const S=a;u(""),y(D=>P(D,S,o)),h(S==="server"?"/1.0":"")},k=a=>{var S;h(a),(S=R.current)==null||S.open()},H=a=>{var S;u(a),(S=document.getElementById("add-entitlement"))==null||S.focus()},q=()=>{const a={entity_type:s,url:d,entitlement:m};t({...a,id:ne(a),resourceLabel:je(a,I,f)}),u("")};r&&i.failure("Loading permissions failed",r);const N=Oe(s,o??[],I,f),T=qe(s,o,j?G:null),L=s==="server",M=N.length;return e.jsxs("div",{className:"permission-selector",tabIndex:0,ref:p,title:n,children:[e.jsx(l.CustomSelect,{id:"resourceType",name:"resourceType",label:e.jsx("strong",{children:"Resource Type"}),options:Ke(G),toggleClassName:"u-no-margin--bottom","aria-label":"Resource type",onChange:_,value:s,selectRef:w,searchable:"always",disabled:!!n}),e.jsx(l.CustomSelect,{id:"resource",name:"resource",label:e.jsx("strong",{children:"Resource"}),options:M?N:[He],toggleClassName:"u-no-margin--bottom","aria-label":"Resource",onChange:k,value:d,disabled:A||!s||L||!M,dropdownClassName:"permissions-select-dropdown",header:e.jsx(bt,{resourceType:s}),selectRef:C,searchable:"always"}),e.jsx(l.CustomSelect,{id:"entitlement",name:"entitlement",label:e.jsx("strong",{children:"Entitlement"}),options:T,toggleClassName:"u-no-margin--bottom","aria-label":"Entitlement",onChange:H,value:m,disabled:A||!d&&!L,dropdownClassName:"permissions-select-dropdown",selectRef:R,searchable:"always",initialPosition:"right"}),e.jsx("div",{className:"add-entitlement",children:e.jsx(l.Button,{id:"add-entitlement",appearance:"positive",onClick:q,className:"u-no-margin--bottom",disabled:!m,tabIndex:m?void 0:-1,children:"Add"})})]})},Fe=({permissions:t,setPermissions:n,group:i})=>{const s=l.useNotify(),[y,d]=v.useState(""),{canViewPermissions:h}=Ne(),{canEditGroup:m}=z(),u=()=>m(i)?h()?"":"You are not allowed to view permissions":"You do not have permission to edit this group",b=o=>{const c=t.find(I=>I.id===o.id);if(c&&!c.isRemoved)return;const x=Ye((i==null?void 0:i.permissions)??[]).includes(o.id??""),g={...o,isAdded:!x,isRemoved:!1};if(c&&c.isRemoved){const I=t.map(f=>f.id===o.id?g:f);n(I);return}c||n([...t,g])},j=o=>{var x;let c;((x=i==null?void 0:i.permissions)==null?void 0:x.some(g=>ne(g)===o))?c=t.map(g=>g.id===o?{...g,isRemoved:!0,isAdded:!1}:g):c=t.filter(g=>g.id!==o),n(c)},p=y?t.filter(o=>{var c;return o.entitlement.includes(y)||o.entity_type.includes(y)||((c=o.resourceLabel)==null?void 0:c.toLowerCase().includes(y))}):t,w=v.useMemo(()=>p.sort(Ue),[p]),C=[{content:"Resource type",sortKey:"resourceType",className:"resource-type"},{content:"Resource",sortKey:"resource",className:"resource"},{content:"Entitlement",sortKey:"entitlement",className:"entitlement"},{"aria-label":"Actions",className:"u-align--right actions"}],R=w.map(o=>{var r;const c=o.isAdded||o.isRemoved;return{key:o.id,name:o.id,className:W("u-row",{strikeout:o.isRemoved}),columns:[{content:o.entity_type,role:"cell","aria-label":"Resource type",className:"resource-type"},{content:o.resourceLabel,role:"cell","aria-label":"Resource",className:"u-truncate resource",title:o.resourceLabel},{content:o.entitlement,role:"cell","aria-label":"Entitlement",className:"u-truncate entitlement",title:o.entitlement},{className:"actions u-align--right",content:e.jsxs(e.Fragment,{children:[o.isRemoved?e.jsx(l.Button,{appearance:"base",hasIcon:!0,dense:!0,onClick:()=>{b(o)},type:"button","aria-label":"Restore permission",title:"Restore permission",className:"u-no-margin--right",children:e.jsx(l.Icon,{name:"restart",className:"u-no-margin--right"})}):e.jsx(l.Button,{appearance:"base",hasIcon:!0,dense:!0,onClick:()=>{j(o.id??"")},type:"button","aria-label":"Delete permission",title:u()??"Delete permission",className:"u-no-margin--right",disabled:!!u(),children:e.jsx(l.Icon,{name:"delete",className:"u-no-margin--right"})}),e.jsx(l.Icon,{name:"status-in-progress-small",className:W({"hide-modified-status":!c}),"aria-hidden":!c,"aria-label":"Permission modified"})]}),role:"cell","aria-label":"Delete permission"}],sortData:{resourceType:o.entity_type.toLowerCase(),resource:(r=o.resourceLabel)==null?void 0:r.toLowerCase(),entitlement:o.entitlement.toLowerCase()}}});return e.jsxs(te,{dependencies:[s.notification,t.length],belowIds:["panel-footer"],children:[e.jsxs(l.Card,{children:[e.jsx("strong",{children:e.jsx("p",{className:"u-no-margin--bottom",children:"Add permissions"})}),e.jsx("span",{children:"Entitlements need to be given in relation to a specific resource. Select the appropriate resource and entitlement below and add it to the list of permissions for this group."}),e.jsx(jt,{onAddPermission:b,disableReason:u()})]}),e.jsx(l.SearchBox,{externallyControlled:!0,value:y,onChange:d}),t.length?e.jsx(l.MainTable,{id:"permissions-table",headers:C,sortable:!0,emptyStateMsg:"No permissions match the search criteria.",rows:R,className:"permissions-table"}):e.jsx(l.EmptyState,{className:"empty-state empty-state__full-width",image:e.jsx(l.Icon,{name:"plans",className:"empty-state-icon"}),title:"No permissions",children:e.jsx("p",{children:"Select a permission above and add to the group"})})]})},Te=({subForm:t,setSubForm:n,group:i})=>{if(t===null)return i?`Edit group ${i==null?void 0:i.name}`:"Create group";const s=i?"Edit":"Add";return e.jsx(ht,{linkText:i?"Edit group":"Create group",title:`${s} ${F(t,2)}`,onClick:()=>{n(null)}})},Nt=()=>{const t=K(),n=l.useNotify(),i=J(),s=X(),y=v.useState(null),[d,h]=v.useState(null),[m,u]=v.useState([]),[b,j]=v.useState([]),p=()=>{t.clear(),n.clear()},w=ve().shape({name:Ge().test(...Le(y)).required("Group name is required")}),C=c=>{i.success(e.jsxs(e.Fragment,{children:["Group"," ",e.jsx(le,{type:"auth-group",value:c,to:"/ui/permissions/groups"})," ","created."]})),p()},R=c=>{if(m.length===0){C(c);return}const r=m.map(x=>{const g=x.groups||[];return x.groups=[...g,c],x});ie(r).then(()=>{C(c)}).catch(x=>{n.failure(`Group ${c} created, failed to add identities.`,x)}).finally(()=>{o.setSubmitting(!1),s.invalidateQueries({queryKey:[O.authGroups]})})},o=Ce({initialValues:{name:"",description:""},validationSchema:w,onSubmit:c=>{at({name:c.name,description:c.description,permissions:b.filter(r=>!r.isRemoved)}).then(()=>{R(c.name)}).catch(r=>{n.failure("Group creation failed",r)}).finally(()=>{o.setSubmitting(!1),s.invalidateQueries({queryKey:[O.authGroups]})})}});return e.jsx(e.Fragment,{children:e.jsxs($,{isOverlay:!0,loading:!1,hasError:!1,className:W({"edit-permissions-panel":d==="permission"}),children:[e.jsx($.Header,{children:e.jsx($.HeaderTitle,{children:e.jsx(Te,{subForm:d,setSubForm:h})})}),e.jsx(ee,{className:"u-no-padding"}),e.jsx($.Content,{className:"u-no-padding",children:e.jsxs(te,{dependencies:[n.notification,d],belowIds:["panel-footer"],children:[d===null&&e.jsx(Ae,{formik:o,setSubForm:h,identityCount:m.length,identityModifyCount:m.length,permissionCount:b.length,permissionModifyCount:b.length,isEditing:!1}),d==="identity"&&e.jsx(ke,{selected:m,setSelected:u,groupName:o.values.name}),d==="permission"&&e.jsx(Fe,{permissions:b,setPermissions:j})]})}),e.jsxs($.Footer,{className:"u-align--right",children:[e.jsx(l.Button,{appearance:"base",onClick:p,className:"u-no-margin--bottom",children:"Cancel"}),e.jsx(l.ActionButton,{appearance:"positive",loading:o.isSubmitting,onClick:()=>void o.submitForm(),className:"u-no-margin--bottom",disabled:!o.isValid||!o.values.name,children:"Create group"})]})]})})},Ct=({group:t,onClose:n})=>{const i=K(),s=l.useNotify(),y=J(),d=X(),h=v.useState(null),[m,u]=v.useState(i.subForm),[b,j]=v.useState(!1),[p,w]=v.useState(V(t).map(N=>({id:N}))),[C,R]=v.useState(t.permissions??[]),{data:o}=ge(),c=(o==null?void 0:o.auth_user_name)??"",{canEditGroup:r}=z(),{data:x=[],isLoading:g,isError:I}=Z();v.useEffect(()=>{if(!g&&!I){const N=new Set(V(t)),B=x.filter(T=>N.has(T.id));w(B)}},[g,I,x,t]);const{data:f=[],isLoading:G,isError:E}=we();v.useEffect(()=>{if(!g&&!I&&!G&&!E){const N=ye(f),B=be(x),T=(t.permissions??[]).map(L=>{const M=ne(L),a=je(L,N,B);return{...L,resourceLabel:a,id:M}});R(T)}},[g,I,G,E,x,f,t]);const A=ve().shape({name:Ge().test(...Le(h,i.group??"")).required("Group name is required")}),P=async()=>{const N=p.filter(L=>L.isAdded),B=p.filter(L=>L.isRemoved);if(N.length===0&&B.length===0)return;const T=[];return N.map(L=>{T.push({...L,groups:[...L.groups||[],k.values.name]})}),B.map(L=>{T.push({...L,groups:[...(L.groups||[]).filter(M=>M!==k.values.name)]})}),ie(T)},_=N=>{const B=N.name!==(t==null?void 0:t.name),T={...t,name:N.name,description:N.description,permissions:C.filter(M=>!M.isRemoved)};(async()=>r(t)?B?rt((t==null?void 0:t.name)??"",N.name).then(async()=>he(T)).then(P):he(T).then(P):P())().then(()=>{H(),y.success(e.jsxs(e.Fragment,{children:["Group"," ",e.jsx(le,{type:"auth-group",value:N.name,to:"/ui/permissions/groups"})," ","updated."]}))}).catch(M=>{s.failure("Group update failed",M)}).finally(()=>{k.setSubmitting(!1),d.invalidateQueries({queryKey:[O.authGroups]})})},k=Ce({initialValues:{name:(t==null?void 0:t.name)??"",description:(t==null?void 0:t.description)??""},enableReinitialize:!0,validationSchema:A,onSubmit:N=>{var M;const B=V(t).includes(c),T=(M=p.find(a=>a.id===c))==null?void 0:M.isRemoved,L=C.find(a=>a.isRemoved);T||B&&L?j(!0):_(N)}}),H=()=>{i.clear(),s.clear(),n==null||n()},q=p.filter(N=>N.isAdded||N.isRemoved).length+C.filter(N=>N.isAdded||N.isRemoved).length+(k.values.name!==t.name?1:0)+(k.values.description!==t.description?1:0);return e.jsxs(e.Fragment,{children:[e.jsxs($,{isOverlay:!0,loading:!1,hasError:!1,className:W({"edit-permissions-panel":m==="permission"}),onClose:H,children:[e.jsx($.Header,{children:e.jsx($.HeaderTitle,{children:e.jsx(Te,{subForm:m,setSubForm:u,group:t})})}),e.jsx(ee,{className:"u-no-padding"}),e.jsxs($.Content,{className:"u-no-padding",children:[m===null&&e.jsx(te,{dependencies:[s.notification,m],belowIds:["panel-footer"],children:e.jsx(Ae,{formik:k,setSubForm:u,identityCount:p.filter(N=>!N.isRemoved).length,identityModifyCount:p.filter(N=>N.isAdded||N.isRemoved).length,permissionCount:C.filter(N=>!N.isRemoved).length,permissionModifyCount:C.filter(N=>N.isAdded||N.isRemoved).length,group:t})}),m==="identity"&&e.jsx(ke,{selected:p,setSelected:w,groupName:t.name}),m==="permission"&&e.jsx(Fe,{permissions:C,setPermissions:R,group:t})]}),e.jsxs($.Footer,{className:"u-align--right",children:[e.jsx(l.Button,{appearance:"base",onClick:H,className:"u-no-margin--bottom",children:"Cancel"}),e.jsx(l.ActionButton,{appearance:"positive",loading:k.isSubmitting,onClick:()=>void k.submitForm(),className:"u-no-margin--bottom",disabled:!k.isValid||!k.values.name||q===0,children:q===0?"Save changes":`Save ${q} ${F("change",q)}`})]})]}),b&&e.jsx(l.ConfirmationModal,{confirmButtonLabel:"Confirm changes",confirmButtonAppearance:"positive",onConfirm:()=>{_(k.values)},close:()=>{j(!1),k.setSubmitting(!1)},title:"Confirm permission modification",className:"permission-confirm-modal",children:e.jsx(Ie,{isVisible:!0})})]})},It=({groups:t,className:n})=>{const i=K();return e.jsx(e.Fragment,{children:e.jsxs(l.Button,{onClick:()=>{i.openGroupIdentities()},"aria-label":"Manage identities",title:"Manage identities",className:n,disabled:!t.length,hasIcon:!0,children:[e.jsx(l.Icon,{name:"user-group"}),e.jsx("span",{children:"Manage identities"})]})})},St=({onConfirm:t,close:n,addedIdentities:i,removedIdentities:s,selectedGroups:y,allIdentities:d})=>{const[h,m]=v.useState(!1),u=l.useNotify(),b=K(),j=X(),p=J(),w=xt(d,y,i,s),C=Ze(w),R=()=>{m(!0);const o=Ee(d,i,s),c=Pe(i,s,y,o),r=o.map(x=>({...x,groups:c[x.id]}));ie(r).then(()=>{j.invalidateQueries({predicate:I=>[O.identities,O.authGroups].includes(I.queryKey[0])});const x=Object.keys(C),g=x.length>1?`Updated identities for ${x.length} groups`:e.jsxs(e.Fragment,{children:["Updated identities for"," ",e.jsx(le,{type:"auth-group",value:x[0],to:"/ui/permissions/groups"})]});p.success(g),b.clear(),u.clear()}).catch(x=>{u.failure("Update groups failed",x)}).finally(()=>{m(!1),t()})};return e.jsx(l.ConfirmationModal,{confirmButtonLabel:"Confirm changes",confirmButtonAppearance:"positive",onConfirm:R,close:n,title:"Confirm modification",className:"permission-confirm-modal",confirmButtonLoading:h,children:e.jsx(et,{identityGroupsChangeSummary:w,groupIdentitiesChangeSummary:C,identities:d,initialGroupBy:"group"})})},vt=({groups:t})=>{var M;const n=K(),[i]=Qe(),s=l.useNotify(),[y,d]=v.useState(!1),{data:h=[],error:m,isLoading:u}=Z(),{canEditIdentity:b}=Se(),j=h.filter(a=>!b(a)),{desiredState:p,save:w,undo:C}=lt({initialState:{identitiesAdded:new Set,identitiesRemoved:new Set}});m&&s.failure("Loading panel details failed",m),v.useEffect(()=>{if(!t.length){n.clear();return}},[t]);const R=h.filter(a=>!xe(a)),{identityIdsInAllGroups:o,identityIdsInNoGroups:c,identityIdsInSomeGroups:r}=gt(t,R),x=new Set(p.identitiesAdded);for(const a of o)p.identitiesRemoved.has(a)||x.add(a);const g=new Set(r.filter(a=>!x.has(a)&&!p.identitiesRemoved.has(a))),I=()=>{const a=new Set;for(const S of o)x.has(S)||a.add(S);for(const S of r)g.has(S)||a.add(S);for(const S of c)x.has(S)&&a.add(S);return a},f=(a,S)=>{w(S?{identitiesAdded:new Set,identitiesRemoved:new Set(R.map(D=>D.id))}:{identitiesAdded:new Set(a),identitiesRemoved:new Set})},G=a=>{const S=x.has(a),D=g.has(a),Y=new Set(p.identitiesAdded),Q=new Set(p.identitiesRemoved);S||D?(Y.delete(a),Q.add(a)):(Y.add(a),Q.delete(a)),w({identitiesAdded:Y,identitiesRemoved:Q})},E=()=>{n.clear(),s.clear(),d(!1)},A=()=>{s.clear(),d(!1)},P=I(),_=[{content:"Identity",sortKey:"name",role:"rowheader"},{content:"",role:"rowheader","aria-label":"Modified status",className:"modified-status"}],k={queries:i.getAll(st),authMethod:i.getAll(tt)},q=R.filter(a=>!(!k.queries.every(S=>a.name.toLowerCase().includes(S)||a.id.toLowerCase().includes(S))||k.authMethod.length>0&&!k.authMethod.includes(a.authentication_method))).map(a=>{const S=t.length>1?"all selected groups":`group ${t[0].name}`,D=p.identitiesAdded.has(a.id)?`Identity will be added to ${S}`:p.identitiesRemoved.has(a.id)?`Identity will be removed from ${S}`:"";return{key:a.id,name:a.id,className:"u-row",columns:[{content:a.name,role:"cell","aria-label":"Identity",title:b(a)?a.name:"You do not have permission to manage this identity"},{content:P.has(a.id)&&e.jsx(l.Icon,{name:"status-in-progress-small"}),role:"cell","aria-label":"Modified status",className:"modified-status u-align--right",title:D}],sortData:{name:a.name.toLowerCase()}}}),{rows:N}=re({rows:q,defaultSort:"name"}),B=e.jsx(oe,{dependencies:[h,P.size,s.notification],tableId:"group-identities-table",belowIds:["panel-footer"],children:e.jsx(ae,{id:"group-identities-table",headers:_,rows:N,sortable:!0,emptyStateMsg:"No identities found",itemName:"identity",parentName:"server",selectedNames:Array.from(x),setSelectedNames:f,disabledNames:j.map(a=>a.id),filteredNames:R.map(a=>a.id),indeterminateNames:Array.from(g),onToggleRow:G,hideContextualMenu:!0,disableSelectAll:!!j.length})}),T=P.size?`Apply ${P.size} identity ${F("change",P.size)}`:"Modify identities",L=t.length>1?`Change identities for ${t.length} groups`:`Change identities for ${(M=t[0])==null?void 0:M.name}`;return e.jsxs(e.Fragment,{children:[e.jsxs($,{isOverlay:!0,loading:u,hasError:!h,children:[e.jsx($.Header,{children:e.jsx($.HeaderTitle,{children:L})}),e.jsx(ee,{className:"u-no-padding"}),e.jsx(nt,{}),e.jsx($.Content,{className:"u-no-padding",children:e.jsx(te,{dependencies:[P.size,s.notification],belowIds:["panel-footer"],children:B})}),e.jsxs($.Footer,{className:"u-align--right",children:[P.size?e.jsx(dt,{modifiedCount:P.size,onUndoChange:C,itemName:"identity"}):null,e.jsx(l.Button,{appearance:"base",onClick:E,className:"u-no-margin--bottom",children:"Cancel"}),e.jsx(l.ActionButton,{appearance:"positive",onClick:()=>{d(!0)},className:"u-no-margin--bottom",disabled:P.size===0,children:T})]})]}),y&&e.jsx(St,{close:A,onConfirm:A,selectedGroups:t,addedIdentities:p.identitiesAdded,removedIdentities:p.identitiesRemoved,allIdentities:R})]})},Gt=({groups:t,className:n,onDelete:i})=>{const[s,y]=v.useState(!1),{canDeleteGroup:d}=z(),h=t.filter(d),m=()=>{y(!0)},u=()=>{i(),y(!1)};return e.jsxs(e.Fragment,{children:[e.jsxs(l.Button,{onClick:m,title:h.length?"Delete groups":`You do not have permission to delete the selected ${F("group",t.length)}`,className:n,hasIcon:!0,disabled:!h.length,children:[e.jsx(l.Icon,{name:"delete"}),e.jsx("span",{children:`Delete ${t.length} ${F("group",t.length)}`})]}),s&&e.jsx(Re,{groups:t,close:u})]})},Qt=()=>{const t=l.useNotify(),{data:n=[],error:i,isLoading:s}=ct(),y=Ve(),d=K(),[h,m]=v.useState(""),[u,b]=v.useState([]),{canCreateGroups:j}=Ne();i&&t.failure("Loading groups failed",i),v.useEffect(()=>{const f=u.filter(G=>n.some(E=>E.name===G));f.length!==u.length&&b(f)},[n]),v.useEffect(()=>{d.group&&b([d.group])},[d.group]);const p=[{content:"Name",className:"name",sortKey:"name"},{content:"Description",className:"description",sortKey:"description"},{content:"Identities",sortKey:"identities",className:"u-align--right identities"},{content:"Permissions",sortKey:"permissions",className:"u-align--right permissions"},{"aria-label":"Actions",className:"u-align--right actions"}],w=n.filter(f=>!h||f.name.toLowerCase().includes(h)||f.description.toLowerCase().includes(h)),C=n.filter(f=>u.includes(f.name)),R=n.find(f=>f.name===d.group),o=w.map(f=>{var E,A;const G=V(f);return{key:f.name,name:f.name,className:"u-row",columns:[{content:f.name,role:"cell","aria-label":"Name",className:"u-truncate name",title:f.name},{content:e.jsx("span",{children:f.description}),role:"cell","aria-label":"Description",className:"description",title:f.description},{content:e.jsx(l.Button,{appearance:"link",dense:!0,onClick:()=>{d.openEditGroup(f.name,"identity")},children:G.length}),role:"cell",className:"u-align--right identities","aria-label":"Identities in this group"},{content:e.jsx(l.Button,{appearance:"link",dense:!0,onClick:()=>{d.openEditGroup(f.name,"permission")},children:((E=f.permissions)==null?void 0:E.length)||0}),role:"cell",className:"u-align--right permissions","aria-label":"Permissions for this group"},{className:"actions u-align--right",content:e.jsx(ft,{group:f}),role:"cell","aria-label":"Actions"}],sortData:{name:f.name.toLowerCase(),description:f.description.toLowerCase(),permissions:((A=f.permissions)==null?void 0:A.length)||0,identities:G.length}}}),{rows:c,updateSort:r}=re({rows:o,defaultSort:"name"});if(s)return e.jsx(We,{text:"Loading groups"});const x=()=>{if(u.length>0)return e.jsx(Je,{totalCount:n.length??0,itemName:"group",parentName:"",selectedNames:u,setSelectedNames:b,filteredNames:w.map(f=>f.name),hideActions:!!d.panel})},g=n.length>0,I=g?e.jsx(oe,{dependencies:[n],tableId:"groups-table",belowIds:["status-bar"],children:e.jsx(l.TablePagination,{data:c,id:"pagination",itemName:"group",className:"u-no-margin--top","aria-label":"Table pagination control",description:x(),children:e.jsx(ae,{id:"groups-table",className:"groups-table",headers:p,rows:c,sortable:!0,emptyStateMsg:"No groups found matching this search",onUpdateSort:r,itemName:"group",parentName:"",selectedNames:u,setSelectedNames:b,disabledNames:[],filteredNames:w.map(f=>f.name),disableSelect:!!d.panel})})}):e.jsxs(l.EmptyState,{className:"empty-state",image:e.jsx(l.Icon,{name:"user-group",className:"empty-state-icon"}),title:"No groups",children:[e.jsx("p",{children:"Groups are an easy way to manage the structured assignment of permissions"}),e.jsx("p",{children:e.jsxs("a",{href:`${y}/explanation/authorization`,target:"_blank",rel:"noopener noreferrer",children:["Learn more about permissions",e.jsx(l.Icon,{className:"external-link-icon",name:"external-link"})]})}),e.jsx(l.Button,{className:"empty-state-button",appearance:"positive",onClick:d.openCreateGroup,disabled:!j(),title:j()?"":"You do not have permission to create groups",children:"Create group"})]});return e.jsxs(e.Fragment,{children:[e.jsxs(Xe,{contentClassName:"u-no-padding--bottom",header:e.jsxs(U,{children:[e.jsxs(U.Left,{children:[e.jsx(U.Title,{children:e.jsx(it,{href:`${y}/explanation/authorization`,title:"Learn more about permissions",children:"Groups"})}),!u.length&&g&&e.jsx(U.Search,{children:e.jsx(ut,{onChange:m,value:h,disabled:!!d.group})}),u.length>0&&!d.panel&&e.jsxs(e.Fragment,{children:[e.jsx(It,{groups:C,className:"u-no-margin--bottom"}),e.jsx(Gt,{groups:C,className:"u-no-margin--bottom",onDelete:()=>{b([])}})]})]}),g&&e.jsx(U.BaseActions,{children:!u.length&&e.jsx(l.Button,{appearance:"positive",className:"u-no-margin--bottom u-float-right",onClick:d.openCreateGroup,disabled:!j(),title:j()?"":"You do not have permission to create groups",children:"Create group"})})]}),children:[!d.panel&&e.jsx(ee,{}),e.jsx(l.Row,{className:"permission-groups",children:I})]}),d.panel===se.createGroup&&e.jsx(Nt,{}),d.panel===se.editGroup&&R&&e.jsx(Ct,{group:R,onClose:()=>{b([])}}),d.panel===se.groupIdentities&&!!C.length&&e.jsx(vt,{groups:C})]})};export{Qt as default};
Close