@strapi/admin 4.13.3 → 4.14.0-alpha.0

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.
Files changed (72) hide show
  1. package/admin/src/hooks/useAdminRoles/index.js +17 -7
  2. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +16 -7
  3. package/admin/src/hooks/useContentTypes/useContentTypes.js +18 -7
  4. package/build/1227.ec336799.chunk.js +1 -0
  5. package/build/{3483.19381b40.chunk.js → 3483.f6b2439f.chunk.js} +1 -1
  6. package/build/4174.4587c7f6.chunk.js +1 -0
  7. package/build/6266.53be9ea3.chunk.js +124 -0
  8. package/build/7897.eac204a4.chunk.js +6 -0
  9. package/build/{Admin-authenticatedApp.796792a8.chunk.js → Admin-authenticatedApp.d200a4ee.chunk.js} +1 -1
  10. package/build/{admin-app.2a8615ab.chunk.js → admin-app.582877a3.chunk.js} +11 -11
  11. package/build/admin-edit-roles-page.0aa65505.chunk.js +267 -0
  12. package/build/admin-edit-users.9215912a.chunk.js +10 -0
  13. package/build/admin-roles-list.824a50de.chunk.js +22 -0
  14. package/build/admin-users.f6b3c643.chunk.js +11 -0
  15. package/build/audit-logs-settings-page.be2cb4dd.chunk.js +1 -0
  16. package/build/{content-manager.f448efdf.chunk.js → content-manager.06a2f7ec.chunk.js} +39 -39
  17. package/build/index.html +1 -1
  18. package/build/review-workflows-settings-create-view.604cffa0.chunk.js +1 -0
  19. package/build/review-workflows-settings-edit-view.73c57f07.chunk.js +1 -0
  20. package/build/review-workflows-settings-list-view.7e300ecb.chunk.js +56 -0
  21. package/build/{runtime~main.d2b8d4a1.js → runtime~main.9de029f4.js} +2 -2
  22. package/build/sso-settings-page.94373f78.chunk.js +1 -0
  23. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +65 -53
  24. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +50 -5
  25. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +227 -19
  26. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +8 -23
  27. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  28. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +17 -7
  29. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js +36 -0
  30. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +68 -19
  31. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +105 -35
  32. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +68 -27
  33. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/selectors.js +45 -0
  34. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.js +20 -0
  35. package/ee/server/config/admin-actions.js +6 -0
  36. package/ee/server/constants/workflows.js +13 -0
  37. package/ee/server/content-types/workflow-stage/index.js +6 -0
  38. package/ee/server/controllers/workflows/index.js +41 -16
  39. package/ee/server/controllers/workflows/stages/index.js +93 -6
  40. package/ee/server/routes/review-workflows.js +10 -9
  41. package/ee/server/services/index.js +1 -0
  42. package/ee/server/services/review-workflows/stage-permissions.js +60 -0
  43. package/ee/server/services/review-workflows/stages.js +83 -12
  44. package/ee/server/services/review-workflows/workflows/index.js +20 -7
  45. package/ee/server/validation/review-workflows.js +11 -0
  46. package/package.json +8 -8
  47. package/scripts/build.js +2 -3
  48. package/scripts/create-dev-plugins-file.js +2 -3
  49. package/server/content-types/Permission.js +6 -0
  50. package/server/domain/permission/index.js +11 -2
  51. package/server/services/role.js +12 -4
  52. package/server/validation/action-provider.js +1 -1
  53. package/server/validation/common-validators.js +92 -100
  54. package/server/validation/permission.js +0 -3
  55. package/utils/create-cache-dir.js +5 -102
  56. package/utils/plugins.js +217 -0
  57. package/webpack.config.js +2 -2
  58. package/build/1227.9f37e1dc.chunk.js +0 -1
  59. package/build/2237.b832ae6e.chunk.js +0 -114
  60. package/build/4174.f1f39e40.chunk.js +0 -1
  61. package/build/4724.aea5c8c1.chunk.js +0 -6
  62. package/build/admin-edit-roles-page.38a6c863.chunk.js +0 -267
  63. package/build/admin-edit-users.545fc882.chunk.js +0 -10
  64. package/build/admin-roles-list.1e2e814d.chunk.js +0 -22
  65. package/build/admin-users.b8ea5677.chunk.js +0 -11
  66. package/build/audit-logs-settings-page.96f9d608.chunk.js +0 -1
  67. package/build/review-workflows-settings-create-view.4a156a19.chunk.js +0 -1
  68. package/build/review-workflows-settings-edit-view.ce984d1f.chunk.js +0 -1
  69. package/build/review-workflows-settings-list-view.419b8deb.chunk.js +0 -56
  70. package/build/sso-settings-page.45153df5.chunk.js +0 -1
  71. package/utils/create-plugins-exclude-path.js +0 -20
  72. package/utils/get-plugins.js +0 -110
