@strapi/admin 4.13.6 → 4.14.0-beta.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 (73) hide show
  1. package/admin/src/content-manager/components/Wysiwyg/EditorLayout.js +1 -1
  2. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +3 -0
  3. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +2 -1
  4. package/admin/src/hooks/useAdminRoles/index.js +17 -7
  5. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +16 -7
  6. package/admin/src/hooks/useContentTypes/useContentTypes.js +18 -7
  7. package/admin/src/index.js +1 -7
  8. package/build/1227.4f48119b.chunk.js +1 -0
  9. package/build/{3483.19381b40.chunk.js → 3483.f6b2439f.chunk.js} +1 -1
  10. package/build/4174.924ebd4c.chunk.js +1 -0
  11. package/build/6266.c652bdb1.chunk.js +146 -0
  12. package/build/7897.cf22d5fe.chunk.js +6 -0
  13. package/build/{Admin-authenticatedApp.69c7ea72.chunk.js → Admin-authenticatedApp.a687d9c6.chunk.js} +1 -1
  14. package/build/{admin-app.1fde8f7a.chunk.js → admin-app.4654dc77.chunk.js} +11 -11
  15. package/build/admin-edit-roles-page.6597d934.chunk.js +267 -0
  16. package/build/admin-edit-users.3014605e.chunk.js +10 -0
  17. package/build/admin-roles-list.ab6fcfb7.chunk.js +22 -0
  18. package/build/admin-users.81bf5f4d.chunk.js +11 -0
  19. package/build/audit-logs-settings-page.4eb6cdf8.chunk.js +1 -0
  20. package/build/{content-manager.f9abb63f.chunk.js → content-manager.9187db78.chunk.js} +37 -37
  21. package/build/index.html +1 -1
  22. package/build/{main.9ed36326.js → main.da000219.js} +17 -17
  23. package/build/review-workflows-settings-create-view.5d8806b2.chunk.js +1 -0
  24. package/build/review-workflows-settings-edit-view.634903ed.chunk.js +1 -0
  25. package/build/review-workflows-settings-list-view.d138c3b5.chunk.js +56 -0
  26. package/build/{runtime~main.562cc892.js → runtime~main.9589b498.js} +2 -2
  27. package/build/sso-settings-page.caa35f7b.chunk.js +1 -0
  28. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +65 -53
  29. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +50 -5
  30. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +257 -21
  31. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +8 -23
  32. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  33. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +17 -7
  34. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflowsStages.js +36 -0
  35. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +68 -19
  36. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +105 -35
  37. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +68 -27
  38. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/selectors.js +45 -0
  39. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/validateWorkflow.js +20 -0
  40. package/ee/server/config/admin-actions.js +6 -0
  41. package/ee/server/constants/workflows.js +13 -0
  42. package/ee/server/content-types/workflow-stage/index.js +6 -0
  43. package/ee/server/controllers/workflows/index.js +41 -16
  44. package/ee/server/controllers/workflows/stages/index.js +93 -6
  45. package/ee/server/migrations/review-workflows-stages-roles.js +68 -0
  46. package/ee/server/migrations/review-workflows-workflow-name.js +7 -0
  47. package/ee/server/register.js +2 -0
  48. package/ee/server/routes/review-workflows.js +10 -9
  49. package/ee/server/services/index.js +1 -0
  50. package/ee/server/services/review-workflows/stage-permissions.js +60 -0
  51. package/ee/server/services/review-workflows/stages.js +91 -12
  52. package/ee/server/services/review-workflows/workflows/index.js +20 -7
  53. package/ee/server/validation/review-workflows.js +11 -0
  54. package/package.json +8 -8
  55. package/server/content-types/Permission.js +6 -0
  56. package/server/domain/permission/index.js +11 -2
  57. package/server/services/role.js +12 -4
  58. package/server/validation/action-provider.js +1 -1
  59. package/server/validation/common-validators.js +92 -100
  60. package/server/validation/permission.js +0 -3
  61. package/build/1227.c72e74e9.chunk.js +0 -1
  62. package/build/2237.a7992513.chunk.js +0 -114
  63. package/build/4174.6efb0dc6.chunk.js +0 -1
  64. package/build/4724.a0ce68f3.chunk.js +0 -6
  65. package/build/admin-edit-roles-page.f76cb0aa.chunk.js +0 -267
  66. package/build/admin-edit-users.186c9d90.chunk.js +0 -10
  67. package/build/admin-roles-list.3a4edfa2.chunk.js +0 -22
  68. package/build/admin-users.e276bd9a.chunk.js +0 -11
  69. package/build/audit-logs-settings-page.0d9bc0f6.chunk.js +0 -1
  70. package/build/review-workflows-settings-create-view.b96b7be1.chunk.js +0 -1
  71. package/build/review-workflows-settings-edit-view.21a682a0.chunk.js +0 -1
  72. package/build/review-workflows-settings-list-view.14212324.chunk.js +0 -56
  73. package/build/sso-settings-page.d93bd81f.chunk.js +0 -1
