@strapi/admin 4.10.6 → 4.11.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/DynamicTable/BulkActionsBar/index.js +307 -0
  2. package/admin/src/content-manager/components/DynamicTable/index.js +20 -4
  3. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +3 -2
  4. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -1
  5. package/admin/src/content-manager/pages/ListView/index.js +118 -2
  6. package/admin/src/content-manager/utils/index.js +2 -0
  7. package/admin/src/content-manager/{components/EditViewDataManagerProvider/utils → utils}/schema.js +1 -1
  8. package/admin/src/hooks/index.js +1 -1
  9. package/admin/src/hooks/useAdminUsers/__mocks__/index.js +5 -0
  10. package/admin/src/hooks/useAdminUsers/index.js +1 -0
  11. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +38 -0
  12. package/admin/src/hooks/useContentTypes/__mocks__/index.js +6 -0
  13. package/admin/src/hooks/useContentTypes/index.js +1 -0
  14. package/admin/src/hooks/useContentTypes/useContentTypes.js +47 -0
  15. package/admin/src/injectionZones.js +6 -1
  16. package/admin/src/pages/HomePage/index.js +3 -2
  17. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +12 -8
  18. package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +28 -26
  19. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +36 -26
  20. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -8
  21. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +6 -7
  22. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +54 -63
  23. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +11 -9
  24. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +2 -2
  25. package/admin/src/translations/en.json +5 -1
  26. package/build/3562.e0b1a0b3.chunk.js +50 -0
  27. package/build/5563.79950369.chunk.js +79 -0
  28. package/build/6970.7ea35fbd.chunk.js +1 -0
  29. package/build/7259.5cc67413.chunk.js +1 -0
  30. package/build/{Admin-authenticatedApp.0318dfb3.chunk.js → Admin-authenticatedApp.65172a0c.chunk.js} +2 -2
  31. package/build/{Admin_homePage.e15dcf28.chunk.js → Admin_homePage.107a9fe0.chunk.js} +9 -9
  32. package/build/{Admin_marketplace.f446ba2b.chunk.js → Admin_marketplace.717bd7ca.chunk.js} +11 -11
  33. package/build/{Admin_profilePage.1687246a.chunk.js → Admin_profilePage.a8fa3a56.chunk.js} +1 -1
  34. package/build/{Admin_settingsPage.f8c46a9a.chunk.js → Admin_settingsPage.bd715ed3.chunk.js} +2 -2
  35. package/build/admin-app.9c79b484.chunk.js +63 -0
  36. package/build/{admin-edit-roles-page.02c3b136.chunk.js → admin-edit-roles-page.0d12b741.chunk.js} +3 -3
  37. package/build/admin-edit-users.f9ce7844.chunk.js +10 -0
  38. package/build/{admin-roles-list.a323aa9f.chunk.js → admin-roles-list.e8bf9685.chunk.js} +1 -1
  39. package/build/admin-users.751b28b2.chunk.js +34 -0
  40. package/build/audit-logs-settings-page.3c6cea81.chunk.js +129 -0
  41. package/build/content-manager.bf060d8e.chunk.js +1123 -0
  42. package/build/{en-json.d965e364.chunk.js → en-json.19e9ff9b.chunk.js} +1 -1
  43. package/build/i18n-translation-en-json.1ec7becf.chunk.js +1 -0
  44. package/build/index.html +1 -1
  45. package/build/main.576a9d22.js +2630 -0
  46. package/build/review-workflows-settings.4b39b837.chunk.js +61 -0
  47. package/build/{runtime~main.0201a49b.js → runtime~main.96d92f16.js} +2 -2
  48. package/build/{sso-settings-page.c9d7c8df.chunk.js → sso-settings-page.265e3d72.chunk.js} +1 -1
  49. package/build/{webhook-edit-page.cb2cf1a5.chunk.js → webhook-edit-page.ddd5963d.chunk.js} +13 -13
  50. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +1 -2
  51. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +36 -28
  52. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +1 -1
  53. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +3 -3
  54. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +32 -21
  55. package/ee/server/services/audit-logs.js +5 -1
  56. package/package.json +10 -11
  57. package/webpack.alias.js +0 -1
  58. package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +0 -73
  59. package/admin/src/hooks/useModels/index.js +0 -58
  60. package/admin/src/hooks/useModels/reducer.js +0 -45
  61. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +0 -20
  62. package/build/5563.2c8334ef.chunk.js +0 -79
  63. package/build/6858.85d76858.chunk.js +0 -50
  64. package/build/6970.36d3ffff.chunk.js +0 -1
  65. package/build/7259.116a9960.chunk.js +0 -1
  66. package/build/admin-app.6d48536c.chunk.js +0 -63
  67. package/build/admin-edit-users.49363035.chunk.js +0 -10
  68. package/build/admin-users.69f4900a.chunk.js +0 -34
  69. package/build/audit-logs-settings-page.482909d7.chunk.js +0 -129
  70. package/build/content-manager.cd71cb6e.chunk.js +0 -1123
  71. package/build/i18n-translation-en-json.60af6722.chunk.js +0 -1
  72. package/build/main.adab8b96.js +0 -2630
  73. package/build/review-workflows-settings.26409ce4.chunk.js +0 -61
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{92034:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{CreatePage:function(){return Ce},default:function(){return Me}});var e=r(32735),v=r(14723),o=r(24989),T=r(27649),I=r(82055),b=r(87933),P=r(41415),R=r(17e3),x=r(72850),B=r(49372),j=r(15335),F=r(5803),y=r(10369),u=r(33475),N=r(29439),Q=r(92802),z=r(33795),fe=r.n(z),A=r(86834),X=r.n(A),me=r(67879),f=r(53038),q=r(8471),w=r(7247),ee=r(67927),ie=r(83983),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(o.I0.required),description:le.Z_().required(o.I0.required)});const de=q.ZP.div`
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{92034:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{CreatePage:function(){return Ce},default:function(){return Me}});var e=r(32735),v=r(14723),o=r(24989),T=r(27649),I=r(82055),b=r(87933),P=r(41415),R=r(17e3),x=r(72850),B=r(49372),j=r(15335),F=r(5803),y=r(10369),u=r(33475),N=r(29439),Q=r(92802),z=r(33795),fe=r.n(z),A=r(86834),X=r.n(A),me=r(67879),f=r(53038),q=r(8471),w=r(7247),ee=r(32308),ie=r(83983),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(o.I0.required),description:le.Z_().required(o.I0.required)});const de=q.ZP.div`
2
2
  border: 1px solid ${({theme:U})=>U.colors.primary200};
3
3
  background: ${({theme:U})=>U.colors.primary100};
4
4
  padding: ${({theme:U})=>`${U.spaces[2]} ${U.spaces[4]}`};
@@ -6,7 +6,7 @@
6
6
  border-radius: ${({theme:U})=>U.borderRadius};
7
7
  font-size: ${12/16}rem;
8
8
  font-weight: bold;