@@ -0,0 +1,267 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{64499:function(K,L,o){"use strict";o.d(L,{V:function(){return R}});var e=o(45509),C=o(20108);const R=(E={},O={})=>{const{id:P,...A}=E,{get:h}=(0,e.kY)();if(!P&&(O?.enabled===void 0||O?.enabled))throw new Error('"id" is a required argument');const{data:S,error:W,isError:a,isLoading:Z,refetch:m}=(0,C.useQuery)(["roles",P,"permissions",A],async()=>{const{data:{data:M}}=await h(`/admin/roles/${P}/permissions`,{params:A});return M},O);return{permissions:S,error:W,isError:a,isLoading:Z,refetch:m}}},86409:function(K,L,o){"use strict";o.d(L,{F:function(){return O}});var e=o(32735),C=o(45509),R=o(67879),E=o(20108);const O=(P={},A={})=>{const{id:h="",...S}=P,{get:W}=(0,C.kY)(),{locale:a}=(0,R.Z)(),Z=(0,C.Xe)(a,{sensitivity:"base"}),{data:m,error:M,isError:F,isLoading:g,refetch:b}=(0,E.useQuery)(["roles",h,S],async()=>{const{data:X}=await W(`/admin/roles/${h??""}`,{params:S});return X},A);return{roles:e.useMemo(()=>{let X=[];return h&&m?X=[m.data]:Array.isArray(m?.data)&&(X=m.data),[...X].sort((oe,ee)=>Z.compare(oe.name,ee.name))},[m,h,Z]),error:M,isError:F,isLoading:g,refetch:b}}},15570:function(K,L,o){"use strict";o.r(L),o.d(L,{CreatePage:function(){return Re},default:function(){return Se}});var e=o(32735),C=o(27649),R=o(82055),E=o(87933),O=o(41415),P=o(17e3),A=o(72850),h=o(49372),S=o(15335),W=o(5803),a=o(10369),Z=o(33475),m=o(45509),M=o(29439),F=o(14723),g=o(92802),b=o(86834),Y=o.n(b),X=o(67879),oe=o(15062),ee=o(53038),v=o(8471),me=o(64499),Q=o(30305),H=o(1283),te=o(91720),Ce=o(24346),xe=Ce.Ry().shape({name:Ce.Z_().required(m.I0.required),description:Ce.Z_().required(m.I0.required)});const ie=v.ZP.div`
2
+ border: 1px solid ${({theme:G})=>G.colors.primary200};
3
+ background: ${({theme:G})=>G.colors.primary100};
4
+ padding: ${({theme:G})=>`${G.spaces[2]} ${G.spaces[4]}`};
5
+ color: ${({theme:G})=>G.colors.primary600};
6
+ border-radius: ${({theme:G})=>G.borderRadius};
7
+ font-size: ${12/16}rem;
8
+ font-weight: bold;
9
+ `,Re=()=>{const G=(0,ee.$B)("/settings/roles/duplicate/:id"),w=(0,m.lm)(),{lockApp:re,unlockApp:z}=(0,m.o1)(),{formatMessage:j}=(0,X.Z)(),[J,he]=(0,e.useState)(!1),{replace:pe}=(0,ee.k6)(),q=(0,e.useRef)(),{trackUsage:ce}=(0,m.rS)(),{post:Ie,put:Be}=(0,m.kY)(),{params:ve}=G??{},{isLoading:Ze,data:Le}=(0,te.d)(ve?.id,{cacheTime:0}),{permissions:ye,isLoading:Me}=(0,me.V)({id:ve?.id},{cacheTime:0,enabled:!!ve?.id}),Fe=Pe=>{re(),he(!0),ve?.id?ce("willDuplicateRole"):ce("willCreateNewRole"),Promise.resolve(Ie("/admin/roles",Pe)).then(async({data:ne})=>{const{permissionsToSend:le}=q.current.getPermissions();return ve?.id?ce("didDuplicateRole"):ce("didCreateNewRole"),ne.data.id&&!Y()(le)&&await Be(`/admin/roles/${ne.data.id}/permissions`,{permissions:le}),ne}).then(ne=>{he(!1),w({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),pe(`/settings/roles/${ne.data.id}`)}).catch(ne=>{console.error(ne),he(!1),w({type:"warning",message:{id:"notification.error"}})}).finally(()=>{z()})},Ue=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,F.Z)(new Date,"PPP")}`;return e.createElement(C.o,null,e.createElement(m.SL,{name:"Roles"}),e.createElement(g.J9,{initialValues:{name:"",description:Ue},onSubmit:Fe,validationSchema:xe,validateOnChange:!1},({handleSubmit:Pe,values:ne,errors:le,handleReset:de,handleChange:ue})=>e.createElement(m.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(R.T,{primaryAction:e.createElement(E.k,{gap:2},e.createElement(O.z,{variant:"secondary",onClick:()=>{de(),q.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(O.z,{onClick:Pe,loading:J,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(m.rU,{startIcon:e.createElement(M.Z,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(P.D,null,e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(A.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(E.k,{justifyContent:"space-between"},e.createElement(A.x,null,e.createElement(A.x,null,e.createElement(h.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(A.x,null,e.createElement(h.Z,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(ie,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(S.r,{gap:4},e.createElement(W.P,{col:6},e.createElement(a.o,{name:"name",error:le.name&&j({id:le.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:ue,required:!0,value:ne.name})),e.createElement(W.P,{col:6},e.createElement(Z.g,{label:j({id:"global.description",defaultMessage:"Description"}),id:"description",error:le.description&&j({id:le.description}),onChange:ue},ne.description))))),!Ze&&!Me?e.createElement(A.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(H.Z,{isFormDisabled:!1,ref:q,permissions:ye,layout:Le})):e.createElement(A.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(m.dO,null))))))))};function Se(){const G=(0,oe.v9)(Q._);return e.createElement(m.O4,{permissions:G.settings.roles.create},e.createElement(Re,null))}},1283:function(K,L,o){"use strict";o.d(L,{Z:function(){return ts}});var e=o(32735),C=o(91215),R=o(90980),E=o(3653),O=o(45509),P=o(23973),A=o.n(P),h=o(86834),S=o.n(h),W=o(60216),a=o.n(W),Z=o(67879),m=o(72850),M=o(98978),F=o.n(M),g=o(8471),b=o(87933),Y=o(82884),X=o(15974),oe=o(96441),ee=o(33795),v=o.n(ee),me=o(9086),Q=o.n(me),H=o(79652),te=o(41415),Ce=o(45112);const be=g.ZP.div`
10
+ position: relative;
11
+
12
+ ${({hasConditions:t,disabled:n,theme:r})=>t&&`
13
+ &:before {
14
+ content: '';
15
+ position: absolute;
16
+ top: -3px;
17
+ left: -10px;
18
+ width: 6px;
19
+ height: 6px;
20
+ border-radius: ${20/16}rem;;
21
+ background: ${n?r.colors.neutral100:r.colors.primary600};
22
+ }
23
+ `}
24
+ `,xe=({onClick:t,className:n,hasConditions:r,variant:s})=>{const{formatMessage:i}=(0,Z.Z)();return e.createElement(be,{hasConditions:r,className:n},e.createElement(te.z,{variant:s,startIcon:e.createElement(Ce.Z,null),onClick:t},i({id:"global.settings",defaultMessage:"Settings"})))};xe.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},xe.propTypes={onClick:a().func.isRequired,className:a().string,hasConditions:a().bool,variant:a().string};var ie=(0,g.ZP)(xe)``,Re=o(85025),Se=o(55225),G=o(31600),w=o(49372),re=o(11406),z=o(26858),j=o(51654),J=o(97889),he=o(81346),pe=o.n(he),q=o(23940),ce=o.n(q),Ie=o(27799);const Be=t=>Object.values(t).map(n=>Object.entries(n).filter(([,r])=>r).map(([r])=>r)).flat(),ve=t=>t.reduce((n,[r,s])=>(n.push({label:ce()(r),children:s.map(i=>({label:i.displayName,value:i.id}))}),n),[]),Ze=(t,n)=>t.map(([,r])=>r).flat().reduce((r,s)=>({[s.id]:n.includes(s.id),...r}),{}),Le=({arrayOfOptionsGroupedByCategory:t,isFormDisabled:n,isGrey:r,label:s,name:i,onChange:l,value:d})=>{const{formatMessage:c}=(0,Z.Z)(),p=u=>{l(i,Ze(t,u))};return e.createElement(b.k,{as:"li",background:r?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(b.k,{paddingLeft:6,style:{width:180}},e.createElement(w.Z,{variant:"sigma",textColor:"neutral600"},c({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(w.Z,{variant:"sigma",title:s,textColor:"primary600",ellipsis:!0},c({id:`Settings.roles.form.permissions.${s.toLowerCase()}`,defaultMessage:s})),e.createElement(w.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",c({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(m.x,{style:{maxWidth:430,width:"100%"}},e.createElement(Ie.Q,{id:i,customizeContent:u=>`${u.length} currently selected`,onChange:p,value:Be(d),options:ve(t),disabled:n})))};Le.propTypes={arrayOfOptionsGroupedByCategory:a().array.isRequired,isFormDisabled:a().bool.isRequired,isGrey:a().bool.isRequired,label:a().string.isRequired,name:a().string.isRequired,value:a().object.isRequired,onChange:a().func.isRequired};var ye=Le;const Me=(t,n)=>t.reduce((r,s)=>(r[s.id]=v()(n,s.id,!1),r),{}),Fe=(t,n)=>t.reduce((r,s)=>{const[i,l]=s,d=Me(l,n);return r[i]=d,r},{});var Pe=(t,n,r)=>t.reduce((s,i)=>{const l=v()(n,[...i.pathToConditionsObject,"conditions"],{}),d=Fe(r,l);return s[i.pathToConditionsObject.join("..")]=d,s},{});const ne=({actions:t,headerBreadCrumbs:n,isFormDisabled:r,onClosed:s,onToggle:i})=>{const{formatMessage:l}=(0,Z.Z)(),{availableConditions:d,modifiedData:c,onChangeConditions:p}=(0,H.$_)(),u=(0,e.useMemo)(()=>Object.entries(pe()(d,"category")),[d]),f=t.filter(({isDisplayed:y,hasSomeActionsSelected:I,hasAllActionsSelected:D})=>y&&(I||D)),x=(0,e.useMemo)(()=>Pe(f,c,u),[f,c,u]),[$,N]=(0,e.useState)(x),k=(y,I)=>{N((0,J.ZP)(D=>{D[y]||(D[y]={}),D[y].default||(D[y].default={}),D[y].default=I}))},T=()=>{const y=Object.entries($).reduce((I,D)=>{const[B,se]=D,U=Object.values(se).reduce((_,V)=>({..._,...V}),{});return I[B]=U,I},{});p(y),i()};return e.createElement(Re.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(Se.x,null,e.createElement(z.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map((y,I,D)=>e.createElement(j.$,{isCurrent:I===D.length-1,key:y},ce()(l({id:y,defaultMessage:y})))))),e.createElement(G.f,null,f.length===0&&e.createElement(w.Z,null,l({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,f.map(({actionId:y,label:I,pathToConditionsObject:D},B)=>{const se=D.join("..");return e.createElement(ye,{key:y,arrayOfOptionsGroupedByCategory:u,label:I,isFormDisabled:r,isGrey:B%2===0,name:se,onChange:k,value:v()($,se,{})})}))),e.createElement(re.m,{startActions:e.createElement(te.z,{variant:"tertiary",onClick:i},l({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(te.z,{onClick:T},l({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};ne.propTypes={actions:a().arrayOf(a().shape({actionId:a().string.isRequired,checkboxName:a().string,hasSomeActionsSelected:a().bool.isRequired,hasAllActionsSelected:a().bool,isDisplayed:a().bool.isRequired,label:a().string})).isRequired,headerBreadCrumbs:a().arrayOf(a().string).isRequired,isFormDisabled:a().bool.isRequired,onClosed:a().func.isRequired,onToggle:a().func.isRequired};var le=ne;const de=`${120/16}rem`,ue=`${200/16}rem`,Ae=`${53/16}rem`;var Ne=g.ZP.div`
25
+ width: ${de};
26
+ `,rt=(0,g.ZP)(b.k)`
27
+ padding-right: ${({theme:t})=>t.spaces[2]};
28
+ overflow: hidden;
29
+ flex: 1;
30
+ ${({isCollapsable:t})=>t&&"cursor: pointer;"}
31
+ `;const Ge=({children:t,isCollapsable:n,isActive:r,isFormDisabled:s,label:i,onChange:l,onClick:d,checkboxName:c,someChecked:p,value:u})=>{const{formatMessage:f}=(0,Z.Z)();return e.createElement(b.k,{alignItems:"center",paddingLeft:6,style:{width:ue,flexShrink:0}},e.createElement(m.x,{paddingRight:2},e.createElement(Y.C,{name:c,"aria-label":f({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:i}),disabled:s,onValueChange:x=>l({target:{name:c,value:x}}),indeterminate:p,value:u})),e.createElement(rt,{title:i,alignItems:"center",isCollapsable:n,...n&&{onClick:d,"aria-expanded":r,onKeyDown:({key:x})=>(x==="Enter"||x===" ")&&d(),tabIndex:0,role:"button"}},e.createElement(w.Z,{fontWeight:r?"bold":"",textColor:r?"primary600":"neutral800",ellipsis:!0},ce()(i)),t))};Ge.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},Ge.propTypes={checkboxName:a().string,children:a().node,label:a().string.isRequired,isCollapsable:a().bool,isFormDisabled:a().bool.isRequired,onChange:a().func,onClick:a().func.isRequired,someChecked:a().bool,value:a().bool,isActive:a().bool.isRequired};var at=(0,e.memo)(Ge),Nt=o(72091),Wt=o.n(Nt),Vt=o(85973),Te=o.n(Vt);const it=t=>Te()(t)?Wt()(Object.values(t).map(n=>Te()(n)?it(n):n)):[];var je=it,ze=t=>t?Object.keys(t).reduce((n,r)=>(r!=="conditions"&&(n[r]=t[r]),n),{}):null,Oe=t=>{const n=ze(t),r=je(n);if(!r.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=r.every(l=>l),i=r.some(l=>l)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:i}},Kt=o(16899),We=(0,g.ZP)(Kt.Z)`
32
+ display: none;
33
+ width: ${10/16}rem;
34
+ transform: rotate(${({$isActive:t})=>t?"180":"0"}deg);
35
+ margin-left: ${({theme:t})=>t.spaces[2]};
36
+ `,Ve=t=>`
37
+ ${w.Z} {
38
+ color: ${t.colors.primary600};
39
+ font-weight: ${t.fontWeights.bold}
40
+ }
41
+ ${We} {
42
+ display: block;
43
+ path {
44
+ fill: ${t.colors.primary600}
45
+ };
46
+ }
47
+ `,Ut=(t,n,r)=>t.map(({actionId:s,isDisplayed:i,applyToProperties:l,label:d})=>{if(!i)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:i};const c=[...r.split(".."),s],p=S()(l)?[...c,"properties","enabled"]:c,u=p.join(".."),f=v()(n,[...c,"conditions"],null),x=je(f).some(T=>T);if(S()(l)){const T=v()(n,p,!1);return{actionId:s,checkboxName:u,hasAllActionsSelected:T,hasConditions:x,hasSomeActionsSelected:T,isDisplayed:i,isParentCheckbox:!1,label:d,pathToConditionsObject:c}}const $=v()(n,p,null),{hasAllActionsSelected:N,hasSomeActionsSelected:k}=Oe($);return{actionId:s,checkboxName:u,hasAllActionsSelected:N,hasConditions:x,hasSomeActionsSelected:k,isDisplayed:i,isParentCheckbox:!0,label:d,pathToConditionsObject:c}});const Ye=(t,n)=>`
48
+ ${lt} {
49
+ background-color: ${t.colors.primary100};
50
+ color: ${t.colors.primary600};
51
+ border-radius: ${n?"2px 2px 0 0":"2px"};
52
+ }
53
+ ${ct} {
54
+ display: flex;
55
+ }
56
+ ${ie} {
57
+ display: block;
58
+ }
59
+ &:hover {
60
+ ${Ve(t)}
61
+ }
62
+
63
+ &:focus-within {
64
+ ${({theme:r,isActive:s})=>Ye(r,s)}
65
+ }
66
+
67
+ `,lt=g.ZP.div`
68
+ flex: 1;
69
+ display: flex;
70
+ align-items: center;
71
+ height: ${Ae};
72
+ background-color: ${({isGrey:t,theme:n})=>t?n.colors.neutral100:n.colors.neutral0};
73
+ border: 1px solid transparent;
74
+ `,Ht=g.ZP.div`
75
+ display: inline-flex;
76
+ min-width: 100%;
77
+
78
+ ${ie} {
79
+ display: none;
80
+ }
81
+ ${({isActive:t,theme:n})=>t&&Ye(n,t)}
82
+ &:hover {
83
+ ${({theme:t,isActive:n})=>Ye(t,n)}
84
+ }
85
+ `,dt=(0,g.ZP)(b.k)`
86
+ width: ${de};
87
+ position: relative;
88
+ `,ct=(0,g.ZP)(m.x)`
89
+ display: none;
90
+ svg {
91
+ width: 11px;
92
+ }
93
+ * {
94
+ fill: ${({theme:t})=>t.colors.primary600};
95
+ }
96
+ `,ut=g.ZP.span`
97
+ position: absolute;
98
+ top: -6px;
99
+ left: 37px;
100
+ width: 6px;
101
+ height: 6px;
102
+ border-radius: 20px;
103
+ background: ${({theme:t})=>t.colors.primary600};
104
+ `,Gt=(0,g.ZP)(m.x)`
105
+ position: absolute;
106
+ right: 9px;
107
+ transform: translateY(10px);
108
+ `,mt=({availableActions:t,isActive:n,isGrey:r,isFormDisabled:s,label:i,onClickToggle:l,pathToData:d})=>{const[c,p]=(0,e.useState)(!1),{formatMessage:u}=(0,Z.Z)(),{modifiedData:f,onChangeParentCheckbox:x,onChangeSimpleCheckbox:$}=(0,H.$_)(),N=()=>{p(U=>!U)},k=()=>{p(!1)},T=v()(f,d.split(".."),{}),y=(0,e.useMemo)(()=>Object.keys(T).reduce((U,_)=>(U[_]=Q()(T[_],"conditions"),U),{}),[T]),{hasAllActionsSelected:I,hasSomeActionsSelected:D}=Oe(y),B=(0,e.useMemo)(()=>Ut(t,f,d),[t,f,d]),se=B.some(({hasConditions:U})=>U);return e.createElement(Ht,{isActive:n},e.createElement(lt,{isGrey:r},e.createElement(at,{isCollapsable:!0,isFormDisabled:s,label:i,checkboxName:d,onChange:x,onClick:l,someChecked:D,value:I,isActive:n},e.createElement(ct,{paddingLeft:2},n?e.createElement(X.Z,null):e.createElement(oe.Z,null))),e.createElement(b.k,{style:{flex:1}},B.map(({actionId:U,hasConditions:_,hasAllActionsSelected:V,hasSomeActionsSelected:fe,isDisplayed:ke,isParentCheckbox:ae,checkboxName:Ee,label:Ke})=>ke?ae?e.createElement(dt,{key:U,justifyContent:"center",alignItems:"center"},_&&e.createElement(ut,null),e.createElement(Y.C,{disabled:s,name:Ee,"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${Ke} ${i}`}),onValueChange:$e=>{x({target:{name:Ee,value:$e}})},indeterminate:fe,value:V})):e.createElement(dt,{key:U,justifyContent:"center",alignItems:"center"},_&&e.createElement(ut,null),e.createElement(Y.C,{disabled:s,indeterminate:_,name:Ee,onValueChange:$e=>{$({target:{name:Ee,value:$e}})},value:V})):e.createElement(Ne,{key:U}))),c&&e.createElement(le,{headerBreadCrumbs:[i,"Settings.permissions.conditions.conditions"],actions:B,isFormDisabled:s,onClosed:k,onToggle:N})),e.createElement(Gt,null,e.createElement(ie,{onClick:N,hasConditions:se})))};mt.propTypes={availableActions:a().array.isRequired,isActive:a().bool.isRequired,isGrey:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggle:a().func.isRequired,pathToData:a().string.isRequired};var zt=mt;const Yt=g.ZP.span`
109
+ color: ${({theme:t})=>t.colors.danger700};
110
+ padding-left: ${({theme:t})=>t.spaces[1]}px;
111
+ `;var pt=()=>e.createElement(Yt,null,"*"),wt=(t,n)=>t.map(r=>{const s=Array.isArray(r.subjects)&&r.subjects.indexOf(n)!==-1;return{...r,isDisplayed:s}});const Xt=(0,g.ZP)(m.x)`
112
+ transform: translate(-4px, -12px);
113
+
114
+ &:before {
115
+ content: '';
116
+ width: ${4/16}rem;
117
+ height: ${12/16}rem;
118
+ background: ${({theme:t})=>t.colors.primary200};
119
+ display: block;
120
+ }
121
+ `,Qt=g.ZP.svg`
122
+ position: relative;
123
+ flex-shrink: 0;
124
+ transform: translate(-0.5px, -1px);
125
+
126
+ * {
127
+ fill: ${({theme:t,color:n})=>t.colors[n]};
128
+ }
129
+ `,we=t=>e.createElement(Xt,null,e.createElement(Qt,{width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));we.defaultProps={fill:"primary200"},we.propTypes={fill:a().string};var Jt=(0,e.memo)(we);const gt=(0,g.ZP)(b.k)`
130
+ width: ${de};
131
+ position: relative;
132
+ `,qt=(0,g.ZP)(b.k)`
133
+ height: ${Ae};
134
+ `,_t=(0,g.ZP)(m.x)`
135
+ padding-left: ${31/16}rem;
136
+ `,en=(0,g.ZP)(m.x)`
137
+ border-left: ${({isVisible:t,theme:n})=>t?`4px solid ${n.colors.primary200}`:"4px solid transparent"};
138
+ `,tn=(0,g.ZP)(b.k)`
139
+ padding-left: ${({theme:t})=>t.spaces[4]};
140
+ width: ${({level:t})=>145-t*36}px;
141
+
142
+ ${({isCollapsable:t,theme:n})=>t&&`
143
+ ${We} {
144
+ display: block;
145
+ color: ${n.colors.neutral100};
146
+ }
147
+ &:hover {
148
+ ${Ve(n)}
149
+ }
150
+ `}
151
+ ${({isActive:t,theme:n})=>t&&Ve(n)};
152
+ `,nn=g.ZP.div`
153
+ padding-top: ${({theme:t})=>t.spaces[2]};
154
+ margin-top: ${({theme:t})=>t.spaces[2]};
155
+ width: ${4/16}rem;
156
+ background-color: ${({theme:t})=>t.colors.primary200};
157
+ border-top-left-radius: 2px;
158
+ border-top-right-radius: 2px;
159
+ `,Xe=({childrenForm:t,isFormDisabled:n,recursiveLevel:r,pathToDataFromActionRow:s,propertyActions:i,parentName:l,propertyName:d})=>{const{formatMessage:c}=(0,Z.Z)(),{modifiedData:p,onChangeParentCheckbox:u,onChangeSimpleCheckbox:f}=(0,H.$_)(),[x,$]=(0,e.useState)(null),N=T=>{$(y=>y===T?null:T)},k=(0,e.useMemo)(()=>x?t.find(({value:T})=>T===x):null,[x,t]);return e.createElement(_t,null,e.createElement(nn,null),t.map(({label:T,value:y,required:I,children:D},B)=>{const se=B+1<t.length,U=Array.isArray(D),_=x===y;return e.createElement(en,{key:y,isVisible:se},e.createElement(qt,null,e.createElement(Jt,{color:"primary200"}),e.createElement(b.k,{style:{flex:1}},e.createElement(tn,{level:r,isActive:_,isCollapsable:U},e.createElement(rt,{alignItems:"center",isCollapsable:U,...U&&{onClick:()=>N(y),"aria-expanded":_,onKeyDown:({key:V})=>(V==="Enter"||V===" ")&&N(y),tabIndex:0,role:"button"},title:T},e.createElement(w.Z,{ellipsis:!0},ce()(T)),I&&e.createElement(pt,null),e.createElement(We,{$isActive:_}))),e.createElement(b.k,{style:{flex:1}},i.map(({actionId:V,label:fe,isActionRelatedToCurrentProperty:ke})=>{if(!ke)return e.createElement(Ne,{key:V});const ae=[...s.split(".."),V,"properties",d,...l.split(".."),y],Ee=v()(p,ae,!1);if(!D)return e.createElement(gt,{key:fe,justifyContent:"center",alignItems:"center"},e.createElement(Y.C,{disabled:n,name:ae.join(".."),"aria-label":c({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${T} ${fe}`}),onValueChange:De=>{f({target:{name:ae.join(".."),value:De}})},value:Ee}));const{hasAllActionsSelected:Ke,hasSomeActionsSelected:$e}=Oe(Ee);return e.createElement(gt,{key:fe,justifyContent:"center",alignItems:"center"},e.createElement(Y.C,{key:fe,disabled:n,name:ae.join(".."),"aria-label":c({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${T} ${fe}`}),onValueChange:De=>{u({target:{name:ae.join(".."),value:De}})},value:Ke,indeterminate:$e}))})))),k&&_&&e.createElement(m.x,{paddingBottom:2},e.createElement(Xe,{isFormDisabled:n,parentName:`${l}..${y}`,pathToDataFromActionRow:s,propertyActions:i,propertyName:d,recursiveLevel:r+1,childrenForm:k.children})))}))};Xe.propTypes={childrenForm:a().array.isRequired,isFormDisabled:a().bool.isRequired,parentName:a().string.isRequired,pathToDataFromActionRow:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,recursiveLevel:a().number.isRequired};var sn=(0,e.memo)(Xe);const on=t=>t.reduce((r,s)=>(s.isActionRelatedToCurrentProperty&&r.push(s.actionId),r),[]);var rn=(t,n,r,s,i)=>{const d=on(t).reduce((c,p)=>{const u=[...r.split(".."),p,"properties",s,i],f=v()(n,u,!1);return c[p]=f,c},{});return Oe(d)};const ft=(0,g.ZP)(b.k)`
160
+ width: ${de};
161
+ position: relative;
162
+ `,an=(0,g.ZP)(b.k)`
163
+ height: ${Ae};
164
+ flex: 1;
165
+
166
+ ${({isCollapsable:t,theme:n})=>t&&`
167
+ ${We} {
168
+ display: block;
169
+ color: ${n.colors.neutral100};
170
+ }
171
+ &:hover {
172
+ ${Ve(n)}
173
+ }
174
+ `}
175
+ ${({isActive:t,theme:n})=>t&&Ve(n)};
176
+ `,Qe=({childrenForm:t,label:n,isFormDisabled:r,name:s,required:i,pathToData:l,propertyActions:d,propertyName:c,isOdd:p})=>{const{formatMessage:u}=(0,Z.Z)(),[f,x]=(0,e.useState)(null),{modifiedData:$,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:k,onChangeSimpleCheckbox:T}=(0,H.$_)(),y=f===s,I=(0,e.useMemo)(()=>Array.isArray(t)?t:[],[t]),D=I.length>0,B=(0,e.useCallback)(()=>{D&&x(V=>V===s?null:s)},[D,s]),se=({target:{value:V}})=>{N(l,c,s,V)},{hasAllActionsSelected:U,hasSomeActionsSelected:_}=(0,e.useMemo)(()=>rn(d,$,l,c,s),[d,$,l,c,s]);return e.createElement(e.Fragment,null,e.createElement(an,{alignItems:"center",isCollapsable:D,isActive:y,background:p?"neutral100":"neutral0"},e.createElement(b.k,null,e.createElement(at,{onChange:se,onClick:B,isCollapsable:D,isFormDisabled:r,label:n,someChecked:_,value:U,isActive:y},i&&e.createElement(pt,null),e.createElement(We,{$isActive:y})),e.createElement(b.k,null,d.map(({label:V,isActionRelatedToCurrentProperty:fe,actionId:ke})=>{if(!fe)return e.createElement(Ne,{key:V});const ae=[...l.split(".."),ke,"properties",c,s];if(!D){const De=v()($,ae,!1);return e.createElement(ft,{key:ke,justifyContent:"center",alignItems:"center"},e.createElement(Y.C,{disabled:r,name:ae.join(".."),"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${V}`}),onValueChange:ns=>{T({target:{name:ae.join(".."),value:ns}})},value:De}))}const Ee=v()($,ae,{}),{hasAllActionsSelected:Ke,hasSomeActionsSelected:$e}=Oe(Ee);return e.createElement(ft,{key:V,justifyContent:"center",alignItems:"center"},e.createElement(Y.C,{disabled:r,name:ae.join(".."),onValueChange:De=>{k({target:{name:ae.join(".."),value:De}})},"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${V}`}),value:Ke,indeterminate:$e}))})))),y&&e.createElement(sn,{childrenForm:I,isFormDisabled:r,parentName:s,pathToDataFromActionRow:l,propertyName:c,propertyActions:d,recursiveLevel:0}))};Qe.defaultProps={childrenForm:[],required:!1},Qe.propTypes={childrenForm:a().array,label:a().string.isRequired,isFormDisabled:a().bool.isRequired,name:a().string.isRequired,pathToData:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,required:a().bool,isOdd:a().bool.isRequired};var ln=(0,e.memo)(Qe);const ht=(0,g.ZP)(b.k)`
177
+ width: ${de};
178
+ flex-shrink: 0;
179
+ `,dn=(0,g.ZP)(b.k)`
180
+ width: ${ue};
181
+ height: ${Ae};
182
+ flex-shrink: 0;
183
+ `,yt=({headers:t,label:n})=>{const{formatMessage:r}=(0,Z.Z)(),s=r({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(b.k,null,e.createElement(dn,{alignItems:"center",paddingLeft:6},e.createElement(w.Z,{variant:"sigma",textColor:"neutral500"},s)),t.map(i=>i.isActionRelatedToCurrentProperty?e.createElement(ht,{justifyContent:"center",key:i.label},e.createElement(w.Z,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${i.label.toLowerCase()}`,defaultMessage:i.label}))):e.createElement(ht,{key:i.label})))};yt.propTypes={headers:a().arrayOf(a().shape({label:a().string.isRequired,isActionRelatedToCurrentProperty:a().bool.isRequired})).isRequired,label:a().string.isRequired};var cn=yt,un=(t,n)=>t.map(r=>{const s=Array.isArray(r.applyToProperties)&&r.applyToProperties.indexOf(n)!==-1&&r.isDisplayed;return{label:r.label,actionId:r.actionId,isActionRelatedToCurrentProperty:s}});const mn=g.ZP.div`
184
+ display: inline-flex;
185
+ flex-direction: column;
186
+ min-width: 0;
187
+ `,Ct=({availableActions:t,childrenForm:n,isFormDisabled:r,label:s,pathToData:i,propertyName:l})=>{const d=(0,e.useMemo)(()=>un(t,l),[t,l]);return e.createElement(mn,null,e.createElement(cn,{label:s,headers:d}),e.createElement(m.x,null,n.map(({children:c,label:p,value:u,required:f},x)=>e.createElement(ln,{childrenForm:c,key:u,label:p,isFormDisabled:r,name:u,required:f,propertyActions:d,pathToData:i,propertyName:l,isOdd:x%2===0}))))};Ct.propTypes={childrenForm:a().array.isRequired,availableActions:a().array.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,pathToData:a().string.isRequired,propertyName:a().string.isRequired};var pn=Ct;const gn=g.ZP.div`
188
+ flex-direction: column;
189
+ display: inline-flex;
190
+ min-width: 100%;
191
+ ${({theme:t,isActive:n})=>n&&`border: 1px solid ${t.colors.primary600};`}
192
+ `,vt=({allActions:t,contentTypeName:n,label:r,index:s,isActive:i,isFormDisabled:l,onClickToggleCollapse:d,pathToData:c,properties:p})=>{const u=(0,e.useCallback)(()=>{d(n)},[n,d]),f=(0,e.useMemo)(()=>wt(t,n),[t,n]);return e.createElement(gn,{isActive:i},e.createElement(zt,{availableActions:f,isActive:i,isGrey:s%2===0,isFormDisabled:l,label:r,onClickToggle:u,pathToData:c}),i&&p.map(({label:x,value:$,children:N})=>e.createElement(pn,{availableActions:f,childrenForm:N,isFormDisabled:l,label:x,pathToData:c,propertyName:$,key:$})))};vt.propTypes={allActions:a().array.isRequired,contentTypeName:a().string.isRequired,index:a().number.isRequired,isActive:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggleCollapse:a().func.isRequired,pathToData:a().string.isRequired,properties:a().array.isRequired};var fn=vt;const Je=({actions:t,isFormDisabled:n,pathToData:r,subjects:s})=>{const[i,l]=(0,e.useState)(null),d=c=>{l(i===c?null:c)};return s.map(({uid:c,label:p,properties:u},f)=>e.createElement(fn,{allActions:t,key:c,contentTypeName:c,label:p,isActive:i===c,isFormDisabled:n,index:f,onClickToggleCollapse:d,pathToData:`${r}..${c}`,properties:u}))};Je.defaultProps={actions:[],subjects:[]},Je.propTypes={actions:a().array.isRequired,isFormDisabled:a().bool.isRequired,pathToData:a().string.isRequired,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))};var hn=(0,e.memo)(Je),yn=t=>t.filter(({subjects:n})=>n&&n.length);const Cn=t=>t.map(({actionId:n})=>n),vn=(t,n)=>t.reduce((r,s)=>(Object.keys(n).forEach(i=>{const l=v()(n,[i,s],{}),d={[i]:ze(l)};r[s]?r[s]={...r[s],...d}:r[s]=d}),r),{});var En=(t,n)=>{const r=Cn(t),s=vn(r,n);return Object.keys(s).reduce((l,d)=>(l[d]=Oe(s[d]),l),{})};const bn=(0,g.ZP)(b.k)`
193
+ width: ${de};
194
+ flex-shrink: 0;
195
+ `,qe=({actions:t,isFormDisabled:n,kind:r})=>{const{formatMessage:s}=(0,Z.Z)(),{modifiedData:i,onChangeCollectionTypeGlobalActionCheckbox:l}=(0,H.$_)(),d=(0,e.useMemo)(()=>yn(t),[t]),c=(0,e.useMemo)(()=>En(d,i[r]),[i,d,r]);return e.createElement(m.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:ue}},e.createElement(b.k,{gap:0},d.map(({label:p,actionId:u})=>e.createElement(bn,{direction:"column",alignItems:"center",justifyContent:"center",key:u,gap:3},e.createElement(w.Z,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})),e.createElement(Y.C,{disabled:n,onValueChange:f=>{l(r,u,f)},name:u,"aria-label":s({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})}),value:v()(c,[u,"hasAllActionsSelected"],!1),indeterminate:v()(c,[u,"hasSomeActionsSelected"],!1)})))))};qe.defaultProps={actions:[]},qe.propTypes={actions:a().arrayOf(a().shape({label:a().string.isRequired,actionId:a().string.isRequired,subjects:a().array.isRequired})),isFormDisabled:a().bool.isRequired,kind:a().string.isRequired};var xn=(0,e.memo)(qe);const Rn=(0,g.ZP)(m.x)`
196
+ overflow-x: auto;
197
+ `,Et=({isFormDisabled:t,kind:n,layout:{actions:r,subjects:s}})=>{const i=F()([...s],"label");return e.createElement(Rn,{background:"neutral0"},e.createElement(xn,{actions:r,kind:n,isFormDisabled:t}),e.createElement(hn,{actions:r,isFormDisabled:t,pathToData:n,subjects:i}))};Et.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().shape({actions:a().array,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))}).isRequired};var bt=(0,e.memo)(Et),Pn=o(76402);const xt=({children:t,value:n})=>e.createElement(Pn.$l.Provider,{value:n},t);xt.propTypes={children:a().node.isRequired,value:a().exact({availableConditions:a().array.isRequired,modifiedData:a().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:a().func.isRequired,onChangeConditions:a().func.isRequired,onChangeSimpleCheckbox:a().func.isRequired,onChangeParentCheckbox:a().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:a().func.isRequired}).isRequired};var An=xt,Tn=o(83828),Sn=o(61762),Mn=o(89966),Rt=o(8284),On=o(15335),$n=o(5803),Dn=(t,n,r)=>t.map(s=>{const i=[...r,s.action,"properties","enabled"],l=v()(n,i,!1),d=v()(n,[...r,s.action,"conditions"],{}),c=je(d).some(p=>p);return{...s,isDisplayed:l,checkboxName:i.join(".."),hasSomeActionsSelected:l,value:l,hasConditions:c,label:s.displayName,actionId:s.action,pathToConditionsObject:[...r,s.action]}}),Ln=t=>{const n=Object.entries(t).reduce((s,i)=>{const[l,{conditions:d}]=i;return s[l]=d,s},{});return je(n).some(s=>s)};const jn=g.ZP.div`
198
+ flex: 1;
199
+ align-self: center;
200
+ border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
201
+ `,kn=g.ZP.div`
202
+ position: relative;
203
+ word-break: keep-all;
204
+ ${({hasConditions:t,disabled:n,theme:r})=>t&&`
205
+ &:before {
206
+ content: '';
207
+ position: absolute;
208
+ top: ${-4/16}rem;
209
+ left: ${-8/16}rem;
210
+ width: ${6/16}rem;
211
+ height: ${6/16}rem;
212
+ border-radius: ${20/16}rem;
213
+ background: ${n?r.colors.neutral100:r.colors.primary600};
214
+ }
215
+ `}
216
+ `,Pt=({categoryName:t,isFormDisabled:n,subCategoryName:r,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:u}=(0,H.$_)(),{formatMessage:f}=(0,Z.Z)(),x=v()(c,i,{}),$=(0,e.useMemo)(()=>Object.keys(x).reduce((B,se)=>(B[se]=ze(x[se]),B),{}),[x]),{hasAllActionsSelected:N,hasSomeActionsSelected:k}=Oe($),T=()=>{d(B=>!B)},y=()=>{d(!1)},I=Dn(s,c,i),D=Ln(v()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(m.x,null,e.createElement(b.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(m.x,{paddingRight:4},e.createElement(w.Z,{variant:"sigma",textColor:"neutral600"},r)),e.createElement(jn,null),e.createElement(m.x,{paddingLeft:4},e.createElement(Rt.X,{name:i.join(".."),disabled:n,onValueChange:B=>{p({target:{name:i.join(".."),value:B}})},indeterminate:k,value:N},f({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(b.k,{paddingTop:6,paddingBottom:6},e.createElement(On.r,{gap:2,style:{flex:1}},I.map(({checkboxName:B,value:se,action:U,displayName:_,hasConditions:V})=>e.createElement($n.P,{col:3,key:U},e.createElement(kn,{disabled:n,hasConditions:V},e.createElement(Rt.X,{name:B,disabled:n,onValueChange:fe=>{u({target:{name:B,value:fe}})},value:se},_))))),e.createElement(ie,{hasConditions:D,onClick:T}))),l&&e.createElement(le,{headerBreadCrumbs:[t,r],actions:I,isFormDisabled:n,onClosed:y,onToggle:T}))};Pt.propTypes={actions:a().array.isRequired,categoryName:a().string.isRequired,isFormDisabled:a().bool.isRequired,subCategoryName:a().string.isRequired,pathToData:a().array.isRequired};var In=Pt;const _e=({childrenForm:t,kind:n,name:r,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,Z.Z)(),u=()=>{d(r)},f=(0,e.useMemo)(()=>r.split("::").pop(),[r]);return e.createElement(Tn.U,{expanded:s,onToggle:u,id:`accordion-${r}`,variant:l?"primary":"secondary"},e.createElement(Sn.B,{title:ce()(f),description:`${p({id:"Settings.permissions.category"},{category:f})} ${n==="plugins"?"plugin":n}`}),e.createElement(Mn.v,null,e.createElement(m.x,{padding:6},t.map(({actions:x,subCategoryName:$,subCategoryId:N})=>e.createElement(In,{key:$,actions:x,categoryName:f,isFormDisabled:i,subCategoryName:$,pathToData:[...c,N]})))))};_e.defaultProps={},_e.propTypes={childrenForm:a().array.isRequired,isOpen:a().bool.isRequired,isFormDisabled:a().bool.isRequired,isWhite:a().bool.isRequired,kind:a().string.isRequired,name:a().string.isRequired,onOpenCategory:a().func.isRequired,pathToData:a().array.isRequired};var Bn=_e;const At=({isFormDisabled:t,kind:n,layout:r})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(m.x,{padding:6,background:"neutral0"},r.map(({category:d,categoryId:c,childrenForm:p},u)=>e.createElement(Bn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:u%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};At.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().arrayOf(a().shape({category:a().string.isRequired,categoryId:a().string.isRequired,childrenForm:a().arrayOf(a().shape({actions:a().array.isRequired})).isRequired}).isRequired).isRequired};var Tt=At,Zn=o(86349),Fn=o.n(Zn),Nn=o(3040),ge=o.n(Nn),St=(t,n,r)=>t.find(s=>s.action===n&&s.subject===r);const Mt=(t,n=[])=>t.reduce((r,s)=>(r[s.id]=n.indexOf(s.id)!==-1,r),{}),Ot=({children:t},n,r="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:Ot(i,n,`${r}${i.value}.`)};const l=n.indexOf(`${r}${i.value}`)!==-1;return s[i.value]=l,s},{}),Wn=(t,n,r)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=v()(r,["properties",l.value],[]),c=Ot(l,d);s.properties[i]=c}return s},{properties:{}}),Vn=(t,n)=>n.reduce((r,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(r[s]=i),r},{});var $t=({subjects:t},n,r,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Vn(t,d);if(S()(c))return i;const p=Object.keys(c).reduce((u,f)=>{const{actionId:x,applyToProperties:$}=l,T=c[f].properties.map(({value:B})=>B).every(B=>($||[]).indexOf(B)===-1),y=St(s,x,f),I=Mt(r,v()(y,"conditions",[]));if(S()($)||T)return ge()(u,[f,x],{properties:{enabled:y!==void 0},conditions:I}),u;const D=Wn($,c[f],y);return ge()(u,[f,x],{...D,conditions:I}),u},{});return Fn()(i,p)},{});const Kn=(t,n,r)=>t.reduce((s,i)=>{const l=St(r,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Mt(n,l?.conditions??[])},s},{}),Un=(t,n,r)=>t.reduce((s,i)=>(s[i.subCategoryId]=Kn(i.actions,n,r),s),{});var Dt=(t,n,r=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Un(l,n,r);return s[i]=d,s},{});const Lt=t=>t.split(" ").join("-");var jt=(t,n)=>Object.entries(pe()(t,n)).map(([r,s])=>({category:r,categoryId:Lt(r),childrenForm:Object.entries(pe()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:Lt(i),actions:l}))})),Hn=(t,n)=>{const{conditions:r,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:jt(l,"plugin"),settings:jt(d,"category")},p={collectionTypes:$t(s,s.actions||[],r,n),singleTypes:$t(i,i.actions||[],r,n),plugins:Dt(c.plugins,r,n),settings:Dt(c.settings,r,n)};return{initialData:p,modifiedData:p,layouts:c}},Gn=o(99381),et=o.n(Gn);const kt=t=>Object.keys(t).reduce((n,r)=>{const s=t[r];if(Te()(s)&&!A()(s,"conditions"))return{...n,[r]:kt(s)};if(Te()(s)&&A()(s,"conditions")&&!je(Q()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[r]:{...s,conditions:l}}}return n[r]=s,n},{});var tt=kt;const It=(t,n,r=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!r?(s[i]=l,s):Te()(l)?{...s,[i]:It(l,n,i==="fields")}:(s[i]=n,s)},{});var He=It;const zn={initialData:{},modifiedData:{},layouts:{}};var Yn=(t,n)=>(0,J.ZP)(t,r=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(v()(t,d)).forEach(c=>{const p=v()(t,[...d,c,i],void 0);if(p){let u=He(p,l);if(!l&&u.conditions){const f=He(u.conditions,!1);u={...u,conditions:f}}ge()(r,[...d,c,i],u)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=et()(t.modifiedData);const p=s.split(".."),u=v()(c,p,{});Object.keys(u).forEach(f=>{if(A()(u[f],`properties.${i}`)){const x=v()(u,[f,"properties",i,l]),$=[...p,f,"properties",i,l];if(!Te()(x))ge()(c,$,d);else{const N=He(x,d);ge()(c,$,N)}}}),d||(c=tt(c)),ge()(r,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;ge()(r,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=et()(t.modifiedData);ge()(s,[...n.keys.split("..")],n.value),n.value||(s=tt(s)),ge()(r,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=et()(t.modifiedData);const c=v()(d,l,{}),p=He(c,i);ge()(d,l,p),i||(d=tt(d)),ge()(r,["modifiedData"],d);break}case"RESET_FORM":{r.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{r.initialData=t.modifiedData;break}default:return r}});const nt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),wn=t=>{const[n,{conditions:r}]=t;return{action:n,subject:null,conditions:nt(r),properties:{}}},Xn=t=>Object.values(t).reduce((n,r)=>{const s=Object.entries(r).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=wn(l);return i.push(c),i},[]);return[...n,...s]},[]);var Bt=t=>Object.values(t).reduce((n,r)=>{const s=Xn(r);return[...n,...s]},[]);const Zt=(t,n="")=>Object.entries(t).reduce((r,s)=>{const[i,l]=s;return Te()(l)?[...r,...Zt(l,`${n}${i}.`)]:(l&&!Te()(l)&&r.push(`${n}${i}`),r)},[]),Qn=(t,n,{conditions:r,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=Zt(c),i},{action:t,subject:n,conditions:nt(r),properties:{}}),Jn=(t,n,{conditions:r})=>({action:t,subject:n,properties:{},conditions:nt(r)}),qn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!je(d).some(u=>u))return s;if(!d?.properties?.enabled){const u=Qn(l,t,d);return[...s,u]}if(!d.properties.enabled)return s;const p=Jn(l,t,d);return s.push(p),s},[]);var Ft=t=>Object.entries(t).reduce((r,s)=>{const[i,l]=s,d=qn(i,l);return[...r,...d]},[]),_n=t=>{const n=Bt(t.plugins),r=Bt(t.settings),s=Ft(t.collectionTypes),i=Ft(t.singleTypes);return[...n,...r,...s,...i]},es=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const st=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:r},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Yn,zn,()=>Hn(t,r)),{formatMessage:p}=(0,Z.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const k=(0,O.e5)(i.collectionTypes,d.collectionTypes),T=(0,O.e5)(i.singleTypes,d.singleTypes),y={...k,...T};let I;return S()(y)?I=!1:I=Object.values(y).some(D=>Object.values(D).some(B=>A()(B,"conditions"))),{permissionsToSend:_n(d),didUpdateConditions:I}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const u=(k,T,y,I)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:k,propertyName:T,rowName:y,value:I})},f=(k,T,y)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:k,actionId:T,value:y})},x=k=>{c({type:"ON_CHANGE_CONDITIONS",conditions:k})},$=(0,e.useCallback)(({target:{name:k,value:T}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:k,value:T})},[]),N=(0,e.useCallback)(({target:{name:k,value:T}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:k,value:T})},[]);return e.createElement(An,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:x,onChangeSimpleCheckbox:$,onChangeParentCheckbox:N,onChangeCollectionTypeLeftActionRowCheckbox:u,onChangeCollectionTypeGlobalActionCheckbox:f}},e.createElement(C.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(R.m,null,es.map(k=>e.createElement(R.O,{key:k.id},p({id:k.labelId,defaultMessage:k.defaultMessage})))),e.createElement(E.n,{style:{position:"relative"}},e.createElement(E.x,null,e.createElement(bt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(bt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(Tt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(Tt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});st.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},st.propTypes={layout:a().object,isFormDisabled:a().bool.isRequired,permissions:a().array};var ts=(0,e.memo)(st)},87056:function(K,L,o){"use strict";o.r(L),o.d(L,{default:function(){return w}});var e=o(32735),C=o(45509),R=o(15062),E=o(53038),O=o(30305),P=o(27649),A=o(82055),h=o(87933),S=o(41415),W=o(17e3),a=o(72850),Z=o(29439),m=o(92802),M=o(67879),F=o(64499),g=o(86409),b=o(91720),Y=o(1283),X=o(49372),oe=o(15335),ee=o(5803),v=o(10369),me=o(33475),Q=o(60216),H=o.n(Q);const te=({disabled:re,role:z,values:j,errors:J,onChange:he,onBlur:pe})=>{const{formatMessage:q}=(0,M.Z)();return e.createElement(a.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(h.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(h.k,{justifyContent:"space-between"},e.createElement(a.x,null,e.createElement(a.x,null,e.createElement(X.Z,{fontWeight:"bold"},z?z.name:q({id:"global.details",defaultMessage:"Details"}))),e.createElement(a.x,null,e.createElement(X.Z,{textColor:"neutral500",variant:"pi"},z?z.description:q({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(S.z,{disabled:!0,variant:"secondary"},q({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:z.usersCount}))),e.createElement(oe.r,{gap:4},e.createElement(ee.P,{col:6},e.createElement(v.o,{disabled:re,name:"name",error:J.name&&q({id:J.name}),label:q({id:"global.name",defaultMessage:"Name"}),onChange:he,onBlur:pe,required:!0,value:j.name||""})),e.createElement(ee.P,{col:6},e.createElement(me.g,{disabled:re,label:q({id:"global.description",defaultMessage:"Description"}),id:"description",error:J.name&&q({id:J.name}),onChange:he,onBlur:pe},j.description||"")))))};te.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},te.propTypes={disabled:H().bool,errors:H().object.isRequired,onBlur:H().func.isRequired,onChange:H().func.isRequired,role:H().object,values:H().object};var Ce=te,be=o(24346),ie=be.Ry().shape({name:be.Z_().required(C.I0.required)}),Se=()=>{const re=(0,C.lm)(),{formatMessage:z}=(0,M.Z)(),{params:{id:j}}=(0,E.$B)("/settings/roles/:id"),{put:J}=(0,C.kY)(),[he,pe]=(0,e.useState)(!1),q=(0,e.useRef)(),{lockApp:ce,unlockApp:Ie}=(0,C.o1)(),{trackUsage:Be}=(0,C.rS)(),{formatAPIError:ve}=(0,C.So)(),{isLoading:Ze,data:Le}=(0,b.d)(j,{cacheTime:0}),{roles:[ye={}],isLoading:Me,refetch:Fe}=(0,g.F)({id:j},{cacheTime:0}),{permissions:Ue,isLoading:Pe}=(0,F.V)({id:j},{cacheTime:0}),ne=async de=>{try{ce(),pe(!0);const{permissionsToSend:ue,didUpdateConditions:Ae}=q.current.getPermissions();await J(`/admin/roles/${j}`,de),ye.code!=="strapi-super-admin"&&(await J(`/admin/roles/${j}/permissions`,{permissions:ue}),Ae&&Be("didUpdateConditions")),q.current.setFormAfterSubmit(),await Fe(),re({type:"success",message:{id:"notification.success.saved"}})}catch(ue){re({type:"warning",message:ve(ue)})}finally{pe(!1),Ie()}},le=!Me&&ye.code==="strapi-super-admin";return e.createElement(P.o,null,e.createElement(C.SL,{name:"Roles"}),e.createElement(m.J9,{enableReinitialize:!0,initialValues:{name:ye.name,description:ye.description},onSubmit:ne,validationSchema:ie,validateOnChange:!1},({handleSubmit:de,values:ue,errors:Ae,handleChange:ot,handleBlur:Ne})=>e.createElement("form",{onSubmit:de},e.createElement(A.T,{primaryAction:e.createElement(h.k,{gap:2},e.createElement(S.z,{disabled:ye.code==="strapi-super-admin",onClick:de,loading:he,size:"L"},z({id:"global.save",defaultMessage:"Save"}))),title:z({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:z({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(C.rU,{startIcon:e.createElement(Z.Z,null),to:"/settings/roles"},z({id:"global.back",defaultMessage:"Back"}))}),e.createElement(W.D,null,e.createElement(h.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Ce,{isLoading:Me||Pe,disabled:le,errors:Ae,values:ue,onChange:ot,onBlur:Ne,role:ye}),!Ze&&!Me&&!Pe?e.createElement(a.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Y.Z,{isFormDisabled:le,permissions:Ue,ref:q,layout:Le})):e.createElement(a.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(C.dO,null)))))))},w=()=>{const re=(0,R.v9)(O._),{isLoading:z,allowedActions:{canRead:j,canUpdate:J}}=(0,C.ss)({read:re.settings.roles.read,update:re.settings.roles.update});return z?e.createElement(C.dO,null):!j&&!J?e.createElement(E.l_,{to:"/"}):e.createElement(Se,null)}},91720:function(K,L,o){"use strict";o.d(L,{d:function(){return R}});var e=o(45509),C=o(20108);const R=(E,O={})=>{const{get:P}=(0,e.kY)(),{data:A,error:h,isError:S,isLoading:W}=(0,C.useQuery)(["permissions",E],async()=>{const{data:{data:a}}=await P("/admin/permissions",{params:{role:E}});return a},O);return{data:A,error:h,isError:S,isLoading:W}}},84802:function(K){function L(o,e,C,R){for(var E=-1,O=o==null?0:o.length;++E<O;){var P=o[E];e(R,P,C(P),o)}return R}K.exports=L},62435:function(K,L,o){var e=o(56671);function C(R,E,O,P){return e(R,function(A,h,S){E(P,A,O(A),S)}),P}K.exports=C},85580:function(K,L,o){var e=o(84802),C=o(62435),R=o(88904),E=o(77236);function O(P,A){return function(h,S){var W=E(h)?e:C,a=A?A():{};return W(h,P,R(S,2),a)}}K.exports=O},72091:function(K,L,o){var e=o(40314),C=1/0;function R(E){var O=E==null?0:E.length;return O?e(E,C):[]}K.exports=R},81346:function(K,L,o){var e=o(40999),C=o(85580),R=Object.prototype,E=R.hasOwnProperty,O=C(function(P,A,h){E.call(P,h)?P[h].push(A):e(P,h,[A])});K.exports=O},83828:function(K,L,o){"use strict";o.d(L,{U:function(){return Z},y:function(){return W}});var e=o(74512),C=o(32735),R=o(8471),E=o(91045),O=o(74971),P=o(49372),A=o(87933),h=o(72850);const S=({theme:m,expanded:M,variant:F,disabled:g,error:b})=>b?`1px solid ${m.colors.danger600} !important`:g?`1px solid ${m.colors.neutral150}`:M?`1px solid ${m.colors.primary600}`:F==="primary"?`1px solid ${m.colors.neutral0}`:`1px solid ${m.colors.neutral100}`,W=(0,R.ZP)(P.Z)``,a=(0,R.ZP)(h.x)`
217
+ border: ${S};
218
+
219
+ &:hover:not([aria-disabled='true']) {
220
+ border: 1px solid ${({theme:m})=>m.colors.primary600};
221
+
222
+ ${W} {
223
+ color: ${({theme:m,expanded:M})=>M?void 0:m.colors.primary700};
224
+ }
225
+
226
+ ${P.Z} {
227
+ color: ${({theme:m,expanded:M})=>M?void 0:m.colors.primary600};
228
+ }
229
+
230
+ & > ${A.k} {
231
+ background: ${({theme:m})=>m.colors.primary100};
232
+ }
233
+
234
+ [data-strapi-dropdown='true'] {
235
+ background: ${({theme:m})=>m.colors.primary200};
236
+ }
237
+ }
238
+ `,Z=({children:m,disabled:M=!1,error:F,expanded:g=!1,hasErrorMessage:b=!0,id:Y,onToggle:X,toggle:oe,size:ee="M",variant:v="primary",shadow:me})=>{const Q=(0,O.M)(Y),H=C.useMemo(()=>({expanded:g,onToggle:X,toggle:oe,id:Q,size:ee,variant:v,disabled:M}),[M,g,Q,X,ee,oe,v]);return(0,e.jsxs)(E.S.Provider,{value:H,children:[(0,e.jsx)(a,{"data-strapi-expanded":g,disabled:M,"aria-disabled":M,expanded:g,hasRadius:!0,variant:v,error:F,shadow:me,children:m}),F&&b&&(0,e.jsx)(h.x,{paddingTop:1,children:(0,e.jsx)(P.Z,{variant:"pi",textColor:"danger600",children:F})})]})}},89966:function(K,L,o){"use strict";o.d(L,{v:function(){return E}});var e=o(74512),C=o(91045),R=o(72850);const E=({children:O,...P})=>{const{expanded:A,id:h}=(0,C.A)();if(!A)return null;const S=`accordion-content-${h}`,W=`accordion-label-${h}`,a=`accordion-desc-${h}`;return(0,e.jsx)(R.x,{role:"region",id:S,"aria-labelledby":W,"aria-describedby":a,...P,children:O})}},91045:function(K,L,o){"use strict";o.d(L,{A:function(){return R},S:function(){return C}});var e=o(32735);const C=(0,e.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),R=()=>(0,e.useContext)(C)},61762:function(K,L,o){"use strict";o.d(L,{B:function(){return m}});var e=o(74512),C=o(16899),R=o(8471),E=o(83828),O=o(91045);const P=({expanded:M,disabled:F,variant:g})=>{let b="neutral100";return M?b="primary100":F?b="neutral150":g==="primary"&&(b="neutral0"),b};var A=o(7563),h=o(99140),S=o(87933),W=o(49372);const a=(0,R.ZP)(A.A)`
239
+ text-align: left;
240
+
241
+ // necessary to make the ellipsis prop work on the title
242
+ > span {
243
+ max-width: 100%;
244
+ }
245
+
246
+ svg {
247
+ width: ${14/16}rem;
248
+ height: ${14/16}rem;
249
+
250
+ path {
251
+ fill: ${({theme:M,expanded:F})=>F?M.colors.primary600:M.colors.neutral500};
252
+ }
253
+ }
254
+ `,Z=(0,R.ZP)(S.k)`
255
+ min-height: ${({theme:M,size:F})=>M.sizes.accordions[F]};
256
+ border-radius: ${({theme:M,expanded:F})=>F?`${M.borderRadius} ${M.borderRadius} 0 0`:M.borderRadius};
257
+
258
+ &:hover {
259
+ svg {
260
+ path {
261
+ fill: ${({theme:M})=>M.colors.primary600};
262
+ }
263
+ }
264
+ }
265
+ `,m=({title:M,description:F,as:g="span",togglePosition:b="right",action:Y,...X})=>{const{onToggle:oe,toggle:ee,expanded:v,id:me,size:Q,variant:H,disabled:te}=(0,O.A)(),Ce=`accordion-content-${me}`,be=`accordion-label-${me}`,xe=`accordion-desc-${me}`,ie=Q==="M"?6:4,Re=Q==="M"?ie:ie-2,Se=P({expanded:v,disabled:te,variant:H}),G={as:g,fontWeight:Q==="S"?"bold":void 0,id:be,textColor:v?"primary600":"neutral700",ellipsis:!0,variant:Q==="M"?"delta":void 0},w=v?"primary600":"neutral600",re=v?"primary200":"neutral200",z=Q==="M"?`${32/16}rem`:`${24/16}rem`,j=()=>{te||(ee&&!oe?(console.warn('Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead'),ee()):oe&&oe())},J=(0,e.jsx)(S.k,{justifyContent:"center",borderRadius:"50%",height:z,width:z,transform:v?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:re,cursor:te?"not-allowed":"pointer",onClick:j,shrink:0,children:(0,e.jsx)(h.J,{as:C.Z,width:Q==="M"?`${11/16}rem`:`${8/16}rem`,color:v?"primary600":"neutral600"})});return(0,e.jsx)(Z,{paddingBottom:Re,paddingLeft:ie,paddingRight:ie,paddingTop:Re,background:Se,expanded:v,size:Q,justifyContent:"space-between",cursor:te?"not-allowed":"",children:(0,e.jsxs)(S.k,{gap:3,flex:1,maxWidth:"100%",children:[b==="left"&&J,(0,e.jsx)(a,{onClick:j,"aria-disabled":te,"aria-expanded":v,"aria-controls":Ce,"aria-labelledby":be,"data-strapi-accordion-toggle":!0,expanded:v,type:"button",flex:1,minWidth:0,...X,children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(E.y,{...G,children:M}),F&&(0,e.jsx)(W.Z,{as:"p",id:xe,textColor:w,children:F})]})}),b==="right"&&(0,e.jsxs)(S.k,{gap:3,children:[J,Y]}),b==="left"&&Y]})})}},27799:function(K,L,o){"use strict";o.d(L,{Q:function(){return E}});var e=o(74512),C=o(8471),R=o(6407);const E=({options:P,...A})=>(0,e.jsx)(R.NU,{...A,children:P.map(h=>"children"in h?(0,e.jsx)(R.Ab,{label:h.label,values:h.children.map(S=>S.value.toString()),children:h.children.map(S=>(0,e.jsx)(O,{value:S.value,children:S.label},S.value))},h.label):(0,e.jsx)(R.ML,{value:h.value,children:h.label},h.value))}),O=(0,C.ZP)(R.ML)`
266
+ padding-left: ${({theme:P})=>P.spaces[7]};
267
+ `}}]);
@@ -0,0 +1,10 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{97108:function(B,i,e){e.d(i,{R:function(){return r}});var t=e(32735),a=e(45509),o=e(20108);function r(E={},d={}){const{id:n="",...u}=E,{get:g}=(0,a.kY)(),{data:s,isError:c,isLoading:f,refetch:y}=(0,o.useQuery)(["users",n,u],async()=>{const{data:{data:M}}=await g(`/admin/users/${n}`,{params:u});return M},d);return{users:t.useMemo(()=>n&&s?[s]:Array.isArray(s?.results)?s.results:[],[s,n]),pagination:t.useMemo(()=>s?.pagination??null,[s?.pagination]),isLoading:f,isError:c,refetch:y}}},28363:function(B,i,e){e.r(i),e.d(i,{default:function(){return re}});var t=e(32735),a=e(45509),o=e(15062),r=e(53038),E=e(30305),d=e(27649),n=e(82055),u=e(41415),g=e(17e3),s=e(72850),c=e(87933),f=e(49372),y=e(15335),D=e(5803),M=e(66456),O=e(29439),I=e(92802),j=e(33795),x=e.n(j),N=e(9086),Y=e.n(N),U=e(88423),S=e.n(U),F=e(60216),H=e.n(F),V=e(67879),G=e(97108),v=e(9592),Q=e(90869),ee=e(47577),te=e(18703),ae=e(32720);const se=async(L,m)=>{const{put:C}=(0,a.tg)(),{data:T}=await C(`/admin/users/${L}`,m);return T.data};var ne=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12},autoComplete:"new-password"},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12},autoComplete:"new-password"}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]];const b=["email","firstname","lastname","username","isActive","roles"],w=({canUpdate:L})=>{const{formatMessage:m}=(0,V.Z)(),{params:{id:C}}=(0,r.$B)("/settings/users/:id"),{push:T}=(0,r.k6)(),{setUserDisplayName:Z}=(0,a.L7)(),h=(0,a.lm)(),{lockApp:X,unlockApp:J}=(0,a.o1)(),k=(0,v.c)(ee.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE);(0,a.go)();const{users:[W],isLoading:le}=(0,G.R)({id:C},{cacheTime:0,onError(l){const{status:p}=l.response;p===403?(h({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),T("/")):h({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ie=async(l,p)=>{X();try{const P=await se(C,Y()(l,"confirmPassword"));h({type:"success",message:m({id:"notification.success.saved",defaultMessage:"Saved"})});const R=a.I8.getUserInfo();if(C.toString()===R.id.toString()){a.I8.setUserInfo(P);const K=x()(l,"username")||(0,Q.Pp)(l.firstname,l.lastname);Z(K)}p.setValues(S()(l,b))}catch(P){const R=(0,Q.Iz)(P.response.data),K=Object.keys(R).reduce(($,A)=>($[A]=R[A].id,$),{});p.setErrors(K),h({type:"warning",message:x()(P,"response.data.error.message","notification.error")})}J()},q=le||!k,de=q?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},z=Object.keys(S()(W,b)).reduce((l,p)=>p==="roles"?(l[p]=(W?.roles||[]).map(({id:P})=>P),l):(l[p]=W?.[p],l),{}),ce=z.username||(0,Q.Pp)(z.firstname,z.lastname),_=m(de,{name:ce});return q?t.createElement(d.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(n.T,{primaryAction:t.createElement(u.z,{disabled:!0,startIcon:t.createElement(M.Z,null),type:"button",size:"L"},m({id:"global.save",defaultMessage:"Save"})),title:_,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(O.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},m({id:"global.back",defaultMessage:"Back"}))}),t.createElement(g.D,null,t.createElement(a.dO,null))):t.createElement(d.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(I.J9,{onSubmit:ie,initialValues:z,validateOnChange:!1,validationSchema:ae.YM},({errors:l,values:p,handleChange:P,isSubmitting:R,dirty:K})=>t.createElement(a.l0,null,t.createElement(n.T,{primaryAction:t.createElement(u.z,{disabled:R||!L?!0:!K,startIcon:t.createElement(M.Z,null),loading:R,type:"submit",size:"L"},m({id:"global.save",defaultMessage:"Save"})),title:_,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(O.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},m({id:"global.back",defaultMessage:"Back"}))}),t.createElement(g.D,null,W?.registrationToken&&t.createElement(s.x,{paddingBottom:6},t.createElement(k,{registrationToken:W.registrationToken})),t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(s.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(f.Z,{variant:"delta",as:"h2"},m({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(y.r,{gap:5},ne.map($=>$.map(A=>t.createElement(D.P,{key:A.name,...A.size},t.createElement(a.jm,{...A,disabled:!L,error:l[A.name],onChange:P,value:p[A.name]||""}))))))),t.createElement(s.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(f.Z,{variant:"delta",as:"h2"},m({id:"global.roles",defaultMessage:"User's role"})),t.createElement(y.r,{gap:5},t.createElement(D.P,{col:6,xs:12},t.createElement(te.Z,{disabled:!L,error:l.roles,onChange:P,value:p.roles}))))))))))};w.propTypes={canUpdate:H().bool.isRequired};var oe=w,re=()=>{const L=(0,a.lm)(),m=(0,o.v9)(E._),C=t.useMemo(()=>({read:m.settings.users.read,update:m.settings.users.update}),[m.settings.users]),{isLoading:T,allowedActions:{canRead:Z,canUpdate:h}}=(0,a.ss)(C),{state:X}=(0,r.TH)(),J=X?.from??"/";return(0,t.useEffect)(()=>{T||!Z&&!h&&L({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[T,Z,h,L]),T?t.createElement(a.dO,null):!Z&&!h?t.createElement(r.l_,{to:J}):t.createElement(oe,{canUpdate:h})}},84024:function(B,i,e){var t=e(32735),a=e(50563),o=e(45509),r=e(47765),E=e(60216),d=e.n(E),n=e(67879);const u=({children:g,target:s})=>{const c=(0,o.lm)(),{formatMessage:f}=(0,n.Z)(),{copy:y}=(0,o.VP)(),D=f({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),M=async()=>{await y(s)&&c({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(o.Y_,{endAction:t.createElement(a.h,{label:D,noBorder:!0,icon:t.createElement(r.Z,null),onClick:M}),title:s,titleEllipsis:!0,subtitle:g,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};u.propTypes={children:d().oneOfType([d().element,d().string]).isRequired,target:d().string.isRequired},i.Z=u},47577:function(B,i,e){e.d(i,{A:function(){return n}});var t=e(32735),a=e(60216),o=e.n(a),r=e(67879),E=e(35231),d=e(84024);const n=({registrationToken:u})=>{const{formatMessage:g}=(0,r.Z)(),s=`${window.location.origin}${E.Z}auth/register?registrationToken=${u}`;return t.createElement(d.Z,{target:s},g({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:o().string}},18703:function(B,i,e){var t=e(32735),a=e(68465),o=e(84967),r=e(45509),E=e(27169),d=e(60216),n=e.n(d),u=e(67879),g=e(20108),s=e(8471);const c=(0,s.F4)`
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ `,f=s.ZP.div`
9
+ animation: ${c} 2s infinite linear;
10
+ `,y=()=>t.createElement(f,null,t.createElement(E.Z,null)),D=async()=>{const{get:O}=(0,r.tg)(),{data:I}=await O("/admin/roles");return I.data},M=({disabled:O,error:I,onChange:j,value:x})=>{const{status:N,data:Y}=(0,g.useQuery)(["roles"],D,{staleTime:5e4}),{formatMessage:U}=(0,u.Z)(),S=I?U({id:I,defaultMessage:I}):"",F=U({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),H=U({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),V=U({id:"app.components.Select.placeholder",defaultMessage:"Select"}),G=N==="loading"?t.createElement(y,null):void 0;return t.createElement(a.P,{id:"roles",disabled:O,error:S,hint:H,label:F,name:"roles",onChange:v=>{j({target:{name:"roles",value:v}})},placeholder:V,multi:!0,startIcon:G,value:x.map(v=>v.toString()),withTags:!0,required:!0},(Y||[]).map(v=>t.createElement(o.W,{key:v.id,value:v.id.toString()},U({id:`global.${v.code}`,defaultMessage:v.name}))))};M.defaultProps={disabled:!1,error:void 0},M.propTypes={disabled:n().bool,error:n().string,onChange:n().func.isRequired,value:n().array.isRequired},i.Z=M},32720:function(B,i,e){e.d(i,{YM:function(){return g},Rw:function(){return E}});var t=e(24346),a=e(45509);const o={firstname:t.Z_().trim().required(a.I0.required),lastname:t.Z_(),email:t.Z_().email(a.I0.email).lowercase().required(a.I0.required),username:t.Z_().nullable(),password:t.Z_().min(8,a.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,a.I0.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(s,c)=>s?c.required(a.I0.required):c)};var E={...o,currentPassword:t.Z_().when(["password","confirmPassword"],(s,c,f)=>s||c?f.required(a.I0.required):f),preferedLanguage:t.Z_().nullable()},n={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},g=t.Ry().shape({...o,isActive:t.Xg(),...n})},29439:function(B,i,e){e.d(i,{Z:function(){return o}});var t=e(74512);const a=r=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...r,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),o=a}}]);
@@ -0,0 +1,22 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{86409:function(N,p,t){t.d(p,{F:function(){return u}});var e=t(32735),n=t(45509),i=t(67879),c=t(20108);const u=(I={},j={})=>{const{id:v="",...y}=I,{get:o}=(0,n.kY)(),{locale:Z}=(0,i.Z)(),L=(0,n.Xe)(Z,{sensitivity:"base"}),{data:D,error:d,isError:C,isLoading:Q,refetch:V}=(0,c.useQuery)(["roles",v,y],async()=>{const{data:T}=await o(`/admin/roles/${v??""}`,{params:y});return T},j);return{roles:e.useMemo(()=>{let T=[];return v&&D?T=[D.data]:Array.isArray(D?.data)&&(T=D.data),[...T].sort((H,b)=>L.compare(H.name,b.name))},[D,v,L]),error:d,isError:C,isLoading:Q,refetch:V}}},32239:function(N,p,t){t.r(p),t.d(p,{default:function(){return ue}});var e=t(32735),n=t(45509),i=t(15062),c=t(30305),u=t(27649),I=t(82055),j=t(41415),v=t(99223),y=t(17e3),o=t(56755),Z=t(73269),L=t(33827),D=t(94547),d=t(19786),C=t(49372),Q=t(3685),V=t(35658),J=t(47765),T=t(68625),H=t(4038),b=t(19406),k=t(67879),q=t(53038),_=t(86409),ee=()=>"todo empty role",te=t(87933),ne=t(72850),le=t(50563),ae=t(60216),M=t.n(ae);const z=({id:a,name:m,description:s,usersCount:O,icons:r,rowIndex:W,canUpdate:E})=>{const{formatMessage:P}=(0,k.Z)(),[,x]=r,g=P({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:O});return e.createElement(D.Tr,{"aria-rowindex":W,key:a,...E?(0,n.X7)({fn:x.onClick}):{}},e.createElement(d.Td,{maxWidth:(0,n.Q1)(130)},e.createElement(C.Z,{ellipsis:!0,textColor:"neutral800"},m)),e.createElement(d.Td,{maxWidth:(0,n.Q1)(250)},e.createElement(C.Z,{ellipsis:!0,textColor:"neutral800"},s)),e.createElement(d.Td,null,e.createElement(C.Z,{textColor:"neutral800"},g)),e.createElement(d.Td,null,e.createElement(te.k,{justifyContent:"flex-end",...n.UW},r.map((h,A)=>h?e.createElement(ne.x,{key:h.label,paddingLeft:A===0?0:1},e.createElement(le.h,{onClick:h.onClick,label:h.label,noBorder:!0,icon:h.icon})):null))))};z.propTypes={id:M().number.isRequired,name:M().string.isRequired,description:M().string.isRequired,usersCount:M().number.isRequired,icons:M().array.isRequired,rowIndex:M().number.isRequired,canUpdate:M().bool},z.defaultProps={canUpdate:!1};var se=z,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(a,m)=>(0,oe.ZP)(a,s=>{switch(m.type){case"ON_REMOVE_ROLES":{s.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{s.shouldRefetchData=!0,s.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{s.shouldRefetchData=!1,s.roleToDelete=null,s.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{s.roleToDelete=m.id;break}default:return s}});const de=({canCreate:a,canDelete:m,canUpdate:s,refetchRoles:O})=>{const{formatMessage:r}=(0,k.Z)(),{formatAPIError:W}=(0,n.So)(),E=(0,n.lm)(),[P,x]=(0,e.useState)(!1),{push:g}=(0,q.k6)(),[{selectedRoles:h,showModalConfirmButtonLoading:A,roleToDelete:X},U]=(0,e.useReducer)(ie,re),{post:G}=(0,n.tg)(),Y=async()=>{try{U({type:"ON_REMOVE_ROLES"}),await G("/admin/roles/batch-delete",{ids:[X]}),await O(),U({type:"RESET_DATA_TO_DELETE"})}catch(l){E({type:"warning",message:W(l)})}B()},K=(0,e.useCallback)(l=>{g(`/settings/roles/duplicate/${l}`)},[g]),$=()=>g("/settings/roles/new"),S=(0,e.useCallback)(l=>{U({type:"SET_ROLE_TO_DELETE",id:l}),B()},[]),B=()=>x(l=>!l),f=(0,e.useCallback)(l=>{g(`/settings/roles/${l}`)},[g]),F=(0,e.useCallback)((l,R)=>{l.preventDefault(),l.stopPropagation(),R.usersCount?E({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):S(R.id)},[E,S]),w=(0,e.useCallback)((l,R)=>{l.preventDefault(),l.stopPropagation(),K(R.id)},[K]),me=(0,e.useCallback)(l=>[...a?[{onClick:R=>w(R,l),label:r({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(J.Z,null)}]:[],...s?[{onClick:()=>f(l.id),label:r({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(T.Z,null)}]:[],...m?[{onClick:R=>F(R,l),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(H.Z,null)}]:[]],[r,F,w,f,a,s,m]);return{handleNewRoleClick:$,getIcons:me,selectedRoles:h,isWarningDeleteAllOpened:P,showModalConfirmButtonLoading:A,handleToggleModal:B,handleDeleteData:Y}};var ce=()=>{const{formatMessage:a}=(0,k.Z)();(0,n.go)();const m=(0,i.v9)(c._),[{query:s}]=(0,n.Kx)(),{isLoading:O,allowedActions:{canCreate:r,canDelete:W,canRead:E,canUpdate:P}}=(0,n.ss)(m.settings.roles),{roles:x,isLoading:g,refetch:h}=(0,_.F)({filters:s?._q?{name:{$containsi:s._q}}:void 0},{cacheTime:0,enabled:!O&&E}),{handleNewRoleClick:A,getIcons:X,isWarningDeleteAllOpened:U,showModalConfirmButtonLoading:G,handleToggleModal:Y,handleDeleteData:K}=de({refetchRoles:h,canCreate:r,canDelete:W,canUpdate:P}),$=x.length+1,S=6;if(O)return e.createElement(u.o,null,e.createElement(n.dO,null));const B=a({id:"global.roles",defaultMessage:"roles"});return e.createElement(u.o,null,e.createElement(n.SL,{name:"Roles"}),e.createElement(I.T,{primaryAction:r?e.createElement(j.z,{onClick:A,startIcon:e.createElement(b.Z,null),size:"S"},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:B,subtitle:a({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),E&&e.createElement(v.Z,{startActions:e.createElement(n.m,{label:a({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:B})})}),E&&e.createElement(y.D,null,e.createElement(o.i,{colCount:S,rowCount:$,footer:r?e.createElement(Z.c,{onClick:A,icon:e.createElement(b.Z,null)},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(L.h,null,e.createElement(D.Tr,{"aria-rowindex":1},e.createElement(d.Th,null,e.createElement(C.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(d.Th,null,e.createElement(C.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.description",defaultMessage:"Description"}))),e.createElement(d.Th,null,e.createElement(C.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.users",defaultMessage:"Users"}))),e.createElement(d.Th,null,e.createElement(Q.T,null,a({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(V.p,null,x?.map((f,F)=>e.createElement(se,{key:f.id,id:f.id,name:f.name,description:f.description,usersCount:f.usersCount,icons:X(f),rowIndex:F+2,canUpdate:P})))),!$&&!g&&e.createElement(ee,null)),e.createElement(n.QH,{isOpen:U,onConfirm:K,isConfirmButtonLoading:G,onToggleDialog:Y}))},ue=()=>{const a=(0,i.v9)(c._);return e.createElement(n.O4,{permissions:a.settings.roles.main},e.createElement(ce,null))}},99223:function(N,p,t){t.d(p,{Z:function(){return i}});var e=t(74512),n=t(87933);const i=({startActions:c,endActions:u})=>!c&&!u?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:c}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:u})]})},73269:function(N,p,t){t.d(p,{c:function(){return y}});var e=t(74512),n=t(8471),i=t(72850),c=t(9026),u=t(87933),I=t(49372);const j=(0,n.ZP)(i.x)`
2
+ height: ${24/16}rem;
3
+ width: ${24/16}rem;
4
+ border-radius: 50%;
5
+ display: flex;
6
+ justify-content: center;
7
+ align-items: center;
8
+
9
+ svg {
10
+ height: ${10/16}rem;
11
+ width: ${10/16}rem;
12
+ }
13
+
14
+ svg path {
15
+ fill: ${({theme:o})=>o.colors.primary600};
16
+ }
17
+ `,v=(0,n.ZP)(i.x)`
18
+ border-radius: 0 0 ${({theme:o})=>o.borderRadius} ${({theme:o})=>o.borderRadius};
19
+ display: block;
20
+ width: 100%;
21
+ border: none;
22
+ `,y=({children:o,icon:Z,...L})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(c.i,{}),(0,e.jsx)(v,{as:"button",background:"primary100",padding:5,...L,children:(0,e.jsxs)(u.k,{children:[(0,e.jsx)(j,{"aria-hidden":!0,background:"primary200",children:Z}),(0,e.jsx)(i.x,{paddingLeft:3,children:(0,e.jsx)(I.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:o})})]})})]})}}]);
@@ -0,0 +1,11 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{97108:function(B,m,e){e.d(m,{R:function(){return o}});var t=e(32735),l=e(45509),r=e(20108);function o(u={},a={}){const{id:s="",...M}=u,{get:E}=(0,l.kY)(),{data:n,isError:C,isLoading:A,refetch:I}=(0,r.useQuery)(["users",s,M],async()=>{const{data:{data:y}}=await E(`/admin/users/${s}`,{params:M});return y},a);return{users:t.useMemo(()=>s&&n?[n]:Array.isArray(n?.results)?n.results:[],[n,s]),pagination:t.useMemo(()=>n?.pagination??null,[n?.pagination]),isLoading:A,isError:C,refetch:I}}},59092:function(B,m,e){var t=e(32735),l=e(72850),r=e(41415),o=e(45509),u=e(5644),a=e(60216),s=e.n(a),M=e(67879);const E=({displayedFilters:n})=>{const[C,A]=(0,t.useState)(!1),{formatMessage:I}=(0,M.Z)(),v=(0,t.useRef)(),y=()=>{A(W=>!W)};return t.createElement(t.Fragment,null,t.createElement(l.x,{paddingTop:1,paddingBottom:1},t.createElement(r.z,{variant:"tertiary",ref:v,startIcon:t.createElement(u.Z,null),onClick:y,size:"S"},I({id:"app.utils.filters",defaultMessage:"Filters"})),C&&t.createElement(o.J5,{displayedFilters:n,isVisible:C,onToggle:y,source:v})),t.createElement(o.W$,{filtersSchema:n}))};E.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},m.Z=E},99528:function(B,m,e){e.d(m,{W:function(){return pe},Z:function(){return Ze}});var t=e(32735),l=e(27649),r=e(82055),o=e(99223),u=e(17e3),a=e(45509),s=e(33348),M=e.n(s),E=e(67879),n=e(20108),C=e(15062),A=e(53038),I=e(97108),v=e(9592),y=e(30305),W=e(59092),O=e(41415),ae=e(7961),se=e(60216),d=e.n(se);const q=({onClick:i})=>{const{formatMessage:g}=(0,E.Z)();return t.createElement(O.z,{onClick:i,startIcon:t.createElement(ae.Z,null),size:"S"},g({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};q.propTypes={onClick:d().func.isRequired};var Z=e(35658),ne=e(94547),J=e(19786),le=e(82884),b=e(49372),F=e(87933),P=e(50563),$=e(72850),fe=e(68625),Me=e(4038),re=e(90869);const oe=({canDelete:i,headers:g,entriesToDelete:L,onClickDelete:k,onSelectRow:V,withMainAction:j,withBulkActions:x,rows:R})=>{const{push:h,location:{pathname:H}}=(0,A.k6)(),{formatMessage:D}=(0,E.Z)();return t.createElement(Z.p,null,R.map(c=>{const z=L.findIndex(U=>U===c.id)!==-1;return t.createElement(ne.Tr,{key:c.id,...(0,a.X7)({fn:()=>h(`${H}/${c.id}`),condition:x})},j&&t.createElement(J.Td,{...a.UW},t.createElement(le.C,{"aria-label":D({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),checked:z,onChange:()=>{V({name:c.id,value:!z})}})),g.map(({key:U,cellFormatter:Y,name:K,...N})=>t.createElement(J.Td,{key:U},typeof Y=="function"?Y(c,{key:U,name:K,formatMessage:D,...N}):t.createElement(b.Z,{textColor:"neutral800"},c[K]||"-"))),x&&t.createElement(J.Td,null,t.createElement(F.k,{justifyContent:"end"},t.createElement(P.h,{onClick:()=>h(`${H}/${c.id}`),label:D({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(fe.Z,null)}),i&&t.createElement($.x,{paddingLeft:1,...a.UW},t.createElement(P.h,{onClick:()=>k(c.id),label:D({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(Me.Z,null)})))))}))};oe.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},oe.propTypes={canDelete:d().bool,entriesToDelete:d().array,headers:d().array.isRequired,onClickDelete:d().func,onSelectRow:d().func,rows:d().array,withBulkActions:d().bool,withMainAction:d().bool};var ve=oe,ye=e(85025),he=e(55225),Pe=e(31600),de=e(15335),ie=e(5803),De=e(11406),Ce=e(26858),Ae=e(51654),Oe=e(92802),Le=e(47577),Te=e(18703),X=e(24346);const ue={firstname:"",lastname:"",email:"",roles:[]},Ie=[],Re=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0}]],Ue=X.Ry().shape({firstname:X.Z_().trim().required(a.I0.required),lastname:X.Z_(),email:X.Z_().email(a.I0.email).required(a.I0.required),roles:X.IX().min(1,a.I0.required).required(a.I0.required)}),Se={create:{buttonSubmitLabel:{id:"app.containers.Users.ModalForm.footer.button-success",defaultMessage:"Invite user"},isDisabled:!1,next:"magic-link"},"magic-link":{buttonSubmitLabel:{id:"global.finish",defaultMessage:"Finish"},isDisabled:!0,next:null}},Ee=({onSuccess:i,onToggle:g})=>{const[L,k]=(0,t.useState)("create"),[V,j]=(0,t.useState)(!1),[x,R]=(0,t.useState)(null),{formatMessage:h}=(0,E.Z)(),H=(0,a.lm)(),{lockApp:D,unlockApp:c}=(0,a.o1)(),{post:z}=(0,a.kY)(),U=(0,v.c)(Ie,async()=>(await e.e(311).then(e.bind(e,40311))).ROLE_LAYOUT,{combine(f,S){return[...f,S]},defaultValue:[]}),Y=(0,v.c)(ue,async()=>(await e.e(311).then(e.bind(e,40311))).FORM_INITIAL_VALUES,{combine(f,S){return{...f,...S}},defaultValue:ue}),K=(0,v.c)(Le.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE),N=(0,n.useMutation)(f=>z("/admin/users",f),{async onSuccess({data:f}){R(f.data.registrationToken),await i(),te(),j(!1)},onError(f){throw j(!1),H({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),f},onSettled(){c()}}),w=h({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),ee=async(f,{setErrors:S})=>{D(),j(!0);try{await N.mutateAsync(f)}catch(G){c(),G?.response?.data?.error.message==="Email already taken"&&S({email:G.response.data.error.message})}},te=()=>{p?k(p):g()},{buttonSubmitLabel:_,isDisabled:Q,next:p}=Se[L],be=L==="create"?t.createElement(O.z,{type:"submit",loading:V},h(_)):t.createElement(O.z,{type:"button",loading:V,onClick:g},h(_));return K?t.createElement(ye.P,{onClose:g,labelledBy:"title"},t.createElement(he.x,null,t.createElement(Ce.O,{label:w},t.createElement(Ae.$,{isCurrent:!0},w))),t.createElement(Oe.J9,{enableReinitialize:!0,initialValues:Y,onSubmit:ee,validationSchema:Ue,validateOnChange:!1},({errors:f,handleChange:S,values:G})=>t.createElement(a.l0,null,t.createElement(Pe.f,null,t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:6},L!=="create"&&t.createElement(K,{registrationToken:x}),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},h({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement($.x,{paddingTop:4},t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(de.r,{gap:5},Re.map(me=>me.map(T=>t.createElement(ie.P,{key:T.name,...T.size},t.createElement(a.jm,{...T,disabled:Q,error:f[T.name],onChange:S,value:G[T.name]})))))))),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},h({id:"global.roles",defaultMessage:"User's role"})),t.createElement($.x,{paddingTop:4},t.createElement(de.r,{gap:5},t.createElement(ie.P,{col:6,xs:12},t.createElement(Te.Z,{disabled:Q,error:f.roles,onChange:S,value:G.roles})),U.map(me=>me.map(T=>t.createElement(ie.P,{key:T.name,...T.size},t.createElement(a.jm,{...T,disabled:Q,onChange:S,value:G[T.name]}))))))))),t.createElement(De.m,{startActions:t.createElement(O.z,{variant:"tertiary",onClick:g,type:"button"},h({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:be})))):null};Ee.propTypes={onToggle:d().func.isRequired,onSuccess:d().func.isRequired};var Be=Ee;const ce=({pagination:i})=>t.createElement($.x,{paddingTop:4},t.createElement(F.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:i})));ce.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},ce.propTypes={pagination:d().shape({page:d().number,pageCount:d().number,pageSize:d().number,total:d().number})};var We=ce,xe=[{name:"firstname",metadatas:{label:"Firstname"},fieldSchema:{type:"string"}},{name:"lastname",metadatas:{label:"Lastname"},fieldSchema:{type:"string"}},{name:"email",metadatas:{label:"Email"},fieldSchema:{type:"email"}},{name:"username",metadatas:{label:"Username"},fieldSchema:{type:"string"}},{name:"isActive",metadatas:{label:"Active user"},fieldSchema:{type:"boolean"}}],Ke=[{name:"firstname",key:"firstname",metadatas:{label:{id:"Settings.permissions.users.firstname",defaultMessage:"Firstname"},sortable:!0}},{name:"lastname",key:"lastname",metadatas:{label:{id:"Settings.permissions.users.lastname",defaultMessage:"Lastname"},sortable:!0}},{key:"email",name:"email",metadatas:{label:{id:"Settings.permissions.users.email",defaultMessage:"Email"},sortable:!0}},{key:"roles",name:"roles",metadatas:{label:{id:"Settings.permissions.users.roles",defaultMessage:"Roles"},sortable:!1},cellFormatter({roles:i},{formatMessage:g}){return t.createElement(b.Z,{textColor:"neutral800"},i.map(L=>g({id:`Settings.permissions.users.${L.code}`,defaultMessage:L.name})).join(`,
2
+ `))}},{key:"username",name:"username",metadatas:{label:{id:"Settings.permissions.users.username",defaultMessage:"Username"},sortable:!0}},{key:"isActive",name:"isActive",metadatas:{label:{id:"Settings.permissions.users.user-status",defaultMessage:"User status"},sortable:!1},cellFormatter({isActive:i},{formatMessage:g}){return t.createElement(F.k,null,t.createElement(a.qb,{isActive:i,variant:i?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},g({id:i?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:i?"Active":"Inactive"})))}}];const ge=["ee","license-limit-info"],pe=()=>{const{post:i}=(0,a.kY)(),{formatAPIError:g}=(0,a.So)(),[L,k]=(0,t.useState)(!1),V=(0,C.v9)(y._),{allowedActions:{canCreate:j,canDelete:x,canRead:R}}=(0,a.ss)(V.settings.users),h=(0,n.useQueryClient)(),H=(0,a.lm)(),{formatMessage:D}=(0,E.Z)(),{search:c}=(0,A.TH)();(0,a.go)();const{users:z,pagination:U,isError:Y,isLoading:K,refetch:N}=(0,I.R)(M().parse(c,{ignoreQueryPrefix:!0}),{cacheTime:0,enabled:R}),w=(0,v.c)(q,async()=>(await e.e(2379).then(e.bind(e,42379))).CreateActionEE),ee=Ke.map(p=>({...p,metadatas:{...p.metadatas,label:D(p.metadatas.label)}})),te=D({id:"global.users",defaultMessage:"Users"}),_=()=>{k(p=>!p)},Q=(0,n.useMutation)(async p=>{await i("/admin/users/batch-delete",{ids:p})},{async onSuccess(){await N(),await h.refetchQueries(ge)},onError(p){H({type:"warning",message:{id:"notification.error",message:g(p),defaultMessage:"An error occured"}})}});return w?t.createElement(l.o,{"aria-busy":K},t.createElement(a.SL,{name:"Users"}),t.createElement(r.T,{primaryAction:j&&t.createElement(w,{onClick:_}),title:te,subtitle:D({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),R&&t.createElement(o.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:te})}),t.createElement(W.Z,{displayedFilters:xe}))}),t.createElement(u.D,{canRead:R},!R&&t.createElement(a.ZF,null),Y&&t.createElement("div",null,"TODO: An error occurred"),R&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:K,onConfirmDeleteAll:Q.mutateAsync,onConfirmDelete:p=>Q.mutateAsync([p]),headers:ee,rows:z,withBulkActions:!0,withMainAction:x},t.createElement(ve,{canDelete:x,headers:ee,rows:z,withBulkActions:!0,withMainAction:x})),U&&t.createElement(We,{pagination:U}))),L&&t.createElement(Be,{onSuccess:async()=>{await N(),await h.refetchQueries(ge)},onToggle:_})):null};var Ze=()=>{const i=(0,v.c)(pe,async()=>(await e.e(2801).then(e.bind(e,12801))).UserListPageEE);return i?t.createElement(i,null):null}},25691:function(B,m,e){e.r(m);var t=e(32735),l=e(45509),r=e(15062),o=e(30305),u=e(99528);const a=()=>{const s=(0,r.v9)(o._);return t.createElement(l.O4,{permissions:s.settings.users.main},t.createElement(u.Z,null))};m.default=a},84024:function(B,m,e){var t=e(32735),l=e(50563),r=e(45509),o=e(47765),u=e(60216),a=e.n(u),s=e(67879);const M=({children:E,target:n})=>{const C=(0,r.lm)(),{formatMessage:A}=(0,s.Z)(),{copy:I}=(0,r.VP)(),v=A({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),y=async()=>{await I(n)&&C({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(r.Y_,{endAction:t.createElement(l.h,{label:v,noBorder:!0,icon:t.createElement(o.Z,null),onClick:y}),title:n,titleEllipsis:!0,subtitle:E,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};M.propTypes={children:a().oneOfType([a().element,a().string]).isRequired,target:a().string.isRequired},m.Z=M},47577:function(B,m,e){e.d(m,{A:function(){return s}});var t=e(32735),l=e(60216),r=e.n(l),o=e(67879),u=e(35231),a=e(84024);const s=({registrationToken:M})=>{const{formatMessage:E}=(0,o.Z)(),n=`${window.location.origin}${u.Z}auth/register?registrationToken=${M}`;return t.createElement(a.Z,{target:n},E({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string}},18703:function(B,m,e){var t=e(32735),l=e(68465),r=e(84967),o=e(45509),u=e(27169),a=e(60216),s=e.n(a),M=e(67879),E=e(20108),n=e(8471);const C=(0,n.F4)`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,A=n.ZP.div`
10
+ animation: ${C} 2s infinite linear;
11
+ `,I=()=>t.createElement(A,null,t.createElement(u.Z,null)),v=async()=>{const{get:W}=(0,o.tg)(),{data:O}=await W("/admin/roles");return O.data},y=({disabled:W,error:O,onChange:ae,value:se})=>{const{status:d,data:q}=(0,E.useQuery)(["roles"],v,{staleTime:5e4}),{formatMessage:Z}=(0,M.Z)(),ne=O?Z({id:O,defaultMessage:O}):"",J=Z({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),le=Z({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),b=Z({id:"app.components.Select.placeholder",defaultMessage:"Select"}),F=d==="loading"?t.createElement(I,null):void 0;return t.createElement(l.P,{id:"roles",disabled:W,error:ne,hint:le,label:J,name:"roles",onChange:P=>{ae({target:{name:"roles",value:P}})},placeholder:b,multi:!0,startIcon:F,value:se.map(P=>P.toString()),withTags:!0,required:!0},(q||[]).map(P=>t.createElement(r.W,{key:P.id,value:P.id.toString()},Z({id:`global.${P.code}`,defaultMessage:P.name}))))};y.defaultProps={disabled:!1,error:void 0},y.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},m.Z=y},99223:function(B,m,e){e.d(m,{Z:function(){return r}});var t=e(74512),l=e(87933);const r=({startActions:o,endActions:u})=>!o&&!u?null:(0,t.jsxs)(l.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(l.k,{gap:2,wrap:"wrap",children:o}),(0,t.jsx)(l.k,{gap:2,shrink:0,wrap:"wrap",children:u})]})},7961:function(B,m,e){e.d(m,{Z:function(){return r}});var t=e(74512);const l=o=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...o,children:[(0,t.jsx)("path",{fill:"#32324D",d:"M0 2.8A.8.8 0 0 1 .8 2h22.4a.8.8 0 0 1 .8.8v2.71a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2.8Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M1.922 7.991C.197 6.675 0 6.252 0 5.289h23.953c.305 1.363-1.594 2.506-2.297 3.125-1.953 1.363-6.253 4.36-7.828 5.45-1.575 1.09-3.031.455-3.562 0-2.063-1.41-6.62-4.557-8.344-5.873ZM22.8 18H1.2c-.663 0-1.2.471-1.2 1.053v1.894C0 21.529.537 22 1.2 22h21.6c.663 0 1.2-.471 1.2-1.053v-1.894c0-.582-.537-1.053-1.2-1.053Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M0 9.555v10.972h24V9.554c-2.633 1.95-8.367 6.113-9.96 7.166-1.595 1.052-3.352.438-4.032 0L0 9.555Z"})]}),r=l}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{97108:function(U,f,t){t.d(f,{R:function(){return E}});var e=t(32735),n=t(45509),v=t(20108);function E(M={},D={}){const{id:c="",...T}=M,{get:C}=(0,n.kY)(),{data:p,isError:y,isLoading:P,refetch:S}=(0,v.useQuery)(["users",c,T],async()=>{const{data:{data:A}}=await C(`/admin/users/${c}`,{params:T});return A},D);return{users:e.useMemo(()=>c&&p?[p]:Array.isArray(p?.results)?p.results:[],[p,c]),pagination:e.useMemo(()=>p?.pagination??null,[p?.pagination]),isLoading:P,isError:y,refetch:S}}},59092:function(U,f,t){var e=t(32735),n=t(72850),v=t(41415),E=t(45509),M=t(5644),D=t(60216),c=t.n(D),T=t(67879);const C=({displayedFilters:p})=>{const[y,P]=(0,e.useState)(!1),{formatMessage:S}=(0,T.Z)(),R=(0,e.useRef)(),A=()=>{P(V=>!V)};return e.createElement(e.Fragment,null,e.createElement(n.x,{paddingTop:1,paddingBottom:1},e.createElement(v.z,{variant:"tertiary",ref:R,startIcon:e.createElement(M.Z,null),onClick:A,size:"S"},S({id:"app.utils.filters",defaultMessage:"Filters"})),y&&e.createElement(E.J5,{displayedFilters:p,isVisible:y,onToggle:A,source:R})),e.createElement(E.W$,{filtersSchema:p}))};C.propTypes={displayedFilters:c().arrayOf(c().shape({name:c().string.isRequired,metadatas:c().shape({label:c().string}),fieldSchema:c().shape({type:c().string})})).isRequired},f.Z=C},1487:function(U,f,t){t.r(f),t.d(f,{default:function(){return ve}});var e=t(32735),n=t(45509),v=t(15062),E=t(30305),M=t(96709),D=t(17e3),c=t(72850),T=t(27649),C=t(82055),p=t(99223),y=t(67879),P=t(59092),S=t(20108),R=t(53038),A=t(97108),X=({canReadAuditLogs:a,canReadUsers:d})=>{const{get:u}=(0,n.kY)(),{search:r}=(0,R.TH)(),m=(0,n.lm)(),[{query:l}]=(0,n.Kx)(),s={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:L=>m({type:"warning",message:L.message})},{users:i,isError:g,isLoading:h}=(0,A.R)({},{...s,enabled:d,staleTime:2*(1e3*60)}),{data:O,isLoading:B,isError:F}=(0,S.useQuery)(["auditLogs",r],async()=>{const{data:L}=await u("/admin/audit-logs",{params:l});return L},{...s,enabled:a});return{auditLogs:O,users:i,isLoading:h||B,hasError:F||g}},w=t(85025),k=t(55225),q=t(31600),_=t(26858),ee=t(51654),te=t(60216),o=t.n(te),ae=t(96315),N=()=>{const{formatDate:a}=(0,y.Z)();return u=>{const r=(0,ae.Z)(u),m=a(r,{dateStyle:"long"}),l=a(r,{timeStyle:"medium",hourCycle:"h24"});return`${m}, ${l}`}},b=t(87933),se=t(23866),I=t(49372),ne=t(15335),oe=t(9538);const H={"entry.create":"Create entry{model, select, undefined {} other { ({model})}}","entry.update":"Update entry{model, select, undefined {} other { ({model})}}","entry.delete":"Delete entry{model, select, undefined {} other { ({model})}}","entry.publish":"Publish entry{model, select, undefined {} other { ({model})}}","entry.unpublish":"Unpublish entry{model, select, undefined {} other { ({model})}}","media.create":"Create media","media.update":"Update media","media.delete":"Delete media","media-folder.create":"Create media folder","media-folder.update":"Update media folder","media-folder.delete":"Delete media folder","user.create":"Create user","user.update":"Update user","user.delete":"Delete user","admin.auth.success":"Admin login","admin.logout":"Admin logout","content-type.create":"Create content type","content-type.update":"Update content type","content-type.delete":"Delete content type","component.create":"Create component","component.update":"Update component","component.delete":"Delete component","role.create":"Create role","role.update":"Update role","role.delete":"Delete role","permission.create":"Create permission","permission.update":"Update permission","permission.delete":"Delete permission"},Z=a=>H[a]||a,Q=({actionLabel:a,actionName:d})=>e.createElement(b.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(I.Z,{textColor:"neutral600",variant:"sigma"},a),e.createElement(I.Z,{textColor:"neutral600"},d));Q.propTypes={actionLabel:o().string.isRequired,actionName:o().string.isRequired};var x=Q;const W=({status:a,data:d,formattedDate:u})=>{const{formatMessage:r}=(0,y.Z)();if(a==="loading")return e.createElement(b.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(se.a,null,"Loading content..."));const{action:m,user:l,payload:s}=d;return e.createElement(e.Fragment,null,e.createElement(c.x,{marginBottom:3},e.createElement(I.Z,{variant:"delta",id:"title"},r({id:"Settings.permissions.auditLogs.details",defaultMessage:"Log Details"}))),e.createElement(ne.r,{gap:4,gridCols:2,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:6,marginBottom:4,background:"neutral100",hasRadius:!0},e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),actionName:r({id:`Settings.permissions.auditLogs.${m}`,defaultMessage:Z(m)},{model:s?.model})}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"}),actionName:u}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),actionName:l?.displayName||"-"}),e.createElement(x,{actionLabel:r({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:l?.id.toString()||"-"})),e.createElement(oe.V,{value:JSON.stringify(s,null,2),disabled:!0,label:r({id:"Settings.permissions.auditLogs.payload",defaultMessage:"Payload"})}))};W.defaultProps={data:{}},W.propTypes={status:o().oneOf(["idle","loading","error","success"]).isRequired,data:o().shape({action:o().string,date:o().string,payload:o().object,user:o().object}),formattedDate:o().string.isRequired};var re=W;const Y=({handleClose:a,logId:d})=>{const{get:u}=(0,n.kY)(),r=(0,n.lm)(),m=async h=>{const{data:O}=await u(`/admin/audit-logs/${h}`);if(!O)throw new Error("Audit log not found");return O},{data:l,status:s}=(0,S.useQuery)(["audit-log",d],()=>m(d),{onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),a()}}),i=N(),g=l?i(l.date):"";return e.createElement(w.P,{onClose:a,labelledBy:"title"},e.createElement(k.x,null,e.createElement(_.O,{label:g,id:"title"},e.createElement(ee.$,{isCurrent:!0},g))),e.createElement(q.f,null,e.createElement(re,{status:s,data:l,formattedDate:g})))};Y.propTypes={handleClose:o().func.isRequired,logId:o().string.isRequired};var ie=Y;const $=({pagination:a})=>e.createElement(c.x,{paddingTop:4},e.createElement(b.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.v4,null),e.createElement(n.tU,{pagination:a})));$.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},$.propTypes={pagination:o().shape({page:o().number,pageCount:o().number,pageSize:o().number,total:o().number})};var le=$,de=t(35658),me=t(94547),z=t(19786),ue=t(50563),ce=t(54894);const j=({headers:a,rows:d,onOpenModal:u})=>{const{formatMessage:r}=(0,y.Z)(),m=N(),l=({type:s,value:i,model:g})=>s==="date"?m(i):s==="action"?r({id:`Settings.permissions.auditLogs.${i}`,defaultMessage:Z(i)},{model:g}):i||"-";return e.createElement(de.p,null,d.map(s=>e.createElement(me.Tr,{key:s.id,...(0,n.X7)({fn:()=>u(s.id)})},a.map(({key:i,name:g,cellFormatter:h})=>e.createElement(z.Td,{key:i},e.createElement(I.Z,{textColor:"neutral800"},l({type:i,value:h?h(s[g]):s[g],model:s.payload?.model})))),e.createElement(z.Td,{...n.UW},e.createElement(b.k,{justifyContent:"end"},e.createElement(ue.h,{onClick:()=>u(s.id),"aria-label":r({id:"app.component.table.view",defaultMessage:"{target} details"},{target:`${s.action} action`}),noBorder:!0,icon:e.createElement(ce.Z,null)}))))))};j.defaultProps={rows:[]},j.propTypes={headers:o().array.isRequired,rows:o().array,onOpenModal:o().func.isRequired};var ge=j,pe=t(21428),fe=t(90333);const K=({value:a,options:d,onChange:u})=>{const{formatMessage:r}=(0,y.Z)(),m=r({id:"Settings.permissions.auditLogs.filter.aria-label",defaultMessage:"Search and select an option to filter"});return e.createElement(pe.hQ,{"aria-label":m,value:a,onChange:u},d.map(({label:l,customValue:s})=>e.createElement(fe.O,{key:s,value:s},l)))};K.defaultProps={value:null},K.propTypes={value:o().string,options:o().arrayOf(o().shape({label:o().string.isRequired,customValue:o().string.isRequired}).isRequired).isRequired,onChange:o().func.isRequired};var J=K;const G=[{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$eq",defaultMessage:"is"},value:"$eq"},{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$ne",defaultMessage:"is not"},value:"$ne"}];var Ee=({formatMessage:a,users:d,canReadUsers:u})=>{const r=Object.keys(H).map(l=>({label:a({id:`Settings.permissions.auditLogs.${l}`,defaultMessage:Z(l)},{model:void 0}),customValue:l})),m=[{name:"action",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),options:r,customInput:J},fieldSchema:{type:"enumeration"}},{name:"date",metadatas:{label:a({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"})},fieldSchema:{type:"datetime"}}];if(u&&d){const l=i=>i.username?i.username:i.firstname&&i.lastname?a({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:i.firstname,lastname:i.lastname}):i.email,s=d.map(i=>({label:l(i),customValue:i.id.toString()}));return[...m,{name:"user",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),options:s,customInput:J},fieldSchema:{type:"relation",mainField:{name:"id"}}}]}return m},ye=[{name:"action",key:"action",metadatas:{label:{id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"},sortable:!0}},{name:"date",key:"date",metadatas:{label:{id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"},sortable:!0}},{key:"user",name:"user",metadatas:{label:{id:"Settings.permissions.auditLogs.user",defaultMessage:"User"},sortable:!1},cellFormatter:a=>a?a.displayName:""}],Le=()=>{const{formatMessage:a}=(0,y.Z)(),d=(0,v.v9)(E._),{allowedActions:{canRead:u,canReadUsers:r}}=(0,n.ss)({...d.settings.auditLogs,readUsers:d.settings.users.read}),[{query:m},l]=(0,n.Kx)(),{auditLogs:s,users:i,isLoading:g,hasError:h}=X({canReadAuditLogs:u,canReadUsers:r});(0,n.go)();const O=Ee({formatMessage:a,users:i,canReadUsers:r}),B=a({id:"global.auditLogs",defaultMessage:"Audit Logs"}),F=ye.map(L=>({...L,metadatas:{...L.metadatas,label:a(L.metadatas.label)}}));return h?e.createElement(M.A,null,e.createElement(D.D,null,e.createElement(c.x,{paddingTop:8},e.createElement(n.Hn,null)))):e.createElement(T.o,{"aria-busy":g},e.createElement(n.SL,{name:B}),e.createElement(C.T,{title:B,subtitle:a({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(p.Z,{startActions:e.createElement(P.Z,{displayedFilters:O})}),e.createElement(D.D,{canRead:u},e.createElement(n.tM,{contentType:"Audit logs",headers:F,rows:s?.results||[],withBulkActions:!0,isLoading:g},e.createElement(ge,{headers:F,rows:s?.results||[],onOpenModal:L=>l({id:L})})),e.createElement(le,{pagination:s?.pagination})),m?.id&&e.createElement(ie,{handleClose:()=>l({id:null},"remove"),logId:m.id}))},ve=()=>{const a=(0,v.v9)(E._);return e.createElement(n.O4,{permissions:a.settings.auditLogs.main},e.createElement(Le,null))}},90333:function(U,f,t){t.d(f,{O:function(){return n}});var e=t(21428);const n=e.Wx},99223:function(U,f,t){t.d(f,{Z:function(){return v}});var e=t(74512),n=t(87933);const v=({startActions:E,endActions:M})=>!E&&!M?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:E}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:M})]})}}]);