@@ -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(30126),C=o(20108);const R=(E={},O={})=>{const{id:P,...A}=E,{get:y}=(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 y(`/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(30126),R=o(67879),E=o(20108);const O=(P={},A={})=>{const{id:y="",...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",y,S],async()=>{const{data:w}=await W(`/admin/roles/${y??""}`,{params:S});return w},A);return{roles:e.useMemo(()=>{let w=[];return y&&m?w=[m.data]:Array.isArray(m?.data)&&(w=m.data),[...w].sort((oe,ee)=>Z.compare(oe.name,ee.name))},[m,y,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(95162),R=o(64092),E=o(84642),O=o(91779),P=o(56932),A=o(77981),y=o(8365),S=o(10710),W=o(97037),a=o(2846),Z=o(15367),m=o(30126),M=o(70788),F=o(14723),g=o(92802),b=o(86834),G=o.n(b),w=o(67879),oe=o(15062),ee=o(53038),v=o(8471),pe=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:z})=>z.colors.primary200};
3
+ background: ${({theme:z})=>z.colors.primary100};
4
+ padding: ${({theme:z})=>`${z.spaces[2]} ${z.spaces[4]}`};
5
+ color: ${({theme:z})=>z.colors.primary600};
6
+ border-radius: ${({theme:z})=>z.borderRadius};
7
+ font-size: ${12/16}rem;
8
+ font-weight: bold;
9
+ `,Re=()=>{const z=(0,ee.$B)("/settings/roles/duplicate/:id"),Y=(0,m.lm)(),{lockApp:re,unlockApp:X}=(0,m.o1)(),{formatMessage:j}=(0,w.Z)(),[J,le]=(0,e.useState)(!1),{replace:ge}=(0,ee.k6)(),q=(0,e.useRef)(),{trackUsage:ue}=(0,m.rS)(),{post:ke,put:Be}=(0,m.kY)(),{params:ve}=z??{},{isLoading:Ze,data:Le}=(0,te.d)(ve?.id,{cacheTime:0}),{permissions:he,isLoading:Me}=(0,pe.V)({id:ve?.id},{cacheTime:0,enabled:!!ve?.id}),Fe=Pe=>{re(),le(!0),ve?.id?ue("willDuplicateRole"):ue("willCreateNewRole"),Promise.resolve(ke("/admin/roles",Pe)).then(async({data:ne})=>{const{permissionsToSend:ce}=q.current.getPermissions();return ve?.id?ue("didDuplicateRole"):ue("didCreateNewRole"),ne.data.id&&!G()(ce)&&await Be(`/admin/roles/${ne.data.id}/permissions`,{permissions:ce}),ne}).then(ne=>{le(!1),Y({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ge(`/settings/roles/${ne.data.id}`)}).catch(ne=>{console.error(ne),le(!1),Y({type:"warning",message:{id:"notification.error"}})}).finally(()=>{X()})},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:ce,handleReset:de,handleChange:me})=>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(y.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(A.x,null,e.createElement(y.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:ce.name&&j({id:ce.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:me,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:ce.description&&j({id:ce.description}),onChange:me},ne.description))))),!Ze&&!Me?e.createElement(A.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(H.Z,{isFormDisabled:!1,ref:q,permissions:he,layout:Le})):e.createElement(A.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(m.dO,null))))))))};function Se(){const z=(0,oe.v9)(Q._);return e.createElement(m.O4,{permissions:z.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(49854),R=o(89599),E=o(8623),O=o(30126),P=o(23973),A=o.n(P),y=o(86834),S=o.n(y),W=o(60216),a=o.n(W),Z=o(67879),m=o(77981),M=o(98978),F=o.n(M),g=o(8471),b=o(84642),G=o(96669),w=o(76884),oe=o(30465),ee=o(33795),v=o.n(ee),pe=o(9086),Q=o.n(pe),H=o(79652),te=o(91779),Ce=o(19594);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(21223),Se=o(98887),z=o(87674),Y=o(8365),re=o(74973),X=o(79129),j=o(2748),J=o(97889),le=o(81346),ge=o.n(le),q=o(23940),ue=o.n(q),ke=o(63057);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:ue()(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:c})=>{const{formatMessage:d}=(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(Y.Z,{variant:"sigma",textColor:"neutral600"},d({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(Y.Z,{variant:"sigma",title:s,textColor:"primary600",ellipsis:!0},d({id:`Settings.roles.form.permissions.${s.toLowerCase()}`,defaultMessage:s})),e.createElement(Y.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",d({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(m.x,{style:{maxWidth:430,width:"100%"}},e.createElement(ke.Q,{id:i,customizeContent:u=>`${u.length} currently selected`,onChange:p,value:Be(c),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 he=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,c=Me(l,n);return r[i]=c,r},{});var Pe=(t,n,r)=>t.reduce((s,i)=>{const l=v()(n,[...i.pathToConditionsObject,"conditions"],{}),c=Fe(r,l);return s[i.pathToConditionsObject.join("..")]=c,s},{});const ne=({actions:t,headerBreadCrumbs:n,isFormDisabled:r,onClosed:s,onToggle:i})=>{const{formatMessage:l}=(0,Z.Z)(),{availableConditions:c,modifiedData:d,onChangeConditions:p}=(0,H.$_)(),u=(0,e.useMemo)(()=>Object.entries(ge()(c,"category")),[c]),f=t.filter(({isDisplayed:h,hasSomeActionsSelected:k,hasAllActionsSelected:D})=>h&&(k||D)),x=(0,e.useMemo)(()=>Pe(f,d,u),[f,d,u]),[$,N]=(0,e.useState)(x),I=(h,k)=>{N((0,J.ZP)(D=>{D[h]||(D[h]={}),D[h].default||(D[h].default={}),D[h].default=k}))},T=()=>{const h=Object.entries($).reduce((k,D)=>{const[B,se]=D,U=Object.values(se).reduce((_,V)=>({..._,...V}),{});return k[B]=U,k},{});p(h),i()};return e.createElement(Re.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(Se.x,null,e.createElement(X.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map((h,k,D)=>e.createElement(j.$,{isCurrent:k===D.length-1,key:h},ue()(l({id:h,defaultMessage:h})))))),e.createElement(z.f,null,f.length===0&&e.createElement(Y.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:h,label:k,pathToConditionsObject:D},B)=>{const se=D.join("..");return e.createElement(he,{key:h,arrayOfOptionsGroupedByCategory:u,label:k,isFormDisabled:r,isGrey:B%2===0,name:se,onChange:I,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 ce=ne;const de=`${120/16}rem`,me=`${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:c,checkboxName:d,someChecked:p,value:u})=>{const{formatMessage:f}=(0,Z.Z)();return e.createElement(b.k,{alignItems:"center",paddingLeft:6,style:{width:me,flexShrink:0}},e.createElement(m.x,{paddingRight:2},e.createElement(G.C,{name:d,"aria-label":f({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:i}),disabled:s,onValueChange:x=>l({target:{name:d,value:x}}),indeterminate:p,value:u})),e.createElement(rt,{title:i,alignItems:"center",isCollapsable:n,...n&&{onClick:c,"aria-expanded":r,onKeyDown:({key:x})=>(x==="Enter"||x===" ")&&c(),tabIndex:0,role:"button"}},e.createElement(Y.Z,{fontWeight:r?"bold":"",textColor:r?"primary600":"neutral800",ellipsis:!0},ue()(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(91917),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
+ ${Y.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:c})=>{if(!i)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:i};const d=[...r.split(".."),s],p=S()(l)?[...d,"properties","enabled"]:d,u=p.join(".."),f=v()(n,[...d,"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:c,pathToConditionsObject:d}}const $=v()(n,p,null),{hasAllActionsSelected:N,hasSomeActionsSelected:I}=Oe($);return{actionId:s,checkboxName:u,hasAllActionsSelected:N,hasConditions:x,hasSomeActionsSelected:I,isDisplayed:i,isParentCheckbox:!0,label:c,pathToConditionsObject:d}});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
+ ${dt} {
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
+ `,ct=(0,g.ZP)(b.k)`
86
+ width: ${de};
87
+ position: relative;
88
+ `,dt=(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:c})=>{const[d,p]=(0,e.useState)(!1),{formatMessage:u}=(0,Z.Z)(),{modifiedData:f,onChangeParentCheckbox:x,onChangeSimpleCheckbox:$}=(0,H.$_)(),N=()=>{p(U=>!U)},I=()=>{p(!1)},T=v()(f,c.split(".."),{}),h=(0,e.useMemo)(()=>Object.keys(T).reduce((U,_)=>(U[_]=Q()(T[_],"conditions"),U),{}),[T]),{hasAllActionsSelected:k,hasSomeActionsSelected:D}=Oe(h),B=(0,e.useMemo)(()=>Ut(t,f,c),[t,f,c]),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:c,onChange:x,onClick:l,someChecked:D,value:k,isActive:n},e.createElement(dt,{paddingLeft:2},n?e.createElement(w.Z,null):e.createElement(oe.Z,null))),e.createElement(b.k,{style:{flex:1}},B.map(({actionId:U,hasConditions:_,hasAllActionsSelected:V,hasSomeActionsSelected:ye,isDisplayed:Ie,isParentCheckbox:ae,checkboxName:Ee,label:Ke})=>Ie?ae?e.createElement(ct,{key:U,justifyContent:"center",alignItems:"center"},_&&e.createElement(ut,null),e.createElement(G.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:ye,value:V})):e.createElement(ct,{key:U,justifyContent:"center",alignItems:"center"},_&&e.createElement(ut,null),e.createElement(G.C,{disabled:s,indeterminate:_,name:Ee,onValueChange:$e=>{$({target:{name:Ee,value:$e}})},value:V})):e.createElement(Ne,{key:U}))),d&&e.createElement(ce,{headerBreadCrumbs:[i,"Settings.permissions.conditions.conditions"],actions:B,isFormDisabled:s,onClosed:I,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,"*"),Xt=(t,n)=>t.map(r=>{const s=Array.isArray(r.subjects)&&r.subjects.indexOf(n)!==-1;return{...r,isDisplayed:s}});const wt=(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
+ `,Xe=t=>e.createElement(wt,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"})));Xe.defaultProps={fill:"primary200"},Xe.propTypes={fill:a().string};var Jt=(0,e.memo)(Xe);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
+ `,we=({childrenForm:t,isFormDisabled:n,recursiveLevel:r,pathToDataFromActionRow:s,propertyActions:i,parentName:l,propertyName:c})=>{const{formatMessage:d}=(0,Z.Z)(),{modifiedData:p,onChangeParentCheckbox:u,onChangeSimpleCheckbox:f}=(0,H.$_)(),[x,$]=(0,e.useState)(null),N=T=>{$(h=>h===T?null:T)},I=(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:h,required:k,children:D},B)=>{const se=B+1<t.length,U=Array.isArray(D),_=x===h;return e.createElement(en,{key:h,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(h),"aria-expanded":_,onKeyDown:({key:V})=>(V==="Enter"||V===" ")&&N(h),tabIndex:0,role:"button"},title:T},e.createElement(Y.Z,{ellipsis:!0},ue()(T)),k&&e.createElement(pt,null),e.createElement(We,{$isActive:_}))),e.createElement(b.k,{style:{flex:1}},i.map(({actionId:V,label:ye,isActionRelatedToCurrentProperty:Ie})=>{if(!Ie)return e.createElement(Ne,{key:V});const ae=[...s.split(".."),V,"properties",c,...l.split(".."),h],Ee=v()(p,ae,!1);if(!D)return e.createElement(gt,{key:ye,justifyContent:"center",alignItems:"center"},e.createElement(G.C,{disabled:n,name:ae.join(".."),"aria-label":d({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${T} ${ye}`}),onValueChange:De=>{f({target:{name:ae.join(".."),value:De}})},value:Ee}));const{hasAllActionsSelected:Ke,hasSomeActionsSelected:$e}=Oe(Ee);return e.createElement(gt,{key:ye,justifyContent:"center",alignItems:"center"},e.createElement(G.C,{key:ye,disabled:n,name:ae.join(".."),"aria-label":d({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${T} ${ye}`}),onValueChange:De=>{u({target:{name:ae.join(".."),value:De}})},value:Ke,indeterminate:$e}))})))),I&&_&&e.createElement(m.x,{paddingBottom:2},e.createElement(we,{isFormDisabled:n,parentName:`${l}..${h}`,pathToDataFromActionRow:s,propertyActions:i,propertyName:c,recursiveLevel:r+1,childrenForm:I.children})))}))};we.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)(we);const on=t=>t.reduce((r,s)=>(s.isActionRelatedToCurrentProperty&&r.push(s.actionId),r),[]);var rn=(t,n,r,s,i)=>{const c=on(t).reduce((d,p)=>{const u=[...r.split(".."),p,"properties",s,i],f=v()(n,u,!1);return d[p]=f,d},{});return Oe(c)};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:c,propertyName:d,isOdd:p})=>{const{formatMessage:u}=(0,Z.Z)(),[f,x]=(0,e.useState)(null),{modifiedData:$,onChangeCollectionTypeLeftActionRowCheckbox:N,onChangeParentCheckbox:I,onChangeSimpleCheckbox:T}=(0,H.$_)(),h=f===s,k=(0,e.useMemo)(()=>Array.isArray(t)?t:[],[t]),D=k.length>0,B=(0,e.useCallback)(()=>{D&&x(V=>V===s?null:s)},[D,s]),se=({target:{value:V}})=>{N(l,d,s,V)},{hasAllActionsSelected:U,hasSomeActionsSelected:_}=(0,e.useMemo)(()=>rn(c,$,l,d,s),[c,$,l,d,s]);return e.createElement(e.Fragment,null,e.createElement(an,{alignItems:"center",isCollapsable:D,isActive:h,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:h},i&&e.createElement(pt,null),e.createElement(We,{$isActive:h})),e.createElement(b.k,null,c.map(({label:V,isActionRelatedToCurrentProperty:ye,actionId:Ie})=>{if(!ye)return e.createElement(Ne,{key:V});const ae=[...l.split(".."),Ie,"properties",d,s];if(!D){const De=v()($,ae,!1);return e.createElement(ft,{key:Ie,justifyContent:"center",alignItems:"center"},e.createElement(G.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(G.C,{disabled:r,name:ae.join(".."),onValueChange:De=>{I({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}))})))),h&&e.createElement(sn,{childrenForm:k,isFormDisabled:r,parentName:s,pathToDataFromActionRow:l,propertyName:d,propertyActions:c,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 yt=(0,g.ZP)(b.k)`
177
+ width: ${de};
178
+ flex-shrink: 0;
179
+ `,cn=(0,g.ZP)(b.k)`
180
+ width: ${me};
181
+ height: ${Ae};
182
+ flex-shrink: 0;
183
+ `,ht=({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(cn,{alignItems:"center",paddingLeft:6},e.createElement(Y.Z,{variant:"sigma",textColor:"neutral500"},s)),t.map(i=>i.isActionRelatedToCurrentProperty?e.createElement(yt,{justifyContent:"center",key:i.label},e.createElement(Y.Z,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${i.label.toLowerCase()}`,defaultMessage:i.label}))):e.createElement(yt,{key:i.label})))};ht.propTypes={headers:a().arrayOf(a().shape({label:a().string.isRequired,isActionRelatedToCurrentProperty:a().bool.isRequired})).isRequired,label:a().string.isRequired};var dn=ht,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 c=(0,e.useMemo)(()=>un(t,l),[t,l]);return e.createElement(mn,null,e.createElement(dn,{label:s,headers:c}),e.createElement(m.x,null,n.map(({children:d,label:p,value:u,required:f},x)=>e.createElement(ln,{childrenForm:d,key:u,label:p,isFormDisabled:r,name:u,required:f,propertyActions:c,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:c,pathToData:d,properties:p})=>{const u=(0,e.useCallback)(()=>{c(n)},[n,c]),f=(0,e.useMemo)(()=>Xt(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:d}),i&&p.map(({label:x,value:$,children:N})=>e.createElement(pn,{availableActions:f,childrenForm:N,isFormDisabled:l,label:x,pathToData:d,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),c=d=>{l(i===d?null:d)};return s.map(({uid:d,label:p,properties:u},f)=>e.createElement(fn,{allActions:t,key:d,contentTypeName:d,label:p,isActive:i===d,isFormDisabled:n,index:f,onClickToggleCollapse:c,pathToData:`${r}..${d}`,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 yn=(0,e.memo)(Je),hn=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],{}),c={[i]:ze(l)};r[s]?r[s]={...r[s],...c}:r[s]=c}),r),{});var En=(t,n)=>{const r=Cn(t),s=vn(r,n);return Object.keys(s).reduce((l,c)=>(l[c]=Oe(s[c]),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.$_)(),c=(0,e.useMemo)(()=>hn(t),[t]),d=(0,e.useMemo)(()=>En(c,i[r]),[i,c,r]);return e.createElement(m.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:me}},e.createElement(b.k,{gap:0},c.map(({label:p,actionId:u})=>e.createElement(bn,{direction:"column",alignItems:"center",justifyContent:"center",key:u,gap:3},e.createElement(Y.Z,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})),e.createElement(G.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()(d,[u,"hasAllActionsSelected"],!1),indeterminate:v()(d,[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(yn,{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(9435),Sn=o(9379),Mn=o(79624),Rt=o(31014),On=o(10710),$n=o(97037),Dn=(t,n,r)=>t.map(s=>{const i=[...r,s.action,"properties","enabled"],l=v()(n,i,!1),c=v()(n,[...r,s.action,"conditions"],{}),d=je(c).some(p=>p);return{...s,isDisplayed:l,checkboxName:i.join(".."),hasSomeActionsSelected:l,value:l,hasConditions:d,label:s.displayName,actionId:s.action,pathToConditionsObject:[...r,s.action]}}),Ln=t=>{const n=Object.entries(t).reduce((s,i)=>{const[l,{conditions:c}]=i;return s[l]=c,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
+ `,In=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,c]=(0,e.useState)(!1),{modifiedData:d,onChangeParentCheckbox:p,onChangeSimpleCheckbox:u}=(0,H.$_)(),{formatMessage:f}=(0,Z.Z)(),x=v()(d,i,{}),$=(0,e.useMemo)(()=>Object.keys(x).reduce((B,se)=>(B[se]=ze(x[se]),B),{}),[x]),{hasAllActionsSelected:N,hasSomeActionsSelected:I}=Oe($),T=()=>{c(B=>!B)},h=()=>{c(!1)},k=Dn(s,d,i),D=Ln(v()(d,[...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(Y.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:I,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}},k.map(({checkboxName:B,value:se,action:U,displayName:_,hasConditions:V})=>e.createElement($n.P,{col:3,key:U},e.createElement(In,{disabled:n,hasConditions:V},e.createElement(Rt.X,{name:B,disabled:n,onValueChange:ye=>{u({target:{name:B,value:ye}})},value:se},_))))),e.createElement(ie,{hasConditions:D,onClick:T}))),l&&e.createElement(ce,{headerBreadCrumbs:[t,r],actions:k,isFormDisabled:n,onClosed:h,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 kn=Pt;const _e=({childrenForm:t,kind:n,name:r,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:c,pathToData:d})=>{const{formatMessage:p}=(0,Z.Z)(),u=()=>{c(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:ue()(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(kn,{key:$,actions:x,categoryName:f,isFormDisabled:i,subCategoryName:$,pathToData:[...d,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=c=>{i(c===s?null:c)};return e.createElement(m.x,{padding:6,background:"neutral0"},r.map(({category:c,categoryId:d,childrenForm:p},u)=>e.createElement(Bn,{key:c,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===c,isWhite:u%2===1,name:c,onOpenCategory:l,pathToData:[n,d]})))};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),fe=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:c})=>c===i);if(l){const c=v()(r,["properties",l.value],[]),d=Ot(l,c);s.properties[i]=d}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 c=l.subjects,d=Vn(t,c);if(S()(d))return i;const p=Object.keys(d).reduce((u,f)=>{const{actionId:x,applyToProperties:$}=l,T=d[f].properties.map(({value:B})=>B).every(B=>($||[]).indexOf(B)===-1),h=St(s,x,f),k=Mt(r,v()(h,"conditions",[]));if(S()($)||T)return fe()(u,[f,x],{properties:{enabled:h!==void 0},conditions:k}),u;const D=Wn($,d[f],h);return fe()(u,[f,x],{...D,conditions:k}),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 c=Un(l,n,r);return s[i]=c,s},{});const Lt=t=>t.split(" ").join("-");var jt=(t,n)=>Object.entries(ge()(t,n)).map(([r,s])=>({category:r,categoryId:Lt(r),childrenForm:Object.entries(ge()(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:c}}=t,d={collectionTypes:s,singleTypes:i,plugins:jt(l,"plugin"),settings:jt(c,"category")},p={collectionTypes:$t(s,s.actions||[],r,n),singleTypes:$t(i,i.actions||[],r,n),plugins:Dt(d.plugins,r,n),settings:Dt(d.settings,r,n)};return{initialData:p,modifiedData:p,layouts:d}},Gn=o(99381),et=o.n(Gn);const It=t=>Object.keys(t).reduce((n,r)=>{const s=t[r];if(Te()(s)&&!A()(s,"conditions"))return{...n,[r]:It(s)};if(Te()(s)&&A()(s,"conditions")&&!je(Q()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((c,d)=>(c[d]=!1,c),{});return{...n,[r]:{...s,conditions:l}}}return n[r]=s,n},{});var tt=It;const kt=(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]:kt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=kt;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,c=["modifiedData",s];Object.keys(v()(t,c)).forEach(d=>{const p=v()(t,[...c,d,i],void 0);if(p){let u=He(p,l);if(!l&&u.conditions){const f=He(u.conditions,!1);u={...u,conditions:f}}fe()(r,[...c,d,i],u)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:c}=n;let d=et()(t.modifiedData);const p=s.split(".."),u=v()(d,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))fe()(d,$,c);else{const N=He(x,c);fe()(d,$,N)}}}),c||(d=tt(d)),fe()(r,"modifiedData",d);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;fe()(r,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=et()(t.modifiedData);fe()(s,[...n.keys.split("..")],n.value),n.value||(s=tt(s)),fe()(r,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let c=et()(t.modifiedData);const d=v()(c,l,{}),p=He(d,i);fe()(c,l,p),i||(c=tt(c)),fe()(r,["modifiedData"],c);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),Xn=t=>{const[n,{conditions:r}]=t;return{action:n,subject:null,conditions:nt(r),properties:{}}},wn=t=>Object.values(t).reduce((n,r)=>{const s=Object.entries(r).reduce((i,l)=>{const[,{properties:{enabled:c}}]=l;if(!c)return i;const d=Xn(l);return i.push(d),i},[]);return[...n,...s]},[]);var Bt=t=>Object.values(t).reduce((n,r)=>{const s=wn(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[c,d]=l;return i.properties[c]=Zt(d),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,c]=i;if(!je(c).some(u=>u))return s;if(!c?.properties?.enabled){const u=Qn(l,t,c);return[...s,u]}if(!c.properties.enabled)return s;const p=Jn(l,t,c);return s.push(p),s},[]);var Ft=t=>Object.entries(t).reduce((r,s)=>{const[i,l]=s,c=qn(i,l);return[...r,...c]},[]),_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:c},d]=(0,e.useReducer)(Yn,zn,()=>Hn(t,r)),{formatMessage:p}=(0,Z.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const I=(0,O.e5)(i.collectionTypes,c.collectionTypes),T=(0,O.e5)(i.singleTypes,c.singleTypes),h={...I,...T};let k;return S()(h)?k=!1:k=Object.values(h).some(D=>Object.values(D).some(B=>A()(B,"conditions"))),{permissionsToSend:_n(c),didUpdateConditions:k}},resetForm(){d({type:"RESET_FORM"})},setFormAfterSubmit(){d({type:"SET_FORM_AFTER_SUBMIT"})}}));const u=(I,T,h,k)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:I,propertyName:T,rowName:h,value:k})},f=(I,T,h)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:I,actionId:T,value:h})},x=I=>{d({type:"ON_CHANGE_CONDITIONS",conditions:I})},$=(0,e.useCallback)(({target:{name:I,value:T}})=>{d({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:I,value:T})},[]),N=(0,e.useCallback)(({target:{name:I,value:T}})=>{d({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:I,value:T})},[]);return e.createElement(An,{value:{availableConditions:t.conditions,modifiedData:c,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(I=>e.createElement(R.O,{key:I.id},p({id:I.labelId,defaultMessage:I.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 Y}});var e=o(32735),C=o(30126),R=o(15062),E=o(53038),O=o(30305),P=o(95162),A=o(64092),y=o(84642),S=o(91779),W=o(56932),a=o(77981),Z=o(70788),m=o(92802),M=o(67879),F=o(64499),g=o(86409),b=o(91720),G=o(1283),w=o(8365),oe=o(10710),ee=o(97037),v=o(2846),pe=o(15367),Q=o(60216),H=o.n(Q);const te=({disabled:re,role:X,values:j,errors:J,onChange:le,onBlur:ge})=>{const{formatMessage:q}=(0,M.Z)();return e.createElement(a.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(y.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(y.k,{justifyContent:"space-between"},e.createElement(a.x,null,e.createElement(a.x,null,e.createElement(w.Z,{fontWeight:"bold"},X?X.name:q({id:"global.details",defaultMessage:"Details"}))),e.createElement(a.x,null,e.createElement(w.Z,{textColor:"neutral500",variant:"pi"},X?X.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:X.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:le,onBlur:ge,required:!0,value:j.name||""})),e.createElement(ee.P,{col:6},e.createElement(pe.g,{disabled:re,label:q({id:"global.description",defaultMessage:"Description"}),id:"description",error:J.name&&q({id:J.name}),onChange:le,onBlur:ge},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:X}=(0,M.Z)(),{params:{id:j}}=(0,E.$B)("/settings/roles/:id"),{put:J}=(0,C.kY)(),[le,ge]=(0,e.useState)(!1),q=(0,e.useRef)(),{lockApp:ue,unlockApp:ke}=(0,C.o1)(),{trackUsage:Be}=(0,C.rS)(),{formatAPIError:ve}=(0,C.So)(),{isLoading:Ze,data:Le}=(0,b.d)(j,{cacheTime:0}),{roles:[he={}],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{ue(),ge(!0);const{permissionsToSend:me,didUpdateConditions:Ae}=q.current.getPermissions();await J(`/admin/roles/${j}`,de),he.code!=="strapi-super-admin"&&(await J(`/admin/roles/${j}/permissions`,{permissions:me}),Ae&&Be("didUpdateConditions")),q.current.setFormAfterSubmit(),await Fe(),re({type:"success",message:{id:"notification.success.saved"}})}catch(me){re({type:"warning",message:ve(me)})}finally{ge(!1),ke()}},ce=!Me&&he.code==="strapi-super-admin";return e.createElement(P.o,null,e.createElement(C.SL,{name:"Roles"}),e.createElement(m.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:ne,validationSchema:ie,validateOnChange:!1},({handleSubmit:de,values:me,errors:Ae,handleChange:ot,handleBlur:Ne})=>e.createElement("form",{onSubmit:de},e.createElement(A.T,{primaryAction:e.createElement(y.k,{gap:2},e.createElement(S.z,{disabled:he.code==="strapi-super-admin",onClick:de,loading:le,size:"L"},X({id:"global.save",defaultMessage:"Save"}))),title:X({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:X({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"},X({id:"global.back",defaultMessage:"Back"}))}),e.createElement(W.D,null,e.createElement(y.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Ce,{isLoading:Me||Pe,disabled:ce,errors:Ae,values:me,onChange:ot,onBlur:Ne,role:he}),!Ze&&!Me&&!Pe?e.createElement(a.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(G.Z,{isFormDisabled:ce,permissions:Ue,ref:q,layout:Le})):e.createElement(a.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(C.dO,null)))))))},Y=()=>{const re=(0,R.v9)(O._),{isLoading:X,allowedActions:{canRead:j,canUpdate:J}}=(0,C.ss)({read:re.settings.roles.read,update:re.settings.roles.update});return X?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(30126),C=o(20108);const R=(E,O={})=>{const{get:P}=(0,e.kY)(),{data:A,error:y,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:y,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,y,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(y,S){var W=E(y)?e:C,a=A?A():{};return W(y,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,y){E.call(P,y)?P[y].push(A):e(P,y,[A])});K.exports=O},9435: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(85612),O=o(37808),P=o(8365),A=o(84642),y=o(77981);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)(y.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:G,onToggle:w,toggle:oe,size:ee="M",variant:v="primary",shadow:pe})=>{const Q=(0,O.M)(G),H=C.useMemo(()=>({expanded:g,onToggle:w,toggle:oe,id:Q,size:ee,variant:v,disabled:M}),[M,g,Q,w,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:pe,children:m}),F&&b&&(0,e.jsx)(y.x,{paddingTop:1,children:(0,e.jsx)(P.Z,{variant:"pi",textColor:"danger600",children:F})})]})}},79624:function(K,L,o){"use strict";o.d(L,{v:function(){return E}});var e=o(74512),C=o(85612),R=o(77981);const E=({children:O,...P})=>{const{expanded:A,id:y}=(0,C.A)();if(!A)return null;const S=`accordion-content-${y}`,W=`accordion-label-${y}`,a=`accordion-desc-${y}`;return(0,e.jsx)(R.x,{role:"region",id:S,"aria-labelledby":W,"aria-describedby":a,...P,children:O})}},85612: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)},9379:function(K,L,o){"use strict";o.d(L,{B:function(){return m}});var e=o(74512),C=o(91917),R=o(8471),E=o(9435),O=o(85612);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(43743),y=o(18129),S=o(84642),W=o(8365);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:G,...w})=>{const{onToggle:oe,toggle:ee,expanded:v,id:pe,size:Q,variant:H,disabled:te}=(0,O.A)(),Ce=`accordion-content-${pe}`,be=`accordion-label-${pe}`,xe=`accordion-desc-${pe}`,ie=Q==="M"?6:4,Re=Q==="M"?ie:ie-2,Se=P({expanded:v,disabled:te,variant:H}),Y={as:g,fontWeight:Q==="S"?"bold":void 0,id:be,textColor:v?"primary600":"neutral700",ellipsis:!0,variant:Q==="M"?"delta":void 0},re=v?"primary600":"neutral600",X=v?"primary200":"neutral200",j=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())},le=(0,e.jsx)(S.k,{justifyContent:"center",borderRadius:"50%",height:j,width:j,transform:v?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:X,cursor:te?"not-allowed":"pointer",onClick:J,shrink:0,children:(0,e.jsx)(y.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"&&le,(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,...w,children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(E.y,{...Y,children:M}),F&&(0,e.jsx)(W.Z,{as:"p",id:xe,textColor:re,children:F})]})}),b==="right"&&(0,e.jsxs)(S.k,{gap:3,children:[le,G]}),b==="left"&&G]})})}},63057:function(K,L,o){"use strict";o.d(L,{Q:function(){return E}});var e=o(74512),C=o(8471),R=o(74323);const E=({options:P,...A})=>(0,e.jsx)(R.NU,{...A,children:P.map(y=>"children"in y?(0,e.jsx)(R.Ab,{label:y.label,values:y.children.map(S=>S.value.toString()),children:y.children.map(S=>(0,e.jsx)(O,{value:S.value,children:S.label},S.value))},y.label):(0,e.jsx)(R.ML,{value:y.value,children:y.label},y.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(30126),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(30126),o=e(15062),r=e(53038),E=e(30305),d=e(95162),n=e(64092),u=e(91779),g=e(56932),s=e(77981),c=e(84642),f=e(8365),y=e(10710),D=e(97037),M=e(40501),O=e(70788),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(14763),o=e(30126),r=e(94958),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(16773),o=e(40260),r=e(30126),E=e(75760),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(30126);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})},70788: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(30126),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:T,isLoading:Q,refetch:V}=(0,c.useQuery)(["roles",v,y],async()=>{const{data:R}=await o(`/admin/roles/${v??""}`,{params:y});return R},j);return{roles:e.useMemo(()=>{let R=[];return v&&D?R=[D.data]:Array.isArray(D?.data)&&(R=D.data),[...R].sort((H,b)=>L.compare(H.name,b.name))},[D,v,L]),error:d,isError:T,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(30126),i=t(15062),c=t(30305),u=t(95162),I=t(64092),j=t(91779),v=t(95181),y=t(56932),o=t(23699),Z=t(22116),L=t(41013),D=t(45037),d=t(27947),T=t(8365),Q=t(99320),V=t(1690),J=t(94958),R=t(63318),H=t(94997),b=t(82064),k=t(67879),q=t(53038),_=t(86409),ee=()=>"todo empty role",te=t(84642),ne=t(77981),le=t(14763),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(T.Z,{ellipsis:!0,textColor:"neutral800"},m)),e.createElement(d.Td,{maxWidth:(0,n.Q1)(250)},e.createElement(T.Z,{ellipsis:!0,textColor:"neutral800"},s)),e.createElement(d.Td,null,e.createElement(T.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"),F=(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]),S=(0,e.useCallback)((l,C)=>{l.preventDefault(),l.stopPropagation(),C.usersCount?E({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):F(C.id)},[E,F]),w=(0,e.useCallback)((l,C)=>{l.preventDefault(),l.stopPropagation(),K(C.id)},[K]),me=(0,e.useCallback)(l=>[...a?[{onClick:C=>w(C,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(R.Z,null)}]:[],...m?[{onClick:C=>S(C,l),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(H.Z,null)}]:[]],[r,S,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,F=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:F,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(T.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(d.Th,null,e.createElement(T.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.description",defaultMessage:"Description"}))),e.createElement(d.Th,null,e.createElement(T.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,S)=>e.createElement(se,{key:f.id,id:f.id,name:f.name,description:f.description,usersCount:f.usersCount,icons:X(f),rowIndex:S+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))}},95181:function(N,p,t){t.d(p,{Z:function(){return i}});var e=t(74512),n=t(84642);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})]})},22116:function(N,p,t){t.d(p,{c:function(){return y}});var e=t(74512),n=t(8471),i=t(77981),c=t(2775),u=t(84642),I=t(8365);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(30126),r=e(20108);function o(u={},a={}){const{id:s="",...M}=u,{get:E}=(0,l.kY)(),{data:n,isError:C,isLoading:O,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:O,isError:C,refetch:I}}},59092:function(B,m,e){var t=e(32735),l=e(77981),r=e(91779),o=e(30126),u=e(68527),a=e(60216),s=e.n(a),M=e(67879);const E=({displayedFilters:n})=>{const[C,O]=(0,t.useState)(!1),{formatMessage:I}=(0,M.Z)(),v=(0,t.useRef)(),y=()=>{O(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(95162),r=e(64092),o=e(95181),u=e(56932),a=e(30126),s=e(33348),M=e.n(s),E=e(67879),n=e(20108),C=e(15062),O=e(53038),I=e(97108),v=e(9592),y=e(30305),W=e(59092),A=e(91779),ae=e(50720),se=e(60216),d=e.n(se);const q=({onClick:i})=>{const{formatMessage:g}=(0,E.Z)();return t.createElement(A.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(1690),ne=e(45037),J=e(27947),le=e(96669),b=e(8365),F=e(84642),P=e(14763),$=e(77981),fe=e(63318),Me=e(94997),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,O.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(21223),he=e(98887),Pe=e(87674),de=e(10710),ie=e(97037),De=e(74973),Ce=e(79129),Oe=e(2748),Ae=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(A.z,{type:"submit",loading:V},h(_)):t.createElement(A.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(Oe.$,{isCurrent:!0},w))),t.createElement(Ae.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(A.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,O.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(30126),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(14763),r=e(30126),o=e(94958),u=e(60216),a=e.n(u),s=e(67879);const M=({children:E,target:n})=>{const C=(0,r.lm)(),{formatMessage:O}=(0,s.Z)(),{copy:I}=(0,r.VP)(),v=O({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(16773),r=e(40260),o=e(30126),u=e(75760),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
+ `,O=n.ZP.div`
10
+ animation: ${C} 2s infinite linear;
11
+ `,I=()=>t.createElement(O,null,t.createElement(u.Z,null)),v=async()=>{const{get:W}=(0,o.tg)(),{data:A}=await W("/admin/roles");return A.data},y=({disabled:W,error:A,onChange:ae,value:se})=>{const{status:d,data:q}=(0,E.useQuery)(["roles"],v,{staleTime:5e4}),{formatMessage:Z}=(0,M.Z)(),ne=A?Z({id:A,defaultMessage:A}):"",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},95181:function(B,m,e){e.d(m,{Z:function(){return r}});var t=e(74512),l=e(84642);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})]})},50720: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(b,f,t){t.d(f,{R:function(){return E}});var e=t(32735),n=t(30126),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:O}}=await C(`/admin/users/${c}`,{params:T});return O},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(b,f,t){var e=t(32735),n=t(77981),v=t(91779),E=t(30126),M=t(68527),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)(),O=()=>{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:O,size:"S"},S({id:"app.utils.filters",defaultMessage:"Filters"})),y&&e.createElement(E.J5,{displayedFilters:p,isVisible:y,onToggle:O,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(b,f,t){t.r(f),t.d(f,{default:function(){return ve}});var e=t(32735),n=t(30126),v=t(15062),E=t(30305),M=t(99226),D=t(56932),c=t(77981),T=t(95162),C=t(64092),p=t(95181),y=t(67879),P=t(59092),S=t(20108),R=t(53038),O=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,O.R)({},{...s,enabled:d,staleTime:2*(1e3*60)}),{data:A,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:A,users:i,isLoading:h||B,hasError:F||g}},w=t(21223),k=t(98887),q=t(87674),_=t(79129),ee=t(2748),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}`}},U=t(84642),se=t(35547),I=t(8365),ne=t(10710),oe=t(90163);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(U.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(U.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:A}=await u(`/admin/audit-logs/${h}`);if(!A)throw new Error("Audit log not found");return A},{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(U.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(1690),me=t(45037),z=t(27947),ue=t(14763),ce=t(10364);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(U.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(70843),fe=t(8241);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 A=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:A})}),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))}},8241:function(b,f,t){t.d(f,{O:function(){return n}});var e=t(70843);const n=e.Wx},95181:function(b,f,t){t.d(f,{Z:function(){return v}});var e=t(74512),n=t(84642);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})]})}}]);