9
- `,Ce=()=>{const U=(0,o.lm)(),{lockApp:re,unlockApp:O}=(0,o.o1)(),{formatMessage:$}=(0,me.Z)(),[_,se]=(0,e.useState)(!1),{replace:ce}=(0,f.k6)(),te=(0,e.useRef)(),{trackUsage:ue}=(0,o.rS)(),Ie=(0,f.$B)("/settings/roles/duplicate/:id"),Re=fe()(Ie,"params.id",null),{isLoading:Ze,data:he}=(0,ee.U_)(),{permissions:Oe,isLoading:$e}=(0,ee.Dq)(Re),{post:Be,put:De}=(0,o.kY)(),Ve=ae=>{re(),se(!0),ue(Re?"willDuplicateRole":"willCreateNewRole"),Promise.resolve(Be("/admin/roles",ae)).then(async({data:V})=>{const{permissionsToSend:K}=te.current.getPermissions();return ue(Re?"didDuplicateRole":"didCreateNewRole"),V.data.id&&!X()(K)&&await De(`/admin/roles/${V.data.id}/permissions`,{permissions:K}),V}).then(V=>{se(!1),U({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ce(`/settings/roles/${V.data.id}`)}).catch(V=>{console.error(V),se(!1),U({type:"warning",message:{id:"notification.error"}})}).finally(()=>{O()})},je=`${$({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,v.Z)(new Date,"PPP")}`;return e.createElement(T.o,null,e.createElement(o.SL,{name:"Roles"}),e.createElement(Q.J9,{initialValues:{name:"",description:je},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleReset:ve,handleChange:Ee})=>e.createElement(o.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(I.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(P.z,{variant:"secondary",onClick:()=>{ve(),te.current.resetForm()},size:"L"},$({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(P.z,{onClick:ae,loading:_,size:"L"},$({id:"global.save",defaultMessage:"Save"}))),title:$({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:$({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(o.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/roles"},$({id:"global.back",defaultMessage:"Back"}))}),e.createElement(R.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(B.Z,{fontWeight:"bold"},$({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(B.Z,{variant:"pi",textColor:"neutral600"},$({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(de,null,$({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(j.r,{gap:4},e.createElement(F.P,{col:6},e.createElement(y.o,{name:"name",error:K.name&&$({id:K.name}),label:$({id:"global.name",defaultMessage:"Name"}),onChange:Ee,value:V.name})),e.createElement(F.P,{col:6},e.createElement(u.g,{label:$({id:"global.description",defaultMessage:"Description"}),id:"description",error:K.description&&$({id:K.description}),onChange:Ee},V.description))))),!Ze&&!$e?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(w.Z,{isFormDisabled:!1,ref:te,permissions:Oe,layout:he})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(o.dO,null))))))))};function Me(){return e.createElement(o.O4,{permissions:ie.Z.settings.roles.create},e.createElement(Ce,null))}},7247:function(Y,Z,r){"use strict";r.d(Z,{Z:function(){return _n}});var e=r(32735),v=r(60216),o=r.n(v),T=r(24989),I=r(91215),b=r(90980),P=r(3653),R=r(23973),x=r.n(R),B=r(86834),j=r.n(B),F=r(67879),y=r(72850),u=r(8471),N=r(98978),Q=r.n(N),z=r(15974),fe=r(96441),A=r(87933),X=r(82884),me=r(33795),f=r.n(me),q=r(9086),w=r.n(q),ee=r(67927),ie=r(45112),le=r(41415);const Se=u.ZP.div`
9
+ `,Ce=()=>{const U=(0,o.lm)(),{lockApp:re,unlockApp:O}=(0,o.o1)(),{formatMessage:$}=(0,me.Z)(),[_,se]=(0,e.useState)(!1),{replace:ce}=(0,f.k6)(),te=(0,e.useRef)(),{trackUsage:ue}=(0,o.rS)(),Ie=(0,f.$B)("/settings/roles/duplicate/:id"),Re=fe()(Ie,"params.id",null),{isLoading:Ze,data:he}=(0,ee.U_)(),{permissions:Oe,isLoading:$e}=(0,ee.Dq)(Re),{post:Be,put:De}=(0,o.kY)(),Ve=ae=>{re(),se(!0),ue(Re?"willDuplicateRole":"willCreateNewRole"),Promise.resolve(Be("/admin/roles",ae)).then(async({data:V})=>{const{permissionsToSend:K}=te.current.getPermissions();return ue(Re?"didDuplicateRole":"didCreateNewRole"),V.data.id&&!X()(K)&&await De(`/admin/roles/${V.data.id}/permissions`,{permissions:K}),V}).then(V=>{se(!1),U({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ce(`/settings/roles/${V.data.id}`)}).catch(V=>{console.error(V),se(!1),U({type:"warning",message:{id:"notification.error"}})}).finally(()=>{O()})},je=`${$({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,v.Z)(new Date,"PPP")}`;return e.createElement(T.o,null,e.createElement(o.SL,{name:"Roles"}),e.createElement(Q.J9,{initialValues:{name:"",description:je},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleReset:ve,handleChange:Ee})=>e.createElement(o.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(I.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(P.z,{variant:"secondary",onClick:()=>{ve(),te.current.resetForm()},size:"L"},$({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(P.z,{onClick:ae,loading:_,size:"L"},$({id:"global.save",defaultMessage:"Save"}))),title:$({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:$({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(o.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/roles"},$({id:"global.back",defaultMessage:"Back"}))}),e.createElement(R.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(B.Z,{fontWeight:"bold"},$({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(B.Z,{variant:"pi",textColor:"neutral600"},$({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(de,null,$({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(j.r,{gap:4},e.createElement(F.P,{col:6},e.createElement(y.o,{name:"name",error:K.name&&$({id:K.name}),label:$({id:"global.name",defaultMessage:"Name"}),onChange:Ee,value:V.name})),e.createElement(F.P,{col:6},e.createElement(u.g,{label:$({id:"global.description",defaultMessage:"Description"}),id:"description",error:K.description&&$({id:K.description}),onChange:Ee},V.description))))),!Ze&&!$e?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(w.Z,{isFormDisabled:!1,ref:te,permissions:Oe,layout:he})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(o.dO,null))))))))};function Me(){return e.createElement(o.O4,{permissions:ie.Z.settings.roles.create},e.createElement(Ce,null))}},7247:function(Y,Z,r){"use strict";r.d(Z,{Z:function(){return _n}});var e=r(32735),v=r(60216),o=r.n(v),T=r(24989),I=r(91215),b=r(90980),P=r(3653),R=r(23973),x=r.n(R),B=r(86834),j=r.n(B),F=r(67879),y=r(72850),u=r(8471),N=r(98978),Q=r.n(N),z=r(15974),fe=r(96441),A=r(87933),X=r(82884),me=r(33795),f=r.n(me),q=r(9086),w=r.n(q),ee=r(32308),ie=r(45112),le=r(41415);const Se=u.ZP.div`
10
10
  position: relative;
11
11
 
12
12
  ${({hasConditions:t,disabled:n,theme:a})=>t&&`
@@ -213,7 +213,7 @@
213
213
  background: ${n?a.colors.neutral100:a.colors.primary600};
214
214
  }
215
215
  `}
216
- `,xt=({categoryName:t,isFormDisabled:n,subCategoryName:a,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:m}=(0,ee.$_)(),{formatMessage:g}=(0,F.Z)(),C=f()(c,i,{}),S=(0,e.useMemo)(()=>Object.keys(C).reduce((k,ne)=>(k[ne]=Ge(C[ne]),k),{}),[C]),{hasAllActionsSelected:W,hasSomeActionsSelected:M}=Pe(S),E=()=>{d(k=>!k)},h=()=>{d(!1)},L=On(s,c,i),D=$n(f()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(y.x,null,e.createElement(A.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(y.x,{paddingRight:4},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},a)),e.createElement(Dn,null),e.createElement(y.x,{paddingLeft:4},e.createElement(bt.X,{name:i.join(".."),disabled:n,onValueChange:k=>{p({target:{name:i.join(".."),value:k}})},indeterminate:M,value:W},g({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(A.k,{paddingTop:6,paddingBottom:6},e.createElement(Sn.r,{gap:2,style:{flex:1}},L.map(({checkboxName:k,value:ne,action:G,displayName:J,hasConditions:H})=>e.createElement(Mn.P,{col:3,key:G},e.createElement(jn,{disabled:n,hasConditions:H},e.createElement(bt.X,{name:k,disabled:n,onValueChange:ge=>{m({target:{name:k,value:ge}})},value:ne},J))))),e.createElement(de,{hasConditions:D,onClick:E}))),l&&e.createElement(V,{headerBreadCrumbs:[t,a],actions:L,isFormDisabled:n,onClosed:h,onToggle:E}))};xt.propTypes={actions:o().array.isRequired,categoryName:o().string.isRequired,isFormDisabled:o().bool.isRequired,subCategoryName:o().string.isRequired,pathToData:o().array.isRequired};var Ln=xt;const qe=({childrenForm:t,kind:n,name:a,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,F.Z)(),m=()=>{d(a)},g=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(Pn.U,{expanded:s,onToggle:m,id:`accordion-${a}`,variant:l?"primary":"secondary"},e.createElement(An.B,{title:ue()(g),description:`${p({id:"Settings.permissions.category"},{category:g})} ${n==="plugins"?"plugin":n}`}),e.createElement(Tn.v,null,e.createElement(y.x,{padding:6},t.map(({actions:C,subCategoryName:S,subCategoryId:W})=>e.createElement(Ln,{key:S,actions:C,categoryName:g,isFormDisabled:i,subCategoryName:S,pathToData:[...c,W]})))))};qe.defaultProps={},qe.propTypes={childrenForm:o().array.isRequired,isOpen:o().bool.isRequired,isFormDisabled:o().bool.isRequired,isWhite:o().bool.isRequired,kind:o().string.isRequired,name:o().string.isRequired,onOpenCategory:o().func.isRequired,pathToData:o().array.isRequired};var kn=qe;const Rt=({isFormDisabled:t,kind:n,layout:a})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(y.x,{padding:6,background:"neutral0"},a.map(({category:d,categoryId:c,childrenForm:p},m)=>e.createElement(kn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:m%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};Rt.propTypes={isFormDisabled:o().bool.isRequired,kind:o().string.isRequired,layout:o().arrayOf(o().shape({category:o().string.isRequired,categoryId:o().string.isRequired,childrenForm:o().arrayOf(o().shape({actions:o().array.isRequired})).isRequired}).isRequired).isRequired};var Pt=Rt,In=r(86349),Zn=r.n(In),Bn=r(3040),pe=r.n(Bn),At=(t,n,a)=>t.find(s=>s.action===n&&s.subject===a);const Tt=(t,n=[])=>t.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),St=({children:t},n,a="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:St(i,n,`${a}${i.value}.`)};const l=n.indexOf(`${a}${i.value}`)!==-1;return s[i.value]=l,s},{}),Fn=(t,n,a)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=f()(a,["properties",l.value],[]),c=St(l,d);s.properties[i]=c}return s},{properties:{}}),Nn=(t,n)=>n.reduce((a,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(a[s]=i),a},{});var Mt=({subjects:t},n,a,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Nn(t,d);if(j()(c))return i;const p=Object.keys(c).reduce((m,g)=>{const{actionId:C,applyToProperties:S}=l,E=c[g].properties.map(({value:k})=>k).every(k=>(S||[]).indexOf(k)===-1),h=At(s,C,g),L=Tt(a,f()(h,"conditions",[]));if(j()(S)||E)return pe()(m,[g,C],{properties:{enabled:h!==void 0},conditions:L}),m;const D=Fn(S,c[g],h);return pe()(m,[g,C],{...D,conditions:L}),m},{});return Zn()(i,p)},{});const Wn=(t,n,a)=>t.reduce((s,i)=>{const l=At(a,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Tt(n,l?.conditions??[])},s},{}),Vn=(t,n,a)=>t.reduce((s,i)=>(s[i.subCategoryId]=Wn(i.actions,n,a),s),{});var Ot=(t,n,a=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Vn(l,n,a);return s[i]=d,s},{});const $t=t=>t.split(" ").join("-");var Dt=(t,n)=>Object.entries(ce()(t,n)).map(([a,s])=>({category:a,categoryId:$t(a),childrenForm:Object.entries(ce()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:$t(i),actions:l}))})),Hn=(t,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:Dt(l,"plugin"),settings:Dt(d,"category")},p={collectionTypes:Mt(s,s.actions||[],a,n),singleTypes:Mt(i,i.actions||[],a,n),plugins:Ot(c.plugins,a,n),settings:Ot(c.settings,a,n)};return{initialData:p,modifiedData:p,layouts:c}},Un=r(99381),_e=r.n(Un);const jt=t=>Object.keys(t).reduce((n,a)=>{const s=t[a];if(xe()(s)&&!x()(s,"conditions"))return{...n,[a]:jt(s)};if(xe()(s)&&x()(s,"conditions")&&!Le(w()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[a]:{...s,conditions:l}}}return n[a]=s,n},{});var et=jt;const Lt=(t,n,a=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!a?(s[i]=l,s):xe()(l)?{...s,[i]:Lt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=Lt;const Kn={initialData:{},modifiedData:{},layouts:{}};var Gn=(t,n)=>(0,_.ZP)(t,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(f()(t,d)).forEach(c=>{const p=f()(t,[...d,c,i],void 0);if(p){let m=He(p,l);if(!l&&m.conditions){const g=He(m.conditions,!1);m={...m,conditions:g}}pe()(a,[...d,c,i],m)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=_e()(t.modifiedData);const p=s.split(".."),m=f()(c,p,{});Object.keys(m).forEach(g=>{if(x()(m[g],`properties.${i}`)){const C=f()(m,[g,"properties",i,l]),S=[...p,g,"properties",i,l];if(!xe()(C))pe()(c,S,d);else{const W=He(C,d);pe()(c,S,W)}}}),d||(c=et(c)),pe()(a,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;pe()(a,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=_e()(t.modifiedData);pe()(s,[...n.keys.split("..")],n.value),n.value||(s=et(s)),pe()(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=_e()(t.modifiedData);const c=f()(d,l,{}),p=He(c,i);pe()(d,l,p),i||(d=et(d)),pe()(a,["modifiedData"],d);break}case"RESET_FORM":{a.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=t.modifiedData;break}default:return a}});const tt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),zn=t=>{const[n,{conditions:a}]=t;return{action:n,subject:null,conditions:tt(a),properties:{}}},Xn=t=>Object.values(t).reduce((n,a)=>{const s=Object.entries(a).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=zn(l);return i.push(c),i},[]);return[...n,...s]},[]);var kt=t=>Object.values(t).reduce((n,a)=>{const s=Xn(a);return[...n,...s]},[]);const It=(t,n="")=>Object.entries(t).reduce((a,s)=>{const[i,l]=s;return xe()(l)?[...a,...It(l,`${n}${i}.`)]:(l&&!xe()(l)&&a.push(`${n}${i}`),a)},[]),wn=(t,n,{conditions:a,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=It(c),i},{action:t,subject:n,conditions:tt(a),properties:{}}),Yn=(t,n,{conditions:a})=>({action:t,subject:n,properties:{},conditions:tt(a)}),Jn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!Le(d).some(m=>m))return s;if(!d?.properties?.enabled){const m=wn(l,t,d);return[...s,m]}if(!d.properties.enabled)return s;const p=Yn(l,t,d);return s.push(p),s},[]);var Zt=t=>Object.entries(t).reduce((a,s)=>{const[i,l]=s,d=Jn(i,l);return[...a,...d]},[]),Qn=t=>{const n=kt(t.plugins),a=kt(t.settings),s=Zt(t.collectionTypes),i=Zt(t.singleTypes);return[...n,...a,...s,...i]},qn=[{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 nt=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:a},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Gn,Kn,()=>Hn(t,a)),{formatMessage:p}=(0,F.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const M=(0,T.e5)(i.collectionTypes,d.collectionTypes),E=(0,T.e5)(i.singleTypes,d.singleTypes),h={...M,...E};let L;return j()(h)?L=!1:L=Object.values(h).some(D=>Object.values(D).some(k=>x()(k,"conditions"))),{permissionsToSend:Qn(d),didUpdateConditions:L}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const m=(M,E,h,L)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:M,propertyName:E,rowName:h,value:L})},g=(M,E,h)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:M,actionId:E,value:h})},C=M=>{c({type:"ON_CHANGE_CONDITIONS",conditions:M})},S=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:M,value:E})},[]),W=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:M,value:E})},[]);return e.createElement(Rn,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:C,onChangeSimpleCheckbox:S,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:m,onChangeCollectionTypeGlobalActionCheckbox:g}},e.createElement(I.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(b.m,null,qn.map(M=>e.createElement(b.O,{key:M.id},p({id:M.labelId,defaultMessage:M.defaultMessage})))),e.createElement(P.n,{style:{position:"relative"}},e.createElement(P.x,null,e.createElement(vt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(vt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});nt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},nt.propTypes={layout:o().object,isFormDisabled:o().bool.isRequired,permissions:o().array};var _n=(0,e.memo)(nt)},33778:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{default:function(){return U}});var e=r(32735),v=r(24989),o=r(53038),T=r(83983),I=r(27649),b=r(82055),P=r(87933),R=r(41415),x=r(17e3),B=r(72850),j=r(92802),F=r(29439),y=r(33795),u=r.n(y),N=r(67879),Q=r(7247),z=r(49372),fe=r(15335),A=r(5803),X=r(10369),me=r(33475),f=r(60216),q=r.n(f);const w=({disabled:re,role:O,values:$,errors:_,onChange:se,onBlur:ce})=>{const{formatMessage:te}=(0,N.Z)();return e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(P.k,{justifyContent:"space-between"},e.createElement(B.x,null,e.createElement(B.x,null,e.createElement(z.Z,{fontWeight:"bold"},O?O.name:te({id:"global.details",defaultMessage:"Details"}))),e.createElement(B.x,null,e.createElement(z.Z,{textColor:"neutral500",variant:"pi"},O?O.description:te({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(R.z,{disabled:!0,variant:"secondary"},te({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:O.usersCount}))),e.createElement(fe.r,{gap:4},e.createElement(A.P,{col:6},e.createElement(X.o,{disabled:re,name:"name",error:_.name&&te({id:_.name}),label:te({id:"global.name",defaultMessage:"Name"}),onChange:se,onBlur:ce,value:$.name||""})),e.createElement(A.P,{col:6},e.createElement(me.g,{disabled:re,label:te({id:"global.description",defaultMessage:"Description"}),id:"description",error:_.name&&te({id:_.name}),onChange:se,onBlur:ce},$.description||"")))))};w.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},w.propTypes={disabled:q().bool,errors:q().object.isRequired,onBlur:q().func.isRequired,onChange:q().func.isRequired,role:q().object,values:q().object};var ee=w,ie=r(67927),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(v.I0.required)}),Ce=()=>{const re=(0,v.lm)(),{formatMessage:O}=(0,N.Z)(),{params:{id:$}}=(0,o.$B)("/settings/roles/:id"),[_,se]=(0,e.useState)(!1),ce=(0,e.useRef)(),{lockApp:te,unlockApp:ue}=(0,v.o1)(),{trackUsage:Ie}=(0,v.rS)(),{isLoading:Re,data:Ze}=(0,ie.U_)($),{role:he,permissions:Oe,isLoading:$e,onSubmitSucceeded:Be}=(0,ie.Dq)($),{put:De}=(0,v.kY)(),Ve=async ae=>{try{te(),se(!0);const{permissionsToSend:V,didUpdateConditions:K}=ce.current.getPermissions();await De(`/admin/roles/${$}`,ae),he.code!=="strapi-super-admin"&&(await De(`/admin/roles/${$}/permissions`,{permissions:V}),K&&Ie("didUpdateConditions")),ce.current.setFormAfterSubmit(),Be({name:ae.name,description:ae.description}),re({type:"success",message:{id:"notification.success.saved"}})}catch(V){console.error(V.response);const K=u()(V,"response.payload.message","An error occured"),ve=u()(V,"response.payload.data.permissions[0]",K);re({type:"warning",message:ve})}finally{se(!1),ue()}},je=he.code==="strapi-super-admin";return e.createElement(I.o,null,e.createElement(v.SL,{name:"Roles"}),e.createElement(j.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleChange:ve,handleBlur:Ee})=>e.createElement("form",{onSubmit:ae},e.createElement(b.T,{primaryAction:e.createElement(P.k,{gap:2},e.createElement(R.z,{disabled:he.code==="strapi-super-admin",onClick:ae,loading:_,size:"L"},O({id:"global.save",defaultMessage:"Save"}))),title:O({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:O({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(v.rU,{startIcon:e.createElement(F.Z,null),to:"/settings/roles"},O({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ee,{isLoading:$e,disabled:je,errors:K,values:V,onChange:ve,onBlur:Ee,role:he}),!Re&&!$e?e.createElement(B.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Q.Z,{isFormDisabled:je,permissions:Oe,ref:ce,layout:Ze})):e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(v.dO,null)))))))},U=()=>{const re=(0,e.useMemo)(()=>({read:T.Z.settings.roles.read,update:T.Z.settings.roles.update}),[]),{isLoading:O,allowedActions:{canRead:$,canUpdate:_}}=(0,v.ss)(re);return O?e.createElement(v.dO,null):!$&&!_?e.createElement(o.l_,{to:"/"}):e.createElement(Ce,null)}},84802:function(Y){function Z(r,e,v,o){for(var T=-1,I=r==null?0:r.length;++T<I;){var b=r[T];e(o,b,v(b),r)}return o}Y.exports=Z},62435:function(Y,Z,r){var e=r(56671);function v(o,T,I,b){return e(o,function(P,R,x){T(b,P,I(P),x)}),b}Y.exports=v},85580:function(Y,Z,r){var e=r(84802),v=r(62435),o=r(88904),T=r(77236);function I(b,P){return function(R,x){var B=T(R)?e:v,j=P?P():{};return B(R,b,o(x,2),j)}}Y.exports=I},72091:function(Y,Z,r){var e=r(40314),v=1/0;function o(T){var I=T==null?0:T.length;return I?e(T,v):[]}Y.exports=o},81346:function(Y,Z,r){var e=r(40999),v=r(85580),o=Object.prototype,T=o.hasOwnProperty,I=v(function(b,P,R){T.call(b,R)?b[R].push(P):e(b,R,[P])});Y.exports=I},83828:function(Y,Z,r){"use strict";r.d(Z,{U:function(){return F},y:function(){return B}});var e=r(74512),v=r(32735),o=r(8471),T=r(91045),I=r(74971),b=r(49372),P=r(87933),R=r(72850);const x=({theme:y,expanded:u,variant:N,disabled:Q,error:z})=>z?`1px solid ${y.colors.danger600} !important`:Q?`1px solid ${y.colors.neutral150}`:u?`1px solid ${y.colors.primary600}`:N==="primary"?`1px solid ${y.colors.neutral0}`:`1px solid ${y.colors.neutral100}`,B=(0,o.ZP)(b.Z)``,j=(0,o.ZP)(R.x)`
216
+ `,xt=({categoryName:t,isFormDisabled:n,subCategoryName:a,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:m}=(0,ee.$_)(),{formatMessage:g}=(0,F.Z)(),C=f()(c,i,{}),S=(0,e.useMemo)(()=>Object.keys(C).reduce((k,ne)=>(k[ne]=Ge(C[ne]),k),{}),[C]),{hasAllActionsSelected:W,hasSomeActionsSelected:M}=Pe(S),E=()=>{d(k=>!k)},h=()=>{d(!1)},L=On(s,c,i),D=$n(f()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(y.x,null,e.createElement(A.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(y.x,{paddingRight:4},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},a)),e.createElement(Dn,null),e.createElement(y.x,{paddingLeft:4},e.createElement(bt.X,{name:i.join(".."),disabled:n,onValueChange:k=>{p({target:{name:i.join(".."),value:k}})},indeterminate:M,value:W},g({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(A.k,{paddingTop:6,paddingBottom:6},e.createElement(Sn.r,{gap:2,style:{flex:1}},L.map(({checkboxName:k,value:ne,action:G,displayName:J,hasConditions:H})=>e.createElement(Mn.P,{col:3,key:G},e.createElement(jn,{disabled:n,hasConditions:H},e.createElement(bt.X,{name:k,disabled:n,onValueChange:ge=>{m({target:{name:k,value:ge}})},value:ne},J))))),e.createElement(de,{hasConditions:D,onClick:E}))),l&&e.createElement(V,{headerBreadCrumbs:[t,a],actions:L,isFormDisabled:n,onClosed:h,onToggle:E}))};xt.propTypes={actions:o().array.isRequired,categoryName:o().string.isRequired,isFormDisabled:o().bool.isRequired,subCategoryName:o().string.isRequired,pathToData:o().array.isRequired};var Ln=xt;const qe=({childrenForm:t,kind:n,name:a,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,F.Z)(),m=()=>{d(a)},g=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(Pn.U,{expanded:s,onToggle:m,id:`accordion-${a}`,variant:l?"primary":"secondary"},e.createElement(An.B,{title:ue()(g),description:`${p({id:"Settings.permissions.category"},{category:g})} ${n==="plugins"?"plugin":n}`}),e.createElement(Tn.v,null,e.createElement(y.x,{padding:6},t.map(({actions:C,subCategoryName:S,subCategoryId:W})=>e.createElement(Ln,{key:S,actions:C,categoryName:g,isFormDisabled:i,subCategoryName:S,pathToData:[...c,W]})))))};qe.defaultProps={},qe.propTypes={childrenForm:o().array.isRequired,isOpen:o().bool.isRequired,isFormDisabled:o().bool.isRequired,isWhite:o().bool.isRequired,kind:o().string.isRequired,name:o().string.isRequired,onOpenCategory:o().func.isRequired,pathToData:o().array.isRequired};var kn=qe;const Rt=({isFormDisabled:t,kind:n,layout:a})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(y.x,{padding:6,background:"neutral0"},a.map(({category:d,categoryId:c,childrenForm:p},m)=>e.createElement(kn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:m%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};Rt.propTypes={isFormDisabled:o().bool.isRequired,kind:o().string.isRequired,layout:o().arrayOf(o().shape({category:o().string.isRequired,categoryId:o().string.isRequired,childrenForm:o().arrayOf(o().shape({actions:o().array.isRequired})).isRequired}).isRequired).isRequired};var Pt=Rt,In=r(86349),Zn=r.n(In),Bn=r(3040),pe=r.n(Bn),At=(t,n,a)=>t.find(s=>s.action===n&&s.subject===a);const Tt=(t,n=[])=>t.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),St=({children:t},n,a="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:St(i,n,`${a}${i.value}.`)};const l=n.indexOf(`${a}${i.value}`)!==-1;return s[i.value]=l,s},{}),Fn=(t,n,a)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=f()(a,["properties",l.value],[]),c=St(l,d);s.properties[i]=c}return s},{properties:{}}),Nn=(t,n)=>n.reduce((a,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(a[s]=i),a},{});var Mt=({subjects:t},n,a,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Nn(t,d);if(j()(c))return i;const p=Object.keys(c).reduce((m,g)=>{const{actionId:C,applyToProperties:S}=l,E=c[g].properties.map(({value:k})=>k).every(k=>(S||[]).indexOf(k)===-1),h=At(s,C,g),L=Tt(a,f()(h,"conditions",[]));if(j()(S)||E)return pe()(m,[g,C],{properties:{enabled:h!==void 0},conditions:L}),m;const D=Fn(S,c[g],h);return pe()(m,[g,C],{...D,conditions:L}),m},{});return Zn()(i,p)},{});const Wn=(t,n,a)=>t.reduce((s,i)=>{const l=At(a,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Tt(n,l?.conditions??[])},s},{}),Vn=(t,n,a)=>t.reduce((s,i)=>(s[i.subCategoryId]=Wn(i.actions,n,a),s),{});var Ot=(t,n,a=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Vn(l,n,a);return s[i]=d,s},{});const $t=t=>t.split(" ").join("-");var Dt=(t,n)=>Object.entries(ce()(t,n)).map(([a,s])=>({category:a,categoryId:$t(a),childrenForm:Object.entries(ce()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:$t(i),actions:l}))})),Hn=(t,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:Dt(l,"plugin"),settings:Dt(d,"category")},p={collectionTypes:Mt(s,s.actions||[],a,n),singleTypes:Mt(i,i.actions||[],a,n),plugins:Ot(c.plugins,a,n),settings:Ot(c.settings,a,n)};return{initialData:p,modifiedData:p,layouts:c}},Un=r(99381),_e=r.n(Un);const jt=t=>Object.keys(t).reduce((n,a)=>{const s=t[a];if(xe()(s)&&!x()(s,"conditions"))return{...n,[a]:jt(s)};if(xe()(s)&&x()(s,"conditions")&&!Le(w()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[a]:{...s,conditions:l}}}return n[a]=s,n},{});var et=jt;const Lt=(t,n,a=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!a?(s[i]=l,s):xe()(l)?{...s,[i]:Lt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=Lt;const Kn={initialData:{},modifiedData:{},layouts:{}};var Gn=(t,n)=>(0,_.ZP)(t,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(f()(t,d)).forEach(c=>{const p=f()(t,[...d,c,i],void 0);if(p){let m=He(p,l);if(!l&&m.conditions){const g=He(m.conditions,!1);m={...m,conditions:g}}pe()(a,[...d,c,i],m)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=_e()(t.modifiedData);const p=s.split(".."),m=f()(c,p,{});Object.keys(m).forEach(g=>{if(x()(m[g],`properties.${i}`)){const C=f()(m,[g,"properties",i,l]),S=[...p,g,"properties",i,l];if(!xe()(C))pe()(c,S,d);else{const W=He(C,d);pe()(c,S,W)}}}),d||(c=et(c)),pe()(a,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;pe()(a,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=_e()(t.modifiedData);pe()(s,[...n.keys.split("..")],n.value),n.value||(s=et(s)),pe()(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=_e()(t.modifiedData);const c=f()(d,l,{}),p=He(c,i);pe()(d,l,p),i||(d=et(d)),pe()(a,["modifiedData"],d);break}case"RESET_FORM":{a.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=t.modifiedData;break}default:return a}});const tt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),zn=t=>{const[n,{conditions:a}]=t;return{action:n,subject:null,conditions:tt(a),properties:{}}},Xn=t=>Object.values(t).reduce((n,a)=>{const s=Object.entries(a).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=zn(l);return i.push(c),i},[]);return[...n,...s]},[]);var kt=t=>Object.values(t).reduce((n,a)=>{const s=Xn(a);return[...n,...s]},[]);const It=(t,n="")=>Object.entries(t).reduce((a,s)=>{const[i,l]=s;return xe()(l)?[...a,...It(l,`${n}${i}.`)]:(l&&!xe()(l)&&a.push(`${n}${i}`),a)},[]),wn=(t,n,{conditions:a,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=It(c),i},{action:t,subject:n,conditions:tt(a),properties:{}}),Yn=(t,n,{conditions:a})=>({action:t,subject:n,properties:{},conditions:tt(a)}),Jn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!Le(d).some(m=>m))return s;if(!d?.properties?.enabled){const m=wn(l,t,d);return[...s,m]}if(!d.properties.enabled)return s;const p=Yn(l,t,d);return s.push(p),s},[]);var Zt=t=>Object.entries(t).reduce((a,s)=>{const[i,l]=s,d=Jn(i,l);return[...a,...d]},[]),Qn=t=>{const n=kt(t.plugins),a=kt(t.settings),s=Zt(t.collectionTypes),i=Zt(t.singleTypes);return[...n,...a,...s,...i]},qn=[{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 nt=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:a},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Gn,Kn,()=>Hn(t,a)),{formatMessage:p}=(0,F.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const M=(0,T.e5)(i.collectionTypes,d.collectionTypes),E=(0,T.e5)(i.singleTypes,d.singleTypes),h={...M,...E};let L;return j()(h)?L=!1:L=Object.values(h).some(D=>Object.values(D).some(k=>x()(k,"conditions"))),{permissionsToSend:Qn(d),didUpdateConditions:L}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const m=(M,E,h,L)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:M,propertyName:E,rowName:h,value:L})},g=(M,E,h)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:M,actionId:E,value:h})},C=M=>{c({type:"ON_CHANGE_CONDITIONS",conditions:M})},S=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:M,value:E})},[]),W=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:M,value:E})},[]);return e.createElement(Rn,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:C,onChangeSimpleCheckbox:S,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:m,onChangeCollectionTypeGlobalActionCheckbox:g}},e.createElement(I.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(b.m,null,qn.map(M=>e.createElement(b.O,{key:M.id},p({id:M.labelId,defaultMessage:M.defaultMessage})))),e.createElement(P.n,{style:{position:"relative"}},e.createElement(P.x,null,e.createElement(vt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(vt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});nt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},nt.propTypes={layout:o().object,isFormDisabled:o().bool.isRequired,permissions:o().array};var _n=(0,e.memo)(nt)},33778:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{default:function(){return U}});var e=r(32735),v=r(24989),o=r(53038),T=r(83983),I=r(27649),b=r(82055),P=r(87933),R=r(41415),x=r(17e3),B=r(72850),j=r(92802),F=r(29439),y=r(33795),u=r.n(y),N=r(67879),Q=r(7247),z=r(49372),fe=r(15335),A=r(5803),X=r(10369),me=r(33475),f=r(60216),q=r.n(f);const w=({disabled:re,role:O,values:$,errors:_,onChange:se,onBlur:ce})=>{const{formatMessage:te}=(0,N.Z)();return e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(P.k,{justifyContent:"space-between"},e.createElement(B.x,null,e.createElement(B.x,null,e.createElement(z.Z,{fontWeight:"bold"},O?O.name:te({id:"global.details",defaultMessage:"Details"}))),e.createElement(B.x,null,e.createElement(z.Z,{textColor:"neutral500",variant:"pi"},O?O.description:te({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(R.z,{disabled:!0,variant:"secondary"},te({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:O.usersCount}))),e.createElement(fe.r,{gap:4},e.createElement(A.P,{col:6},e.createElement(X.o,{disabled:re,name:"name",error:_.name&&te({id:_.name}),label:te({id:"global.name",defaultMessage:"Name"}),onChange:se,onBlur:ce,value:$.name||""})),e.createElement(A.P,{col:6},e.createElement(me.g,{disabled:re,label:te({id:"global.description",defaultMessage:"Description"}),id:"description",error:_.name&&te({id:_.name}),onChange:se,onBlur:ce},$.description||"")))))};w.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},w.propTypes={disabled:q().bool,errors:q().object.isRequired,onBlur:q().func.isRequired,onChange:q().func.isRequired,role:q().object,values:q().object};var ee=w,ie=r(32308),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(v.I0.required)}),Ce=()=>{const re=(0,v.lm)(),{formatMessage:O}=(0,N.Z)(),{params:{id:$}}=(0,o.$B)("/settings/roles/:id"),[_,se]=(0,e.useState)(!1),ce=(0,e.useRef)(),{lockApp:te,unlockApp:ue}=(0,v.o1)(),{trackUsage:Ie}=(0,v.rS)(),{isLoading:Re,data:Ze}=(0,ie.U_)($),{role:he,permissions:Oe,isLoading:$e,onSubmitSucceeded:Be}=(0,ie.Dq)($),{put:De}=(0,v.kY)(),Ve=async ae=>{try{te(),se(!0);const{permissionsToSend:V,didUpdateConditions:K}=ce.current.getPermissions();await De(`/admin/roles/${$}`,ae),he.code!=="strapi-super-admin"&&(await De(`/admin/roles/${$}/permissions`,{permissions:V}),K&&Ie("didUpdateConditions")),ce.current.setFormAfterSubmit(),Be({name:ae.name,description:ae.description}),re({type:"success",message:{id:"notification.success.saved"}})}catch(V){console.error(V.response);const K=u()(V,"response.payload.message","An error occured"),ve=u()(V,"response.payload.data.permissions[0]",K);re({type:"warning",message:ve})}finally{se(!1),ue()}},je=he.code==="strapi-super-admin";return e.createElement(I.o,null,e.createElement(v.SL,{name:"Roles"}),e.createElement(j.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleChange:ve,handleBlur:Ee})=>e.createElement("form",{onSubmit:ae},e.createElement(b.T,{primaryAction:e.createElement(P.k,{gap:2},e.createElement(R.z,{disabled:he.code==="strapi-super-admin",onClick:ae,loading:_,size:"L"},O({id:"global.save",defaultMessage:"Save"}))),title:O({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:O({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(v.rU,{startIcon:e.createElement(F.Z,null),to:"/settings/roles"},O({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ee,{isLoading:$e,disabled:je,errors:K,values:V,onChange:ve,onBlur:Ee,role:he}),!Re&&!$e?e.createElement(B.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Q.Z,{isFormDisabled:je,permissions:Oe,ref:ce,layout:Ze})):e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(v.dO,null)))))))},U=()=>{const re=(0,e.useMemo)(()=>({read:T.Z.settings.roles.read,update:T.Z.settings.roles.update}),[]),{isLoading:O,allowedActions:{canRead:$,canUpdate:_}}=(0,v.ss)(re);return O?e.createElement(v.dO,null):!$&&!_?e.createElement(o.l_,{to:"/"}):e.createElement(Ce,null)}},84802:function(Y){function Z(r,e,v,o){for(var T=-1,I=r==null?0:r.length;++T<I;){var b=r[T];e(o,b,v(b),r)}return o}Y.exports=Z},62435:function(Y,Z,r){var e=r(56671);function v(o,T,I,b){return e(o,function(P,R,x){T(b,P,I(P),x)}),b}Y.exports=v},85580:function(Y,Z,r){var e=r(84802),v=r(62435),o=r(88904),T=r(77236);function I(b,P){return function(R,x){var B=T(R)?e:v,j=P?P():{};return B(R,b,o(x,2),j)}}Y.exports=I},72091:function(Y,Z,r){var e=r(40314),v=1/0;function o(T){var I=T==null?0:T.length;return I?e(T,v):[]}Y.exports=o},81346:function(Y,Z,r){var e=r(40999),v=r(85580),o=Object.prototype,T=o.hasOwnProperty,I=v(function(b,P,R){T.call(b,R)?b[R].push(P):e(b,R,[P])});Y.exports=I},83828:function(Y,Z,r){"use strict";r.d(Z,{U:function(){return F},y:function(){return B}});var e=r(74512),v=r(32735),o=r(8471),T=r(91045),I=r(74971),b=r(49372),P=r(87933),R=r(72850);const x=({theme:y,expanded:u,variant:N,disabled:Q,error:z})=>z?`1px solid ${y.colors.danger600} !important`:Q?`1px solid ${y.colors.neutral150}`:u?`1px solid ${y.colors.primary600}`:N==="primary"?`1px solid ${y.colors.neutral0}`:`1px solid ${y.colors.neutral100}`,B=(0,o.ZP)(b.Z)``,j=(0,o.ZP)(R.x)`
217
217
  border: ${x};
218
218
 
219
219
  &:hover:not([aria-disabled='true']) {
@@ -0,0 +1,10 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{19150:function(I,o,e){e.d(o,{R:function(){return d}});var t=e(20108),a=e(24989),s=e(33348);function d(r={},p={}){const{id:n="",...i}=r,c=(0,s.stringify)(i,{encode:!1}),{get:m}=(0,a.kY)(),{data:l,isError:f,isLoading:U,refetch:C}=(0,t.useQuery)(["users",n,i],async()=>{const{data:{data:h}}=await m(`/admin/users/${n}${c?`?${c}`:""}`);return h},p);let M=[];return n&&l?M=[l]:Array.isArray(l?.results)&&(M=l.results),{users:M,pagination:l?.pagination??null,isLoading:U,isError:f,refetch:C}}},40874:function(I,o,e){e.r(o),e.d(o,{default:function(){return se}});var t=e(32735),a=e(24989),s=e(53038),d=e(83983),r=e(20011),p=e(67879),n=e(60216),i=e.n(n),c=e(88423),m=e.n(c),l=e(33795),f=e.n(l),U=e(9086),C=e.n(U),M=e(92802),h=e(27649),D=e(82055),_=e(41415),$=e(17e3),K=e(72850),S=e(87933),O=e(49372),w=e(15335),j=e(5803),N=e(66456),Y=e(29439),x=e(8997);const v=async(R,T)=>{const{put:u}=(0,a.tg)(),{data:P}=await u(`/admin/users/${R}`,T);return P.data};var J=[[{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}}]],k=e(1057),q=e(4397),ee=e(19150);const te=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),V=["email","firstname","lastname","username","isActive","roles"],G=R=>{let{canUpdate:T}=R;const{formatMessage:u}=(0,p.Z)(),{params:{id:P}}=(0,s.$B)("/settings/users/:id"),{push:B}=(0,s.k6)(),{setUserDisplayName:b}=(0,a.L7)(),Z=(0,a.lm)(),{lockApp:ne,unlockApp:re}=(0,a.o1)();(0,a.go)();const{users:[z],isLoading:Q}=(0,ee.R)({id:P},{onError(g){const{status:E}=g.response;E===403?(Z({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),B("/")):Z({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),oe=async(g,E)=>{ne();try{const y=await v(P,C()(g,"confirmPassword"));Z({type:"success",message:u({id:"notification.success.saved",defaultMessage:"Saved"})});const L=a.I8.getUserInfo();if(P.toString()===L.id.toString()){a.I8.setUserInfo(y);const W=f()(g,"username")||(0,x.Pp)(g.firstname,g.lastname);b(W)}E.setValues(m()(g,V))}catch(y){const L=(0,x.Iz)(y.response.data),W=Object.keys(L).reduce((H,A)=>(H[A]=L[A].id,H),{});E.setErrors(W),Z({type:"warning",message:f()(y,"response.data.error.message","notification.error")})}re()},ie=Q?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},F=Object.keys(m()(z,V)).reduce((g,E)=>E==="roles"?(g[E]=(z?.roles||[]).map(y=>{let{id:L}=y;return L}),g):(g[E]=z?.[E],g),{}),le=F.username||(0,x.Pp)(F.firstname,F.lastname),X=u(ie,{name:le});return Q?t.createElement(h.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(D.T,{primaryAction:t.createElement(_.z,{disabled:!0,startIcon:t.createElement(N.Z,null),type:"button",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:X,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(Y.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement($.D,null,t.createElement(a.dO,null))):t.createElement(h.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(M.J9,{onSubmit:oe,initialValues:F,validateOnChange:!1,validationSchema:k.YM},g=>{let{errors:E,values:y,handleChange:L,isSubmitting:W}=g;return t.createElement(a.l0,null,t.createElement(D.T,{primaryAction:t.createElement(_.z,{disabled:W||!T,startIcon:t.createElement(N.Z,null),loading:W,type:"submit",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:X,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(Y.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement($.D,null,z?.registrationToken&&t.createElement(K.x,{paddingBottom:6},t.createElement(te,{registrationToken:z.registrationToken})),t.createElement(S.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(K.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(S.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},u({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(w.r,{gap:5},J.map(H=>H.map(A=>t.createElement(j.P,(0,r.Z)({key:A.name},A.size),t.createElement(a.jm,(0,r.Z)({},A,{disabled:!T,error:E[A.name],onChange:L,value:y[A.name]||""})))))))),t.createElement(K.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(S.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},u({id:"global.roles",defaultMessage:"User's role"})),t.createElement(w.r,{gap:5},t.createElement(j.P,{col:6,xs:12},t.createElement(q.Z,{disabled:!T,error:E.roles,onChange:L,value:y.roles}))))))))}))};G.propTypes={canUpdate:i().bool.isRequired};var ae=G,se=()=>{const R=(0,a.lm)(),T=(0,t.useMemo)(()=>({read:d.Z.settings.users.read,update:d.Z.settings.users.update}),[]),{isLoading:u,allowedActions:{canRead:P,canUpdate:B}}=(0,a.ss)(T),{state:b}=(0,s.TH)(),Z=b?.from??"/";return(0,t.useEffect)(()=>{u||!P&&!B&&R({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[u,P,B,R]),u?t.createElement(a.dO,null):!P&&!B?t.createElement(s.l_,{to:Z}):t.createElement(ae,{canUpdate:B})}},76779:function(I,o,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(50563),r=e(24989),p=e(47765),n=e(67879);const i=({children:c,target:m})=>{const l=(0,r.lm)(),{formatMessage:f}=(0,n.Z)(),{copy:U}=(0,r.VP)(),C=f({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),M=async()=>{await U(m)&&l({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(r.Y_,{endAction:t.createElement(d.h,{label:C,noBorder:!0,icon:t.createElement(p.Z,null),onClick:M}),title:m,titleEllipsis:!0,subtitle:c,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};i.propTypes={children:s().oneOfType([s().element,s().string]).isRequired,target:s().string.isRequired},o.Z=i},16325:function(I,o,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),r=e(78246),p=e(76779);const n=({registrationToken:i})=>{const{formatMessage:c}=(0,a.Z)(),m=`${window.location.origin}${r.Z}auth/register?registrationToken=${i}`;return t.createElement(p.Z,{target:m},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:d().string},o.Z=n},4397:function(I,o,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),r=e(68465),p=e(84967),n=e(20108),i=e(8471),c=e(27169),m=e(24989);const l=i.F4`
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ `,f=i.ZP.div`
9
+ animation: ${l} 2s infinite linear;
10
+ `,U=()=>t.createElement(f,null,t.createElement(c.Z,null)),C=async()=>{const{get:h}=(0,m.tg)(),{data:D}=await h("/admin/roles");return D.data},M=({disabled:h,error:D,onChange:_,value:$})=>{const{status:K,data:S}=(0,n.useQuery)(["roles"],C,{staleTime:5e4}),{formatMessage:O}=(0,d.Z)(),w=D?O({id:D,defaultMessage:D}):"",j=O({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),N=O({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),Y=O({id:"app.components.Select.placeholder",defaultMessage:"Select"}),x=K==="loading"?t.createElement(U,null):void 0;return t.createElement(r.P,{id:"roles",disabled:h,error:w,hint:N,label:j,name:"roles",onChange:v=>{_({target:{name:"roles",value:v}})},placeholder:Y,multi:!0,startIcon:x,value:$.map(v=>v.toString()),withTags:!0,required:!0},(S||[]).map(v=>t.createElement(p.W,{key:v.id,value:v.id.toString()},O({id:`global.${v.code}`,defaultMessage:v.name}))))};M.defaultProps={disabled:!1,error:void 0},M.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},o.Z=M},1057:function(I,o,e){e.d(o,{YM:function(){return c},Rw:function(){return r}});var t=e(24346),a=e(24989);const s={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",(m,l)=>m?l.required(a.I0.required):l)};var r={...s,currentPassword:t.Z_().when(["password","confirmPassword"],(m,l,f)=>m||l?f.required(a.I0.required):f),preferedLanguage:t.Z_().nullable()},n={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},c=t.Ry().shape({...s,isActive:t.Xg(),...n})},28890:function(I,o,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),r=e(78246),p=e(76779);const n=({registrationToken:i})=>{const{formatMessage:c}=(0,a.Z)();return i?t.createElement(p.Z,{target:`${window.location.origin}${r.Z}auth/register?registrationToken=${i}`},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(p.Z,{target:`${window.location.origin}${r.Z}auth/login`},c({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:d().string},o.Z=n},29439:function(I,o,e){e.d(o,{Z:function(){return s}});var t=e(74512);const a=d=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...d,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"})}),s=a}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{67249:function(H,j,t){t.r(j),t.d(j,{default:function(){return me}});var e=t(32735),s=t(24989),v=t(83983),O=t(47765),D=t(68625),Z=t(4038),x=t(19406),I=t(27649),A=t(82055),u=t(41415),R=t(99223),g=t(17e3),S=t(56755),F=t(73269),G=t(33827),Q=t(94547),C=t(19786),W=t(49372),J=t(3685),Y=t(35658),k=t(33795),w=t.n(k),$=t(67879),q=t(53038),_=t(67927),ee=()=>"todo empty role",te=t(60216),B=t.n(te),ne=t(87933),le=t(72850),se=t(50563);const N=({id:a,name:o,description:n,usersCount:h,icons:r,rowIndex:m,canUpdate:p})=>{const{formatMessage:T}=(0,$.Z)(),[,i]=r,M=T({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:h});return e.createElement(Q.Tr,{"aria-rowindex":m,key:a,...p?(0,s.X7)({fn:i.onClick}):{}},e.createElement(C.Td,{maxWidth:(0,s.Q1)(130)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},o)),e.createElement(C.Td,{maxWidth:(0,s.Q1)(250)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},n)),e.createElement(C.Td,null,e.createElement(W.Z,{textColor:"neutral800"},M)),e.createElement(C.Td,null,e.createElement(ne.k,{justifyContent:"flex-end",...s.UW},r.map((d,P)=>d?e.createElement(le.x,{key:d.label,paddingLeft:P===0?0:1},e.createElement(se.h,{onClick:d.onClick,label:d.label,noBorder:!0,icon:d.icon})):null))))};N.propTypes={id:B().number.isRequired,name:B().string.isRequired,description:B().string.isRequired,usersCount:B().number.isRequired,icons:B().array.isRequired,rowIndex:B().number.isRequired,canUpdate:B().bool},N.defaultProps={canUpdate:!1};var ae=N,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(a,o)=>(0,oe.ZP)(a,n=>{switch(o.type){case"ON_REMOVE_ROLES":{n.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{n.shouldRefetchData=!0,n.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{n.shouldRefetchData=!1,n.roleToDelete=null,n.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{n.roleToDelete=o.id;break}default:return n}});const de=()=>{(0,s.go)();const{locale:a}=(0,$.Z)(),{isLoading:o,allowedActions:{canCreate:n,canDelete:h,canRead:r,canUpdate:m}}=(0,s.ss)(v.Z.settings.roles),{getData:p,roles:T,isLoading:i}=(0,_.bF)(!1),[{query:M}]=(0,s.Kx)(),d=M?._q||"",{includes:P}=(0,s.L0)(a,{sensitivity:"base"}),y=(0,s.Xe)(a,{sensitivity:"base"}),U=(T||[]).filter(f=>P(f.name,d)||P(f.description,d)).sort((f,L)=>y.compare(f.name,L.name)||y.compare(f.description,L.description));return(0,e.useEffect)(()=>{!o&&r&&p()},[o,r,p]),{isLoadingForPermissions:o,canCreate:n,canDelete:h,canRead:r,canUpdate:m,isLoading:i,getData:p,sortedRoles:U,roles:T}},ce=({getData:a,canCreate:o,canDelete:n,canUpdate:h})=>{const{formatMessage:r}=(0,$.Z)(),m=(0,s.lm)(),[p,T]=(0,e.useState)(!1),{push:i}=(0,q.k6)(),[{selectedRoles:M,showModalConfirmButtonLoading:d,roleToDelete:P},y]=(0,e.useReducer)(ie,re),{post:U}=(0,s.tg)(),f=async()=>{try{y({type:"ON_REMOVE_ROLES"}),await U("/admin/roles/batch-delete",{ids:[P]}),await a(),y({type:"RESET_DATA_TO_DELETE"})}catch(l){const c=w()(l,["response","payload","data","ids"],null);if(c&&Array.isArray(c)){const ge=c.join(`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{67249:function(H,j,t){t.r(j),t.d(j,{default:function(){return me}});var e=t(32735),s=t(24989),v=t(83983),O=t(47765),D=t(68625),Z=t(4038),x=t(19406),I=t(27649),A=t(82055),u=t(41415),R=t(99223),g=t(17e3),S=t(56755),F=t(73269),G=t(33827),Q=t(94547),C=t(19786),W=t(49372),J=t(3685),Y=t(35658),k=t(33795),w=t.n(k),$=t(67879),q=t(53038),_=t(32308),ee=()=>"todo empty role",te=t(60216),B=t.n(te),ne=t(87933),le=t(72850),se=t(50563);const N=({id:a,name:o,description:n,usersCount:h,icons:r,rowIndex:m,canUpdate:p})=>{const{formatMessage:T}=(0,$.Z)(),[,i]=r,M=T({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:h});return e.createElement(Q.Tr,{"aria-rowindex":m,key:a,...p?(0,s.X7)({fn:i.onClick}):{}},e.createElement(C.Td,{maxWidth:(0,s.Q1)(130)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},o)),e.createElement(C.Td,{maxWidth:(0,s.Q1)(250)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},n)),e.createElement(C.Td,null,e.createElement(W.Z,{textColor:"neutral800"},M)),e.createElement(C.Td,null,e.createElement(ne.k,{justifyContent:"flex-end",...s.UW},r.map((d,P)=>d?e.createElement(le.x,{key:d.label,paddingLeft:P===0?0:1},e.createElement(se.h,{onClick:d.onClick,label:d.label,noBorder:!0,icon:d.icon})):null))))};N.propTypes={id:B().number.isRequired,name:B().string.isRequired,description:B().string.isRequired,usersCount:B().number.isRequired,icons:B().array.isRequired,rowIndex:B().number.isRequired,canUpdate:B().bool},N.defaultProps={canUpdate:!1};var ae=N,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(a,o)=>(0,oe.ZP)(a,n=>{switch(o.type){case"ON_REMOVE_ROLES":{n.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{n.shouldRefetchData=!0,n.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{n.shouldRefetchData=!1,n.roleToDelete=null,n.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{n.roleToDelete=o.id;break}default:return n}});const de=()=>{(0,s.go)();const{locale:a}=(0,$.Z)(),{isLoading:o,allowedActions:{canCreate:n,canDelete:h,canRead:r,canUpdate:m}}=(0,s.ss)(v.Z.settings.roles),{getData:p,roles:T,isLoading:i}=(0,_.bF)(!1),[{query:M}]=(0,s.Kx)(),d=M?._q||"",{includes:P}=(0,s.L0)(a,{sensitivity:"base"}),y=(0,s.Xe)(a,{sensitivity:"base"}),U=(T||[]).filter(f=>P(f.name,d)||P(f.description,d)).sort((f,L)=>y.compare(f.name,L.name)||y.compare(f.description,L.description));return(0,e.useEffect)(()=>{!o&&r&&p()},[o,r,p]),{isLoadingForPermissions:o,canCreate:n,canDelete:h,canRead:r,canUpdate:m,isLoading:i,getData:p,sortedRoles:U,roles:T}},ce=({getData:a,canCreate:o,canDelete:n,canUpdate:h})=>{const{formatMessage:r}=(0,$.Z)(),m=(0,s.lm)(),[p,T]=(0,e.useState)(!1),{push:i}=(0,q.k6)(),[{selectedRoles:M,showModalConfirmButtonLoading:d,roleToDelete:P},y]=(0,e.useReducer)(ie,re),{post:U}=(0,s.tg)(),f=async()=>{try{y({type:"ON_REMOVE_ROLES"}),await U("/admin/roles/batch-delete",{ids:[P]}),await a(),y({type:"RESET_DATA_TO_DELETE"})}catch(l){const c=w()(l,["response","payload","data","ids"],null);if(c&&Array.isArray(c)){const ge=c.join(`
2
2
  `);m({type:"warning",message:ge})}else m({type:"warning",message:{id:"notification.error"}})}E()},L=(0,e.useCallback)(l=>{i(`/settings/roles/duplicate/${l}`)},[i]),V=()=>i("/settings/roles/new"),K=(0,e.useCallback)(l=>{y({type:"SET_ROLE_TO_DELETE",id:l}),E()},[]),E=()=>T(l=>!l),b=(0,e.useCallback)(l=>{i(`/settings/roles/${l}`)},[i]),z=(0,e.useCallback)((l,c)=>{l.preventDefault(),l.stopPropagation(),c.usersCount?m({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):K(c.id)},[m,K]),X=(0,e.useCallback)((l,c)=>{l.preventDefault(),l.stopPropagation(),L(c.id)},[L]),Ee=(0,e.useCallback)(l=>[...o?[{onClick:c=>X(c,l),label:r({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(O.Z,null)}]:[],...h?[{onClick:()=>b(l.id),label:r({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(D.Z,null)}]:[],...n?[{onClick:c=>z(c,l),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(Z.Z,null)}]:[]],[r,z,X,b,o,h,n]);return{handleNewRoleClick:V,getIcons:Ee,selectedRoles:M,isWarningDeleteAllOpened:p,showModalConfirmButtonLoading:d,handleToggleModal:E,handleDeleteData:f}};var ue=()=>{const{formatMessage:a}=(0,$.Z)(),{isLoadingForPermissions:o,canCreate:n,canRead:h,canDelete:r,canUpdate:m,isLoading:p,getData:T,sortedRoles:i}=de(),{handleNewRoleClick:M,getIcons:d,isWarningDeleteAllOpened:P,showModalConfirmButtonLoading:y,handleToggleModal:U,handleDeleteData:f}=ce({getData:T,canCreate:n,canDelete:r,canUpdate:m}),L=i.length+1,V=6;if(o)return e.createElement(I.o,null,e.createElement(s.dO,null));const K=a({id:"global.roles",defaultMessage:"roles"});return e.createElement(I.o,null,e.createElement(s.SL,{name:"Roles"}),e.createElement(A.T,{primaryAction:n?e.createElement(u.z,{onClick:M,startIcon:e.createElement(x.Z,null),size:"S"},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:K,subtitle:a({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),h&&e.createElement(R.Z,{startActions:e.createElement(s.m,{label:a({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:K})})}),h&&e.createElement(g.D,null,e.createElement(S.i,{colCount:V,rowCount:L,footer:n?e.createElement(F.c,{onClick:M,icon:e.createElement(x.Z,null)},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(G.h,null,e.createElement(Q.Tr,{"aria-rowindex":1},e.createElement(C.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(C.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.description",defaultMessage:"Description"}))),e.createElement(C.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.users",defaultMessage:"Users"}))),e.createElement(C.Th,null,e.createElement(J.T,null,a({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Y.p,null,i?.map((E,b)=>e.createElement(ae,{key:E.id,id:E.id,name:E.name,description:E.description,usersCount:E.usersCount,icons:d(E),rowIndex:b+2,canUpdate:m})))),!L&&!p&&e.createElement(ee,null)),e.createElement(s.QH,{isOpen:P,onConfirm:f,isConfirmButtonLoading:y,onToggleDialog:U}))},me=()=>e.createElement(s.O4,{permissions:v.Z.settings.roles.main},e.createElement(ue,null))},99223:function(H,j,t){t.d(j,{Z:function(){return A}});var e=t(74512),s=t(32735),v=t(60216),O=t(8471),D=t(87933),Z=t(72850);const x=(0,O.ZP)(D.k)`
3
3
  & > * + * {
4
4
  margin-left: ${({theme:u})=>u.spaces[2]};
@@ -0,0 +1,34 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{19150:function(p,n,e){e.d(n,{R:function(){return u}});var t=e(20108),s=e(24989),a=e(33348);function u(c={},E={}){const{id:o="",...m}=c,i=(0,a.stringify)(m,{encode:!1}),{get:d}=(0,s.kY)(),{data:r,isError:M,isLoading:_,refetch:D}=(0,t.useQuery)(["users",o,m],async()=>{const{data:{data:h}}=await d(`/admin/users/${o}${i?`?${i}`:""}`);return h},E);let l=[];return o&&r?l=[r]:Array.isArray(r?.results)&&(l=r.results),{users:l,pagination:r?.pagination??null,isLoading:_,isError:M,refetch:D}}},83119:function(p,n){const e=()=>null;n.Z=e},83196:function(p,n,e){var t=e(32735),s=e(60216),a=e.n(s),u=e(67879),c=e(72850),E=e(41415),o=e(5644),m=e(24989);const i=({displayedFilters:d})=>{const[r,M]=(0,t.useState)(!1),{formatMessage:_}=(0,u.Z)(),D=(0,t.useRef)(),l=()=>{M(h=>!h)};return t.createElement(t.Fragment,null,t.createElement(c.x,{paddingTop:1,paddingBottom:1},t.createElement(E.z,{variant:"tertiary",ref:D,startIcon:t.createElement(o.Z,null),onClick:l,size:"S"},_({id:"app.utils.filters",defaultMessage:"Filters"})),r&&t.createElement(m.J5,{displayedFilters:d,isVisible:r,onToggle:l,source:D})),t.createElement(m.W$,{filtersSchema:d}))};i.propTypes={displayedFilters:a().arrayOf(a().shape({name:a().string.isRequired,metadatas:a().shape({label:a().string}),fieldSchema:a().shape({type:a().string})})).isRequired},n.Z=i},9814:function(p,n,e){var t=e(32735),s=e(67879),a=e(60216),u=e.n(a),c=e(41415),E=e(7961);const o=({onClick:m})=>{const{formatMessage:i}=(0,s.Z)();return t.createElement(c.z,{onClick:m,startIcon:t.createElement(E.Z,null),size:"S"},i({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};o.propTypes={onClick:u().func.isRequired},n.Z=o},60509:function(p,n){const e={firstname:"",lastname:"",email:"",roles:[]};n.Z=e},61358:function(p,n){const e=[];n.Z=e},10108:function(p,n,e){e.r(n),e.d(n,{default:function(){return Se}});var t=e(32735),s=e(24989),a=e(83983),u=e(33348),c=e.n(u),E=e(27649),o=e(82055),m=e(99223),i=e(17e3),d=e(53038),r=e(67879),M=e(20108),_=e(19150),D=e(60216),l=e.n(D),h=e(35658),A=e(94547),x=e(19786),z=e(82884),F=e(49372),$=e(87933),I=e(50563),U=e(72850),ae=e(68625),ne=e(4038),G=e(8997);const X=({canDelete:f,headers:L,entriesToDelete:y,onClickDelete:j,onSelectRow:k,withMainAction:B,withBulkActions:O,rows:N})=>{const{push:H,location:{pathname:P}}=(0,d.k6)(),{formatMessage:S}=(0,r.Z)();return t.createElement(h.p,null,N.map(g=>{const W=y.findIndex(Z=>Z===g.id)!==-1;return t.createElement(A.Tr,{key:g.id,...(0,s.X7)({fn:()=>H(`${P}/${g.id}`),condition:O})},B&&t.createElement(x.Td,{...s.UW},t.createElement(z.C,{"aria-label":S({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,G.Pp)(g.firstname,g.lastname)}),checked:W,onChange:()=>{k({name:g.id,value:!W})}})),L.map(({key:Z,cellFormatter:b,name:K,...Q})=>t.createElement(x.Td,{key:Z},typeof b=="function"?b(g,{key:Z,name:K,formatMessage:S,...Q}):t.createElement(F.Z,{textColor:"neutral800"},g[K]||"-"))),O&&t.createElement(x.Td,null,t.createElement($.k,{justifyContent:"end"},t.createElement(I.h,{onClick:()=>H(`${P}/${g.id}`),label:S({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,G.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(ae.Z,null)}),f&&t.createElement(U.x,{paddingLeft:1,...s.UW},t.createElement(I.h,{onClick:()=>j(g.id),label:S({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,G.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(ne.Z,null)})))))}))};X.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},X.propTypes={canDelete:l().bool,entriesToDelete:l().array,headers:l().array.isRequired,onClickDelete:l().func,onSelectRow:l().func,rows:l().array,withBulkActions:l().bool,withMainAction:l().bool};var C=X,Ee=e(83196),te=e(20011),re=e(41415),ge=e(85025),pe=e(55225),de=e(11299),Me=e(31600),ce=e(15335),oe=e(5803),fe=e(11406),Pe=e(92802),ve=e(4397),_e=[[{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}]],w=e(24346),De=w.Ry().shape({firstname:w.Z_().trim().required(s.I0.required),lastname:w.Z_(),email:w.Z_().email(s.I0.email).required(s.I0.required),roles:w.IX().min(1,s.I0.required).required(s.I0.required)}),he={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}};const Oe=(()=>window&&window.strapi&&window.strapi.isEE?e(64746).Z:e(60509).Z)(),ye=(()=>window&&window.strapi&&window.strapi.isEE?e(43116).Z:e(61358).Z)(),Ce=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),me=f=>{let{onSuccess:L,onToggle:y}=f;const[j,k]=(0,t.useState)("create"),[B,O]=(0,t.useState)(!1),[N,H]=(0,t.useState)(null),{formatMessage:P}=(0,r.Z)(),S=(0,s.lm)(),{lockApp:g,unlockApp:W}=(0,s.o1)(),{post:Z}=(0,s.kY)(),b=(0,M.useMutation)(R=>Z("/admin/users",R),{async onSuccess(R){let{data:Y}=R;H(Y.data.registrationToken),await L(),se(),O(!1)},onError(R){throw O(!1),S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),R},onSettled(){W()}}),K=P({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),Q=async(R,Y)=>{let{setErrors:ee}=Y;g(),O(!0);try{await b.mutateAsync(R)}catch(J){W(),J?.response?.data?.error.message==="Email already taken"&&ee({email:J.response.data.error.message})}},se=()=>{v?k(v):y()},{buttonSubmitLabel:q,isDisabled:V,next:v}=he[j],We=j==="create"?t.createElement(re.z,{type:"submit",loading:B},P(q)):t.createElement(re.z,{type:"button",loading:B,onClick:y},P(q));return t.createElement(ge.P,{onClose:y,labelledBy:"title"},t.createElement(pe.x,null,t.createElement(de.O,{label:K},t.createElement(de.$,null,K))),t.createElement(Pe.J9,{initialValues:Oe,onSubmit:Q,validationSchema:De,validateOnChange:!1},R=>{let{errors:Y,handleChange:ee,values:J}=R;return t.createElement(s.l0,null,t.createElement(Me.f,null,t.createElement($.k,{direction:"column",alignItems:"stretch",gap:6},j!=="create"&&t.createElement(Ce,{registrationToken:N}),t.createElement(U.x,null,t.createElement(F.Z,{variant:"beta",as:"h2"},P({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement(U.x,{paddingTop:4},t.createElement($.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(ce.r,{gap:5},_e.map(ie=>ie.map(T=>t.createElement(oe.P,(0,te.Z)({key:T.name},T.size),t.createElement(s.jm,(0,te.Z)({},T,{disabled:V,error:Y[T.name],onChange:ee,value:J[T.name]}))))))))),t.createElement(U.x,null,t.createElement(F.Z,{variant:"beta",as:"h2"},P({id:"global.roles",defaultMessage:"User's role"})),t.createElement(U.x,{paddingTop:4},t.createElement(ce.r,{gap:5},t.createElement(oe.P,{col:6,xs:12},t.createElement(ve.Z,{disabled:V,error:Y.roles,onChange:ee,value:J.roles})),ye.map(ie=>ie.map(T=>t.createElement(oe.P,(0,te.Z)({key:T.name},T.size),t.createElement(s.jm,(0,te.Z)({},T,{disabled:V,onChange:ee,value:J[T.name]})))))))))),t.createElement(fe.m,{startActions:t.createElement(re.z,{variant:"tertiary",onClick:y,type:"button"},P({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:We}))}))};me.propTypes={onToggle:l().func.isRequired,onSuccess:l().func.isRequired};var Te=me;const le=({pagination:f})=>t.createElement(U.x,{paddingTop:4},t.createElement($.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(s.v4,null),t.createElement(s.tU,{pagination:f})));le.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},le.propTypes={pagination:l().shape({page:l().number,pageCount:l().number,pageSize:l().number,total:l().number})};var Ae=le,Le=[{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"}}],Re=[{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:f},{formatMessage:L}){return t.createElement(F.Z,{textColor:"neutral800"},f.map(y=>L({id:`Settings.permissions.users.${y.code}`,defaultMessage:y.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:f},{formatMessage:L}){return t.createElement($.k,null,t.createElement(s.qb,{isActive:f,variant:f?"success":"danger"}),t.createElement(F.Z,{textColor:"neutral800"},L({id:f?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:f?"Active":"Inactive"})))}}];const Ie=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),Ue=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)(),ue=["ee","license-limit-info"];var Be=()=>{const{post:f}=(0,s.kY)(),{formatAPIError:L}=(0,s.So)(),[y,j]=(0,t.useState)(!1),{allowedActions:{canCreate:k,canDelete:B,canRead:O}}=(0,s.ss)(a.Z.settings.users),N=(0,M.useQueryClient)(),H=(0,s.lm)(),{formatMessage:P}=(0,r.Z)(),{search:S}=(0,d.TH)();(0,s.go)(),Ue();const{users:g,pagination:W,isError:Z,isLoading:b,refetchQueries:K}=(0,_.R)(c().parse(S,{ignoreQueryPrefix:!0}),{enabled:O}),Q=Re.map(v=>({...v,metadatas:{...v.metadatas,label:P(v.metadatas.label)}})),se=P({id:"global.users",defaultMessage:"Users"}),q=()=>{j(v=>!v)},V=(0,M.useMutation)(async v=>{await f("/admin/users/batch-delete",{ids:v})},{async onSuccess(){await K(),await N.refetchQueries(ue)},onError(v){H({type:"warning",message:{id:"notification.error",message:L(v),defaultMessage:"An error occured"}})}});return t.createElement(E.o,{"aria-busy":b},t.createElement(s.SL,{name:"Users"}),t.createElement(o.T,{primaryAction:k&&t.createElement(Ie,{onClick:q}),title:se,subtitle:P({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),O&&t.createElement(m.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(s.m,{label:P({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:se})}),t.createElement(Ee.Z,{displayedFilters:Le}))}),t.createElement(i.D,{canRead:O},!O&&t.createElement(s.ZF,null),Z&&t.createElement("div",null,"TODO: An error occurred"),O&&t.createElement(t.Fragment,null,t.createElement(s.tM,{contentType:"Users",isLoading:b,onConfirmDeleteAll:V.mutateAsync,onConfirmDelete:v=>V.mutateAsync([v]),headers:Q,rows:g,withBulkActions:!0,withMainAction:B},t.createElement(C,{canDelete:B,headers:Q,rows:g,withBulkActions:!0,withMainAction:B})),W&&t.createElement(Ae,{pagination:W}))),y&&t.createElement(Te,{onSuccess:async()=>{await K(),await N.refetchQueries(ue)},onToggle:q}))},Se=()=>t.createElement(s.O4,{permissions:a.Z.settings.users.main},t.createElement(Be,null))},76779:function(p,n,e){var t=e(32735),s=e(60216),a=e.n(s),u=e(50563),c=e(24989),E=e(47765),o=e(67879);const m=({children:i,target:d})=>{const r=(0,c.lm)(),{formatMessage:M}=(0,o.Z)(),{copy:_}=(0,c.VP)(),D=M({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),l=async()=>{await _(d)&&r({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(c.Y_,{endAction:t.createElement(u.h,{label:D,noBorder:!0,icon:t.createElement(E.Z,null),onClick:l}),title:d,titleEllipsis:!0,subtitle:i,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},n.Z=m},16325:function(p,n,e){var t=e(32735),s=e(67879),a=e(60216),u=e.n(a),c=e(78246),E=e(76779);const o=({registrationToken:m})=>{const{formatMessage:i}=(0,s.Z)(),d=`${window.location.origin}${c.Z}auth/register?registrationToken=${m}`;return t.createElement(E.Z,{target:d},i({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:u().string},n.Z=o},4397:function(p,n,e){var t=e(32735),s=e(60216),a=e.n(s),u=e(67879),c=e(68465),E=e(84967),o=e(20108),m=e(8471),i=e(27169),d=e(24989);const r=m.F4`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,M=m.ZP.div`
10
+ animation: ${r} 2s infinite linear;
11
+ `,_=()=>t.createElement(M,null,t.createElement(i.Z,null)),D=async()=>{const{get:h}=(0,d.tg)(),{data:A}=await h("/admin/roles");return A.data},l=({disabled:h,error:A,onChange:x,value:z})=>{const{status:F,data:$}=(0,o.useQuery)(["roles"],D,{staleTime:5e4}),{formatMessage:I}=(0,u.Z)(),U=A?I({id:A,defaultMessage:A}):"",ae=I({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),ne=I({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),G=I({id:"app.components.Select.placeholder",defaultMessage:"Select"}),X=F==="loading"?t.createElement(_,null):void 0;return t.createElement(c.P,{id:"roles",disabled:h,error:U,hint:ne,label:ae,name:"roles",onChange:C=>{x({target:{name:"roles",value:C}})},placeholder:G,multi:!0,startIcon:X,value:z.map(C=>C.toString()),withTags:!0,required:!0},($||[]).map(C=>t.createElement(E.W,{key:C.id,value:C.id.toString()},I({id:`global.${C.code}`,defaultMessage:C.name}))))};l.defaultProps={disabled:!1,error:void 0},l.propTypes={disabled:a().bool,error:a().string,onChange:a().func.isRequired,value:a().array.isRequired},n.Z=l},99724:function(p,n,e){var t=e(32735),s=e(67879),a=e(60216),u=e.n(a),c=e(87933),E=e(63919),o=e(99140),m=e(41415),i=e(69932),d=e(7961),r=e(36866),M=e.n(r),_=e(58414);const D=({onClick:l})=>{const{formatMessage:h}=(0,s.Z)(),{license:A}=(0,_.q5)(),{permittedSeats:x,shouldStopCreate:z}=A?.data??{};return t.createElement(c.k,{gap:2},!M()(x)&&z&&t.createElement(E.u,{description:h({id:"Settings.application.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"}),position:"left"},t.createElement(o.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:i.Z})),t.createElement(m.z,{"data-testid":"create-user-button",onClick:l,startIcon:t.createElement(d.Z,null),size:"S",disabled:z},h({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};D.propTypes={onClick:u().func.isRequired},n.Z=D},64746:function(p,n,e){var t=e(60509);const s=window.strapi.features.isEnabled(window.strapi.features.SSO)?{useSSORegistration:!0}:{},a={...t.Z,...s};n.Z=a},43116:function(p,n){const e=window.strapi.features.isEnabled(window.strapi.features.SSO)?[[{intlLabel:{id:"Settings.permissions.users.form.sso",defaultMessage:"Connect with SSO"},hint:{id:"Settings.permissions.users.form.sso.description",defaultMessage:"When enabled (ON), users can login via SSO"},name:"useSSORegistration",type:"bool",size:{col:6,xs:12}}]]:[];n.Z=e},28890:function(p,n,e){var t=e(32735),s=e(67879),a=e(60216),u=e.n(a),c=e(78246),E=e(76779);const o=({registrationToken:m})=>{const{formatMessage:i}=(0,s.Z)();return m?t.createElement(E.Z,{target:`${window.location.origin}${c.Z}auth/register?registrationToken=${m}`},i({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(E.Z,{target:`${window.location.origin}${c.Z}auth/login`},i({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:u().string},n.Z=o},11299:function(p,n,e){e.d(n,{$:function(){return i},O:function(){return d}});var t=e(74512),s=e(77277),a=e(8471),u=e(3685),c=e(87933),E=e(72850),o=e(49372);const m=(0,a.ZP)(c.k)`
12
+ svg {
13
+ height: ${10/16}rem;
14
+ width: ${10/16}rem;
15
+ path {
16
+ fill: ${({theme:r})=>r.colors.neutral500};
17
+ }
18
+ }
19
+ :last-of-type ${E.x} {
20
+ display: none;
21
+ }
22
+ :last-of-type ${o.Z} {
23
+ color: ${({theme:r})=>r.colors.neutral800};
24
+ font-weight: ${({theme:r})=>r.fontWeights.bold};
25
+ }
26
+ `,i=({children:r})=>(0,t.jsxs)(m,{inline:!0,as:"li",children:[(0,t.jsx)(o.Z,{variant:"pi",textColor:"neutral600",children:r}),(0,t.jsx)(E.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,t.jsx)(s.Z,{})})]});i.displayName="Crumb";const d=({children:r,label:M,..._})=>(0,t.jsxs)(c.k,{..._,children:[(0,t.jsx)(u.T,{children:M}),(0,t.jsx)("ol",{"aria-hidden":!0,children:r})]});d.displayName="Breadcrumbs"},99223:function(p,n,e){e.d(n,{Z:function(){return i}});var t=e(74512),s=e(32735),a=e(60216),u=e(8471),c=e(87933),E=e(72850);const o=(0,u.ZP)(c.k)`
27
+ & > * + * {
28
+ margin-left: ${({theme:d})=>d.spaces[2]};
29
+ }
30
+
31
+ margin-left: ${({pullRight:d})=>d?"auto":void 0};
32
+ `,m=(0,u.ZP)(o)`
33
+ flex-shrink: 0;
34
+ `,i=({startActions:d,endActions:r})=>d||r?(0,t.jsx)(E.x,{paddingLeft:10,paddingRight:10,children:(0,t.jsx)(E.x,{paddingBottom:4,children:(0,t.jsxs)(c.k,{justifyContent:"space-between",alignItems:"flex-start",children:[d&&(0,t.jsx)(o,{wrap:"wrap",children:d}),r&&(0,t.jsx)(m,{pullRight:!0,children:r})]})})}):null;i.defaultProps={endActions:void 0,startActions:void 0},i.propTypes={endActions:a.node,startActions:a.node}},7961:function(p,n,e){e.d(n,{Z:function(){return a}});var t=e(74512);const s=u=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...u,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"})]}),a=s}}]);
@@ -0,0 +1,129 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{19150:function(b,P,t){t.d(P,{R:function(){return M}});var e=t(20108),o=t(24989),p=t(33348);function M(m={},h={}){const{id:v="",...L}=m,y=(0,p.stringify)(L,{encode:!1}),{get:f}=(0,o.kY)(),{data:u,isError:n,isLoading:A,refetch:R}=(0,e.useQuery)(["users",v,L],async()=>{const{data:{data:x}}=await f(`/admin/users/${v}${y?`?${y}`:""}`);return x},h);let j=[];return v&&u?j=[u]:Array.isArray(u?.results)&&(j=u.results),{users:j,pagination:u?.pagination??null,isLoading:A,isError:n,refetch:R}}},83196:function(b,P,t){var e=t(32735),o=t(60216),p=t.n(o),M=t(67879),m=t(72850),h=t(41415),v=t(5644),L=t(24989);const y=({displayedFilters:f})=>{const[u,n]=(0,e.useState)(!1),{formatMessage:A}=(0,M.Z)(),R=(0,e.useRef)(),j=()=>{n(x=>!x)};return e.createElement(e.Fragment,null,e.createElement(m.x,{paddingTop:1,paddingBottom:1},e.createElement(h.z,{variant:"tertiary",ref:R,startIcon:e.createElement(v.Z,null),onClick:j,size:"S"},A({id:"app.utils.filters",defaultMessage:"Filters"})),u&&e.createElement(L.J5,{displayedFilters:f,isVisible:u,onToggle:j,source:R})),e.createElement(L.W$,{filtersSchema:f}))};y.propTypes={displayedFilters:p().arrayOf(p().shape({name:p().string.isRequired,metadatas:p().shape({label:p().string}),fieldSchema:p().shape({type:p().string})})).isRequired},P.Z=y},71765:function(b,P,t){t.r(P),t.d(P,{default:function(){return oe}});var e=t(32735),o=t(24989),p=t(83983),M=t(67879),m=t(96709),h=t(17e3),v=t(72850),L=t(27649),y=t(82055),f=t(99223),u=t(60216),n=t.n(u),A=t(35658),R=t(94547),j=t(19786),x=t(49372),S=t(87933),re=t(50563),ie=t(54894),X=t(96315),G=()=>{const{formatDate:s}=(0,M.Z)();return c=>{const l=(0,X.Z)(c),E=s(l,{dateStyle:"long"}),r=s(l,{timeStyle:"medium",hourCycle:"h24"});return`${E}, ${r}`}};const w={"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=s=>w[s]||s,V=({headers:s,rows:g,onOpenModal:c})=>{const{formatMessage:l}=(0,M.Z)(),E=G(),r=({type:d,value:i,model:D})=>d==="date"?E(i):d==="action"?l({id:`Settings.permissions.auditLogs.${i}`,defaultMessage:Z(i)},{model:D}):i||"-";return e.createElement(A.p,null,g.map(d=>e.createElement(R.Tr,{key:d.id,...(0,o.X7)({fn:()=>c(d.id)})},s.map(({key:i,name:D,cellFormatter:C})=>e.createElement(j.Td,{key:i},e.createElement(x.Z,{textColor:"neutral800"},r({type:i,value:C?C(d[D]):d[D],model:d.payload?.model})))),e.createElement(j.Td,{...o.UW},e.createElement(S.k,{justifyContent:"end"},e.createElement(re.h,{onClick:()=>c(d.id),"aria-label":l({id:"app.component.table.view",defaultMessage:"{target} details"},{target:`${d.action} action`}),noBorder:!0,icon:e.createElement(ie.Z,null)}))))))};V.defaultProps={rows:[]},V.propTypes={headers:n().array.isRequired,rows:n().array,onOpenModal:n().func.isRequired};var le=V,de=[{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:s=>s?s.displayName:""}];const U=({pagination:s})=>e.createElement(v.x,{paddingTop:4},e.createElement(S.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(o.v4,null),e.createElement(o.tU,{pagination:s})));U.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},U.propTypes={pagination:n().shape({page:n().number,pageCount:n().number,pageSize:n().number,total:n().number})};var a=U,O=t(20108),_=t(85025),Q=t(55225),W=t(11299),N=t(31600),ue=t(23866),ce=t(15335),me=t(88807);const K=({actionLabel:s,actionName:g})=>e.createElement(S.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(x.Z,{textColor:"neutral600",variant:"sigma"},s),e.createElement(x.Z,{textColor:"neutral600"},g));K.propTypes={actionLabel:n().string.isRequired,actionName:n().string.isRequired};var B=K;const H=({status:s,data:g,formattedDate:c})=>{const{formatMessage:l}=(0,M.Z)();if(s==="loading")return e.createElement(S.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(ue.a,null,"Loading content..."));const{action:E,user:r,payload:d}=g;return e.createElement(e.Fragment,null,e.createElement(v.x,{marginBottom:3},e.createElement(x.Z,{variant:"delta",id:"title"},l({id:"Settings.permissions.auditLogs.details",defaultMessage:"Log Details"}))),e.createElement(ce.r,{gap:4,gridCols:2,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:6,marginBottom:4,background:"neutral100",hasRadius:!0},e.createElement(B,{actionLabel:l({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),actionName:l({id:`Settings.permissions.auditLogs.${E}`,defaultMessage:Z(E)},{model:d?.model})}),e.createElement(B,{actionLabel:l({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"}),actionName:c}),e.createElement(B,{actionLabel:l({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),actionName:r?.displayName||"-"}),e.createElement(B,{actionLabel:l({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:r?.id.toString()||"-"})),e.createElement(me.V,{value:JSON.stringify(d,null,2),disabled:!0,label:l({id:"Settings.permissions.auditLogs.payload",defaultMessage:"Payload"})}))};H.defaultProps={data:{}},H.propTypes={status:n().oneOf(["idle","loading","error","success"]).isRequired,data:n().shape({action:n().string,date:n().string,payload:n().object,user:n().object}),formattedDate:n().string.isRequired};var ge=H;const k=({handleClose:s,logId:g})=>{const{get:c}=(0,o.kY)(),l=(0,o.lm)(),E=async C=>{const{data:$}=await c(`/admin/audit-logs/${C}`);if(!$)throw new Error("Audit log not found");return $},{data:r,status:d}=(0,O.useQuery)(["audit-log",g],()=>E(g),{onError(){l({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),s()}}),i=G(),D=r?i(r.date):"";return e.createElement(_.P,{onClose:s,labelledBy:"title"},e.createElement(Q.x,null,e.createElement(W.O,{label:D,id:"title"},e.createElement(W.$,null,D))),e.createElement(N.f,null,e.createElement(ge,{status:d,data:r,formattedDate:D})))};k.propTypes={handleClose:n().func.isRequired,logId:n().string.isRequired};var pe=k,he=t(83196),Ee=t(21428),z=t(90333);const J=({value:s,options:g,onChange:c})=>{const{formatMessage:l}=(0,M.Z)(),E=l({id:"Settings.permissions.auditLogs.filter.aria-label",defaultMessage:"Search and select an option to filter"});return e.createElement(Ee.hQ,{"aria-label":E,value:s,onChange:c},g.map(({label:r,customValue:d})=>e.createElement(z.O,{key:d,value:d},r)))};J.defaultProps={value:null},J.propTypes={value:n().string,options:n().arrayOf(n().shape({label:n().string.isRequired,customValue:n().string.isRequired}).isRequired).isRequired,onChange:n().func.isRequired};var q=J;const Y=[{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$eq",defaultMessage:"is"},value:"$eq"},{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$ne",defaultMessage:"is not"},value:"$ne"}];var te=({formatMessage:s,users:g,canReadUsers:c})=>{const l=Object.keys(w).map(r=>({label:s({id:`Settings.permissions.auditLogs.${r}`,defaultMessage:Z(r)},{model:void 0}),customValue:r})),E=[{name:"action",metadatas:{customOperators:Y,label:s({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),options:l,customInput:q},fieldSchema:{type:"enumeration"}},{name:"date",metadatas:{label:s({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"})},fieldSchema:{type:"datetime"}}];if(c&&g){const r=i=>i.username?i.username:i.firstname&&i.lastname?s({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:i.firstname,lastname:i.lastname}):i.email,d=g.map(i=>({label:r(i),customValue:i.id.toString()}));return[...E,{name:"user",metadatas:{customOperators:Y,label:s({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),options:d,customInput:q},fieldSchema:{type:"relation",mainField:{name:"id"}}}]}return E},fe=t(53038),ae=t(19150),se=({canReadAuditLogs:s,canReadUsers:g})=>{const{get:c}=(0,o.kY)(),{search:l}=(0,fe.TH)(),E=(0,o.lm)(),r={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:I=>E({type:"warning",message:I.message})},{users:d,isError:i,isLoading:D}=(0,ae.R)({},{...r,enabled:g,staleTime:2*(1e3*60)}),{data:C,isLoading:$,isError:F}=(0,O.useQuery)(["auditLogs",l],async({queryKey:I})=>{const Me=I[1],{data:Le}=await c(`/admin/audit-logs${Me}`);return Le},{...r,enabled:s});return{auditLogs:C,users:d,isLoading:D||$,hasError:F||i}};const ve={...p.Z.settings.auditLogs,readUsers:p.Z.settings.users.read};var ne=()=>{const{formatMessage:s}=(0,M.Z)(),{allowedActions:{canRead:g,canReadUsers:c}}=(0,o.ss)(ve),[{query:l},E]=(0,o.Kx)(),{auditLogs:r,users:d,isLoading:i,hasError:D}=se({canReadAuditLogs:g,canReadUsers:c});(0,o.go)();const C=te({formatMessage:s,users:d,canReadUsers:c}),$=s({id:"global.auditLogs",defaultMessage:"Audit Logs"}),F=de.map(I=>({...I,metadatas:{...I.metadatas,label:s(I.metadatas.label)}}));return D?e.createElement(m.A,null,e.createElement(h.D,null,e.createElement(v.x,{paddingTop:8},e.createElement(o.Hn,null)))):e.createElement(L.o,{"aria-busy":i},e.createElement(o.SL,{name:$}),e.createElement(y.T,{title:$,subtitle:s({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(f.Z,{startActions:e.createElement(he.Z,{displayedFilters:C})}),e.createElement(h.D,{canRead:g},e.createElement(o.tM,{contentType:"Audit logs",headers:F,rows:r?.results||[],withBulkActions:!0,isLoading:i},e.createElement(le,{headers:F,rows:r?.results||[],onOpenModal:I=>E({id:I})})),e.createElement(a,{pagination:r?.pagination})),l?.id&&e.createElement(pe,{handleClose:()=>E({id:null},"remove"),logId:l.id}))},oe=()=>e.createElement(o.O4,{permissions:p.Z.settings.auditLogs.main},e.createElement(ne,null))},11299:function(b,P,t){t.d(P,{$:function(){return y},O:function(){return f}});var e=t(74512),o=t(77277),p=t(8471),M=t(3685),m=t(87933),h=t(72850),v=t(49372);const L=(0,p.ZP)(m.k)`
2
+ svg {
3
+ height: ${10/16}rem;
4
+ width: ${10/16}rem;
5
+ path {
6
+ fill: ${({theme:u})=>u.colors.neutral500};
7
+ }
8
+ }
9
+ :last-of-type ${h.x} {
10
+ display: none;
11
+ }
12
+ :last-of-type ${v.Z} {
13
+ color: ${({theme:u})=>u.colors.neutral800};
14
+ font-weight: ${({theme:u})=>u.fontWeights.bold};
15
+ }
16
+ `,y=({children:u})=>(0,e.jsxs)(L,{inline:!0,as:"li",children:[(0,e.jsx)(v.Z,{variant:"pi",textColor:"neutral600",children:u}),(0,e.jsx)(h.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(o.Z,{})})]});y.displayName="Crumb";const f=({children:u,label:n,...A})=>(0,e.jsxs)(m.k,{...A,children:[(0,e.jsx)(M.T,{children:n}),(0,e.jsx)("ol",{"aria-hidden":!0,children:u})]});f.displayName="Breadcrumbs"},21428:function(b,P,t){t.d(P,{Wx:function(){return de},XU:function(){return Pe},hQ:function(){return X}});var e=t(74512),o=t(32735),p=t(35331),M=t(16899),m=t(42345),h=t(8471),v=t(14268),L=t(95976),y=t(74971),f=t(36971),u=t(30350),n=t(23866),A=t(72850),R=t(49372),j=t(87107),x=t(87933),S=t(28847),re=t(67014),ie=t(47851);const X=({children:a,clearLabel:O="clear",creatable:_=!1,createMessage:Q=s=>`Create "${s}"`,defaultFilterValue:W,defaultTextValue:N,defaultOpen:ue=!1,open:ce,onOpenChange:me,disabled:K=!1,error:B,filterValue:H,hasMoreItems:ge=!1,hint:k,id:pe,label:he,labelAction:Ee,loading:z=!1,loadingMessage:J="Loading content...",noOptionsMessage:q=()=>"No results found",onChange:Y,onClear:ee,onCreateOption:te,onFilterValueChange:fe,onInputChange:ae,onTextValueChange:xe,onLoadMore:se,placeholder:ve="Select or enter a value",required:ye=!1,startIcon:ne,textValue:Oe,value:oe})=>{const[s,g]=(0,L.T)({prop:ce,defaultProp:ue,onChange:me}),[c,l]=(0,L.T)({prop:Oe,defaultProp:N,onChange:xe}),[E,r]=(0,L.T)({prop:H,defaultProp:W,onChange:fe}),d=o.useRef(null),i=o.useRef(null),D=o.useRef(null),C=(0,y.M)(pe),$=T=>{ee&&!K&&(l(""),r(""),ee(T),i.current.focus())},F=T=>{g(T)},I=T=>{l(T)},Me=T=>{r(T)},Le=T=>{ae&&ae(T)},Re=T=>{Y&&Y(T)},Ae=(0,y.M)(),Ce=`intersection-${(0,v.B)(Ae)}`,je=T=>{se&&ge&&!z&&se(T)},Te=()=>{te&&c&&te(c)};(0,f.s)(d,je,{selectorToWatch:`#${Ce}`,skipWhen:!s});const Ie=`${C}-hint`,$e=`${C}-error`;return(0,e.jsx)(j.g,{hint:k,error:B,id:C,required:ye,children:(0,e.jsxs)(x.k,{direction:"column",alignItems:"stretch",gap:1,children:[(0,e.jsx)(S.Q,{action:Ee,children:he}),(0,e.jsxs)(m.hQ.Root,{autocomplete:_?"list":"both",open:s,onOpenChange:F,onTextValueChange:I,textValue:c,allowCustomValue:!0,disabled:K,required:ye,value:oe===null?void 0:oe,onValueChange:Re,filterValue:E,onFilterValueChange:Me,children:[(0,e.jsxs)(w,{$hasError:!!B,children:[(0,e.jsxs)(x.k,{flex:"1",as:"span",gap:3,children:[ne?(0,e.jsx)(A.x,{as:"span","aria-hidden":!0,children:ne}):null,(0,e.jsx)(Z,{placeholder:ve,id:C,"aria-invalid":!!B,"aria-labelledby":`${Ie} ${$e}`,onChange:Le,ref:i})]}),(0,e.jsxs)(x.k,{as:"span",gap:3,children:[c&&ee?(0,e.jsx)(G,{as:"button",hasRadius:!0,background:"transparent",type:"button",onClick:$,"aria-disabled":K,"aria-label":O,title:O,ref:D,children:(0,e.jsx)(p.Z,{})}):null,(0,e.jsx)(V,{children:(0,e.jsx)(M.Z,{})})]})]}),(0,e.jsx)(m.hQ.Portal,{children:(0,e.jsx)(le,{sideOffset:4,children:(0,e.jsxs)(De,{ref:d,children:[a,_?(0,e.jsx)(m.hQ.CreateItem,{onPointerUp:Te,onClick:Te,asChild:!0,children:(0,e.jsx)(U,{children:(0,e.jsx)(R.Z,{children:Q(c??"")})})}):null,!_&&!z?(0,e.jsx)(m.hQ.NoValueFound,{asChild:!0,children:(0,e.jsx)(U,{$hasHover:!1,children:(0,e.jsx)(R.Z,{children:q(c??"")})})}):null,z?(0,e.jsx)(x.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2,children:(0,e.jsx)(n.a,{small:!0,children:J})}):null,(0,e.jsx)(A.x,{id:Ce,width:"100%",height:"1px"})]})})})]}),(0,e.jsx)(re.J,{}),(0,e.jsx)(ie.c,{})]})})},Pe=a=>(0,e.jsx)(X,{...a,creatable:!0}),G=(0,h.ZP)(A.x)`
17
+ border: none;
18
+
19
+ svg {
20
+ height: ${11/16}rem;
21
+ width: ${11/16}rem;
22
+ }
23
+
24
+ svg path {
25
+ fill: ${({theme:a})=>a.colors.neutral600};
26
+ }
27
+ `,w=(0,h.ZP)(m.hQ.Trigger)`
28
+ position: relative;
29
+ border: 1px solid ${({theme:a,$hasError:O})=>O?a.colors.danger600:a.colors.neutral200};
30
+ padding-right: ${({theme:a})=>a.spaces[3]};
31
+ padding-left: ${({theme:a})=>a.spaces[3]};
32
+ border-radius: ${({theme:a})=>a.borderRadius};
33
+ background: ${({theme:a})=>a.colors.neutral0};
34
+ overflow: hidden;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: space-between;
38
+ gap: ${({theme:a})=>a.spaces[4]};
39
+
40
+ &[data-disabled] {
41
+ color: ${({theme:a})=>a.colors.neutral600};
42
+ background: ${({theme:a})=>a.colors.neutral150};
43
+ cursor: not-allowed;
44
+ }
45
+
46
+ /* Required to ensure the below inputFocusStyles are adhered too */
47
+ &:focus-visible {
48
+ outline: none;
49
+ }
50
+
51
+ ${({theme:a,$hasError:O})=>(0,u.k3)()({theme:a,hasError:O})};
52
+ `,Z=(0,h.ZP)(m.hQ.TextInput)`
53
+ width: 100%;
54
+ font-size: ${14/16}rem;
55
+ color: ${({theme:a})=>a.colors.neutral800};
56
+ min-height: ${40/16}rem;
57
+ border: none;
58
+ background-color: transparent;
59
+
60
+ &:focus-visible {
61
+ outline: none;
62
+ }
63
+
64
+ &[aria-disabled='true'] {
65
+ cursor: inherit;
66
+ }
67
+ `,V=(0,h.ZP)(m.hQ.Icon)`
68
+ & > svg {
69
+ width: ${6/16}rem;
70
+
71
+ & > path {
72
+ fill: ${({theme:a})=>a.colors.neutral600};
73
+ }
74
+ }
75
+
76
+ &[aria-disabled='true'] {
77
+ cursor: inherit;
78
+ }
79
+ `,le=(0,h.ZP)(m.hQ.Content)`
80
+ background: ${({theme:a})=>a.colors.neutral0};
81
+ box-shadow: ${({theme:a})=>a.shadows.filterShadow};
82
+ border: 1px solid ${({theme:a})=>a.colors.neutral150};
83
+ border-radius: ${({theme:a})=>a.borderRadius};
84
+ width: var(--radix-combobox-trigger-width);
85
+ /* This is from the design-system figma file. */
86
+ max-height: 15rem;
87
+ z-index: ${({theme:a})=>a.zIndices[1]};
88
+ `,De=(0,h.ZP)(m.hQ.Viewport)`
89
+ padding: ${({theme:a})=>a.spaces[1]};
90
+ `,de=o.forwardRef(({children:a,value:O,disabled:_,textValue:Q,...W},N)=>(0,e.jsx)(m.hQ.ComboboxItem,{asChild:!0,value:O,disabled:_,textValue:Q,children:(0,e.jsx)(U,{ref:N,...W,children:(0,e.jsx)(m.hQ.ItemText,{asChild:!0,children:(0,e.jsx)(R.Z,{children:a})})})})),U=h.ZP.div`
91
+ width: 100%;
92
+ border: none;
93
+ text-align: left;
94
+ outline-offset: -3px;
95
+ padding: ${({theme:a})=>a.spaces[2]} ${({theme:a})=>a.spaces[4]};
96
+ background-color: ${({theme:a})=>a.colors.neutral0};
97
+ border-radius: ${({theme:a})=>a.borderRadius};
98
+ user-select: none;
99
+
100
+ &[data-selected] {
101
+ background-color: ${({theme:a})=>a.colors.primary100};
102
+
103
+ ${R.Z} {
104
+ color: ${({theme:a})=>a.colors.primary600};
105
+ font-weight: bold;
106
+ }
107
+ }
108
+
109
+ &:hover,
110
+ &[data-highlighted] {
111
+ outline: none;
112
+ background-color: ${({theme:a,$hasHover:O=!0})=>O?a.colors.primary100:a.colors.neutral0};
113
+ }
114
+
115
+ &[data-highlighted] {
116
+ ${R.Z} {
117
+ color: ${({theme:a})=>a.colors.primary600};
118
+ font-weight: bold;
119
+ }
120
+ }
121
+ `},90333:function(b,P,t){t.d(P,{O:function(){return o}});var e=t(21428);const o=e.Wx},99223:function(b,P,t){t.d(P,{Z:function(){return y}});var e=t(74512),o=t(32735),p=t(60216),M=t(8471),m=t(87933),h=t(72850);const v=(0,M.ZP)(m.k)`
122
+ & > * + * {
123
+ margin-left: ${({theme:f})=>f.spaces[2]};
124
+ }
125
+
126
+ margin-left: ${({pullRight:f})=>f?"auto":void 0};
127
+ `,L=(0,M.ZP)(v)`
128
+ flex-shrink: 0;
129
+ `,y=({startActions:f,endActions:u})=>f||u?(0,e.jsx)(h.x,{paddingLeft:10,paddingRight:10,children:(0,e.jsx)(h.x,{paddingBottom:4,children:(0,e.jsxs)(m.k,{justifyContent:"space-between",alignItems:"flex-start",children:[f&&(0,e.jsx)(v,{wrap:"wrap",children:f}),u&&(0,e.jsx)(L,{pullRight:!0,children:u})]})})}):null;y.defaultProps={endActions:void 0,startActions:void 0},y.propTypes={endActions:p.node,startActions:p.node}}}]);