@strapi/admin 4.10.6 → 4.10.7

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 (96) hide show
  1. package/admin/src/hooks/index.js +1 -1
  2. package/admin/src/hooks/useAdminUsers/__mocks__/index.js +5 -0
  3. package/admin/src/hooks/useAdminUsers/index.js +1 -0
  4. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +38 -0
  5. package/admin/src/hooks/useContentTypes/__mocks__/index.js +6 -0
  6. package/admin/src/hooks/useContentTypes/index.js +1 -0
  7. package/admin/src/hooks/useContentTypes/useContentTypes.js +45 -0
  8. package/admin/src/pages/HomePage/index.js +3 -2
  9. package/admin/src/pages/MarketplacePage/components/NpmPackageCard/InstallPluginButton.js +12 -8
  10. package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +28 -26
  11. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +36 -26
  12. package/admin/src/pages/SettingsPage/pages/Users/EditPage/utils/api.js +1 -8
  13. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +6 -7
  14. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +54 -63
  15. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +11 -9
  16. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +2 -2
  17. package/admin/src/translations/ar.json +684 -1
  18. package/admin/src/translations/en.json +1 -0
  19. package/build/{1657.ca8562dd.chunk.js → 1657.3f2b2c11.chunk.js} +1 -9
  20. package/build/3081.7e9329cb.chunk.js +105 -0
  21. package/build/462.6f8cbd19.chunk.js +71 -0
  22. package/build/5542.64b623c9.chunk.js +63 -0
  23. package/build/5563.79950369.chunk.js +79 -0
  24. package/build/617.1591eeb0.chunk.js +155 -0
  25. package/build/6970.6a329e15.chunk.js +1 -0
  26. package/build/7259.5cc67413.chunk.js +1 -0
  27. package/build/9036.f7ce35cc.chunk.js +211 -0
  28. package/build/{Admin-authenticatedApp.0318dfb3.chunk.js → Admin-authenticatedApp.ad8a8a15.chunk.js} +1 -1
  29. package/build/{Admin_homePage.e15dcf28.chunk.js → Admin_homePage.94dc81b1.chunk.js} +16 -16
  30. package/build/Admin_marketplace.1b0c3d3b.chunk.js +55 -0
  31. package/build/Admin_pluginsPage.a28b96d5.chunk.js +6 -0
  32. package/build/{Admin_profilePage.1687246a.chunk.js → Admin_profilePage.a8fa3a56.chunk.js} +1 -1
  33. package/build/Admin_settingsPage.ee76d19e.chunk.js +79 -0
  34. package/build/admin-app.bd209f08.chunk.js +63 -0
  35. package/build/{admin-edit-roles-page.02c3b136.chunk.js → admin-edit-roles-page.0d12b741.chunk.js} +3 -3
  36. package/build/admin-edit-users.f9ce7844.chunk.js +10 -0
  37. package/build/admin-roles-list.af53b372.chunk.js +23 -0
  38. package/build/admin-users.0fc77b35.chunk.js +26 -0
  39. package/build/ar-json.f530bc3f.chunk.js +1 -0
  40. package/build/audit-logs-settings-page.dc07596e.chunk.js +121 -0
  41. package/build/{content-manager.cd71cb6e.chunk.js → content-manager.70548048.chunk.js} +1 -1
  42. package/build/content-type-builder-list-view.26aab6f3.chunk.js +215 -0
  43. package/build/email-settings-page.63f269ff.chunk.js +11 -0
  44. package/build/{en-json.d965e364.chunk.js → en-json.ba3290b8.chunk.js} +1 -1
  45. package/build/i18n-settings-page.f84c4782.chunk.js +114 -0
  46. package/build/index.html +1 -1
  47. package/build/main.4016f4ad.js +2630 -0
  48. package/build/review-workflows-settings.56cab253.chunk.js +61 -0
  49. package/build/{runtime~main.0201a49b.js → runtime~main.d7e177e4.js} +2 -2
  50. package/build/{sso-settings-page.c9d7c8df.chunk.js → sso-settings-page.265e3d72.chunk.js} +1 -1
  51. package/build/upload-settings.1d187578.chunk.js +14 -0
  52. package/build/upload.bc340679.chunk.js +26 -0
  53. package/build/users-advanced-settings-page.7b4bf63a.chunk.js +9 -0
  54. package/build/users-email-settings-page.035a026c.chunk.js +24 -0
  55. package/build/users-providers-settings-page.6873dce9.chunk.js +29 -0
  56. package/build/{webhook-edit-page.cb2cf1a5.chunk.js → webhook-edit-page.ddd5963d.chunk.js} +13 -13
  57. package/build/webhook-list-page.0861d3e9.chunk.js +63 -0
  58. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +1 -2
  59. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +36 -28
  60. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +1 -1
  61. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +3 -3
  62. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +32 -21
  63. package/ee/server/services/audit-logs.js +5 -1
  64. package/package.json +16 -17
  65. package/webpack.alias.js +0 -1
  66. package/admin/src/hooks/useModels/index.js +0 -58
  67. package/admin/src/hooks/useModels/reducer.js +0 -45
  68. package/admin/src/pages/SettingsPage/pages/Users/ListPage/utils/api.js +0 -20
  69. package/build/3081.c2cdfac8.chunk.js +0 -108
  70. package/build/3816.60f858cf.chunk.js +0 -211
  71. package/build/462.a073ff1f.chunk.js +0 -71
  72. package/build/5542.002522eb.chunk.js +0 -71
  73. package/build/5563.2c8334ef.chunk.js +0 -79
  74. package/build/617.87b2fe96.chunk.js +0 -155
  75. package/build/6970.36d3ffff.chunk.js +0 -1
  76. package/build/7259.116a9960.chunk.js +0 -1
  77. package/build/Admin_marketplace.f446ba2b.chunk.js +0 -55
  78. package/build/Admin_pluginsPage.7df6b5a9.chunk.js +0 -6
  79. package/build/Admin_settingsPage.f8c46a9a.chunk.js +0 -79
  80. package/build/admin-app.6d48536c.chunk.js +0 -63
  81. package/build/admin-edit-users.49363035.chunk.js +0 -10
  82. package/build/admin-roles-list.a323aa9f.chunk.js +0 -31
  83. package/build/admin-users.69f4900a.chunk.js +0 -34
  84. package/build/ar-json.39e54aba.chunk.js +0 -1
  85. package/build/audit-logs-settings-page.482909d7.chunk.js +0 -129
  86. package/build/content-type-builder-list-view.1e821eb9.chunk.js +0 -215
  87. package/build/email-settings-page.dba83275.chunk.js +0 -11
  88. package/build/i18n-settings-page.55628f74.chunk.js +0 -114
  89. package/build/main.adab8b96.js +0 -2630
  90. package/build/review-workflows-settings.26409ce4.chunk.js +0 -61
  91. package/build/upload-settings.63d99bf5.chunk.js +0 -14
  92. package/build/upload.c50d8c7a.chunk.js +0 -34
  93. package/build/users-advanced-settings-page.4f49ca57.chunk.js +0 -9
  94. package/build/users-email-settings-page.d2429d0a.chunk.js +0 -24
  95. package/build/users-providers-settings-page.50c5ba27.chunk.js +0 -29
  96. package/build/webhook-list-page.e2fca9f8.chunk.js +0 -71
@@ -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}}]);
@@ -0,0 +1,23 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{67249:function(N,M,t){t.r(M),t.d(M,{default:function(){return me}});var e=t(32735),n=t(24989),f=t(83983),x=t(47765),O=t(68625),W=t(4038),j=t(19406),B=t(27649),U=t(82055),g=t(41415),S=t(99223),F=t(17e3),Q=t(56755),z=t(73269),X=t(33827),k=t(94547),v=t(19786),P=t(49372),G=t(3685),J=t(35658),Y=t(33795),w=t.n(Y),I=t(67879),q=t(53038),_=t(32308),ee=()=>"todo empty role",te=t(60216),L=t.n(te),ne=t(87933),le=t(72850),se=t(50563);const K=({id:a,name:o,description:l,usersCount:E,icons:r,rowIndex:u,canUpdate:h})=>{const{formatMessage:C}=(0,I.Z)(),[,i]=r,R=C({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:E});return e.createElement(k.Tr,{"aria-rowindex":u,key:a,...h?(0,n.X7)({fn:i.onClick}):{}},e.createElement(v.Td,{maxWidth:(0,n.Q1)(130)},e.createElement(P.Z,{ellipsis:!0,textColor:"neutral800"},o)),e.createElement(v.Td,{maxWidth:(0,n.Q1)(250)},e.createElement(P.Z,{ellipsis:!0,textColor:"neutral800"},l)),e.createElement(v.Td,null,e.createElement(P.Z,{textColor:"neutral800"},R)),e.createElement(v.Td,null,e.createElement(ne.k,{justifyContent:"flex-end",...n.UW},r.map((d,D)=>d?e.createElement(le.x,{key:d.label,paddingLeft:D===0?0:1},e.createElement(se.h,{onClick:d.onClick,label:d.label,noBorder:!0,icon:d.icon})):null))))};K.propTypes={id:L().number.isRequired,name:L().string.isRequired,description:L().string.isRequired,usersCount:L().number.isRequired,icons:L().array.isRequired,rowIndex:L().number.isRequired,canUpdate:L().bool},K.defaultProps={canUpdate:!1};var ae=K,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(a,o)=>(0,oe.ZP)(a,l=>{switch(o.type){case"ON_REMOVE_ROLES":{l.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{l.shouldRefetchData=!0,l.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{l.shouldRefetchData=!1,l.roleToDelete=null,l.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{l.roleToDelete=o.id;break}default:return l}});const de=()=>{(0,n.go)();const{locale:a}=(0,I.Z)(),{isLoading:o,allowedActions:{canCreate:l,canDelete:E,canRead:r,canUpdate:u}}=(0,n.ss)(f.Z.settings.roles),{getData:h,roles:C,isLoading:i}=(0,_.bF)(!1),[{query:R}]=(0,n.Kx)(),d=R?._q||"",{includes:D}=(0,n.L0)(a,{sensitivity:"base"}),T=(0,n.Xe)(a,{sensitivity:"base"}),A=(C||[]).filter(p=>D(p.name,d)||D(p.description,d)).sort((p,y)=>T.compare(p.name,y.name)||T.compare(p.description,y.description));return(0,e.useEffect)(()=>{!o&&r&&h()},[o,r,h]),{isLoadingForPermissions:o,canCreate:l,canDelete:E,canRead:r,canUpdate:u,isLoading:i,getData:h,sortedRoles:A,roles:C}},ce=({getData:a,canCreate:o,canDelete:l,canUpdate:E})=>{const{formatMessage:r}=(0,I.Z)(),u=(0,n.lm)(),[h,C]=(0,e.useState)(!1),{push:i}=(0,q.k6)(),[{selectedRoles:R,showModalConfirmButtonLoading:d,roleToDelete:D},T]=(0,e.useReducer)(ie,re),{post:A}=(0,n.tg)(),p=async()=>{try{T({type:"ON_REMOVE_ROLES"}),await A("/admin/roles/batch-delete",{ids:[D]}),await a(),T({type:"RESET_DATA_TO_DELETE"})}catch(s){const c=w()(s,["response","payload","data","ids"],null);if(c&&Array.isArray(c)){const Ee=c.join(`
2
+ `);u({type:"warning",message:Ee})}else u({type:"warning",message:{id:"notification.error"}})}m()},y=(0,e.useCallback)(s=>{i(`/settings/roles/duplicate/${s}`)},[i]),$=()=>i("/settings/roles/new"),Z=(0,e.useCallback)(s=>{T({type:"SET_ROLE_TO_DELETE",id:s}),m()},[]),m=()=>C(s=>!s),b=(0,e.useCallback)(s=>{i(`/settings/roles/${s}`)},[i]),V=(0,e.useCallback)((s,c)=>{s.preventDefault(),s.stopPropagation(),c.usersCount?u({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):Z(c.id)},[u,Z]),H=(0,e.useCallback)((s,c)=>{s.preventDefault(),s.stopPropagation(),y(c.id)},[y]),ge=(0,e.useCallback)(s=>[...o?[{onClick:c=>H(c,s),label:r({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(x.Z,null)}]:[],...E?[{onClick:()=>b(s.id),label:r({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(O.Z,null)}]:[],...l?[{onClick:c=>V(c,s),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(W.Z,null)}]:[]],[r,V,H,b,o,E,l]);return{handleNewRoleClick:$,getIcons:ge,selectedRoles:R,isWarningDeleteAllOpened:h,showModalConfirmButtonLoading:d,handleToggleModal:m,handleDeleteData:p}};var ue=()=>{const{formatMessage:a}=(0,I.Z)(),{isLoadingForPermissions:o,canCreate:l,canRead:E,canDelete:r,canUpdate:u,isLoading:h,getData:C,sortedRoles:i}=de(),{handleNewRoleClick:R,getIcons:d,isWarningDeleteAllOpened:D,showModalConfirmButtonLoading:T,handleToggleModal:A,handleDeleteData:p}=ce({getData:C,canCreate:l,canDelete:r,canUpdate:u}),y=i.length+1,$=6;if(o)return e.createElement(B.o,null,e.createElement(n.dO,null));const Z=a({id:"global.roles",defaultMessage:"roles"});return e.createElement(B.o,null,e.createElement(n.SL,{name:"Roles"}),e.createElement(U.T,{primaryAction:l?e.createElement(g.z,{onClick:R,startIcon:e.createElement(j.Z,null),size:"S"},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:Z,subtitle:a({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),E&&e.createElement(S.Z,{startActions:e.createElement(n.m,{label:a({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:Z})})}),E&&e.createElement(F.D,null,e.createElement(Q.i,{colCount:$,rowCount:y,footer:l?e.createElement(z.c,{onClick:R,icon:e.createElement(j.Z,null)},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(X.h,null,e.createElement(k.Tr,{"aria-rowindex":1},e.createElement(v.Th,null,e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(v.Th,null,e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.description",defaultMessage:"Description"}))),e.createElement(v.Th,null,e.createElement(P.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.users",defaultMessage:"Users"}))),e.createElement(v.Th,null,e.createElement(G.T,null,a({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(J.p,null,i?.map((m,b)=>e.createElement(ae,{key:m.id,id:m.id,name:m.name,description:m.description,usersCount:m.usersCount,icons:d(m),rowIndex:b+2,canUpdate:u})))),!y&&!h&&e.createElement(ee,null)),e.createElement(n.QH,{isOpen:D,onConfirm:p,isConfirmButtonLoading:T,onToggleDialog:A}))},me=()=>e.createElement(n.O4,{permissions:f.Z.settings.roles.main},e.createElement(ue,null))},99223:function(N,M,t){t.d(M,{Z:function(){return f}});var e=t(74512),n=t(87933);const f=({startActions:x,endActions:O})=>!x&&!O?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:x}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:O})]})},73269:function(N,M,t){t.d(M,{c:function(){return U}});var e=t(74512),n=t(8471),f=t(72850),x=t(9026),O=t(87933),W=t(49372);const j=(0,n.ZP)(f.x)`
3
+ height: ${24/16}rem;
4
+ width: ${24/16}rem;
5
+ border-radius: 50%;
6
+ display: flex;
7
+ justify-content: center;
8
+ align-items: center;
9
+
10
+ svg {
11
+ height: ${10/16}rem;
12
+ width: ${10/16}rem;
13
+ }
14
+
15
+ svg path {
16
+ fill: ${({theme:g})=>g.colors.primary600};
17
+ }
18
+ `,B=(0,n.ZP)(f.x)`
19
+ border-radius: 0 0 ${({theme:g})=>g.borderRadius} ${({theme:g})=>g.borderRadius};
20
+ display: block;
21
+ width: 100%;
22
+ border: none;
23
+ `,U=({children:g,icon:S,...F})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(x.i,{}),(0,e.jsx)(B,{as:"button",background:"primary100",padding:5,...F,children:(0,e.jsxs)(O.k,{children:[(0,e.jsx)(j,{"aria-hidden":!0,background:"primary200",children:S}),(0,e.jsx)(f.x,{paddingLeft:3,children:(0,e.jsx)(W.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:g})})]})})]})}}]);
@@ -0,0 +1,26 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{19150:function(p,n,e){e.d(n,{R:function(){return d}});var t=e(20108),a=e(24989),s=e(33348);function d(i={},u={}){const{id:o="",...c}=i,m=(0,s.stringify)(c,{encode:!1}),{get:E}=(0,a.kY)(),{data:l,isError:M,isLoading:h,refetch:D}=(0,t.useQuery)(["users",o,c],async()=>{const{data:{data:_}}=await E(`/admin/users/${o}${m?`?${m}`:""}`);return _},u);let r=[];return o&&l?r=[l]:Array.isArray(l?.results)&&(r=l.results),{users:r,pagination:l?.pagination??null,isLoading:h,isError:M,refetch:D}}},83119:function(p,n){const e=()=>null;n.Z=e},83196:function(p,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),i=e(72850),u=e(41415),o=e(5644),c=e(24989);const m=({displayedFilters:E})=>{const[l,M]=(0,t.useState)(!1),{formatMessage:h}=(0,d.Z)(),D=(0,t.useRef)(),r=()=>{M(_=>!_)};return t.createElement(t.Fragment,null,t.createElement(i.x,{paddingTop:1,paddingBottom:1},t.createElement(u.z,{variant:"tertiary",ref:D,startIcon:t.createElement(o.Z,null),onClick:r,size:"S"},h({id:"app.utils.filters",defaultMessage:"Filters"})),l&&t.createElement(c.J5,{displayedFilters:E,isVisible:l,onToggle:r,source:D})),t.createElement(c.W$,{filtersSchema:E}))};m.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},n.Z=m},9814:function(p,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),i=e(41415),u=e(7961);const o=({onClick:c})=>{const{formatMessage:m}=(0,a.Z)();return t.createElement(i.z,{onClick:c,startIcon:t.createElement(u.Z,null),size:"S"},m({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};o.propTypes={onClick:d().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),a=e(24989),s=e(83983),d=e(33348),i=e.n(d),u=e(27649),o=e(82055),c=e(99223),m=e(17e3),E=e(53038),l=e(67879),M=e(20108),h=e(19150),D=e(60216),r=e.n(D),_=e(35658),L=e(94547),x=e(19786),z=e(82884),b=e(49372),F=e(87933),R=e(50563),U=e(72850),se=e(68625),ne=e(4038),J=e(8997);const G=({canDelete:f,headers:A,entriesToDelete:y,onClickDelete:$,onSelectRow:k,withMainAction:B,withBulkActions:O,rows:N})=>{const{push:H,location:{pathname:P}}=(0,E.k6)(),{formatMessage:S}=(0,l.Z)();return t.createElement(_.p,null,N.map(g=>{const W=y.findIndex(Z=>Z===g.id)!==-1;return t.createElement(L.Tr,{key:g.id,...(0,a.X7)({fn:()=>H(`${P}/${g.id}`),condition:O})},B&&t.createElement(x.Td,{...a.UW},t.createElement(z.C,{"aria-label":S({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),checked:W,onChange:()=>{k({name:g.id,value:!W})}})),A.map(({key:Z,cellFormatter:j,name:K,...V})=>t.createElement(x.Td,{key:Z},typeof j=="function"?j(g,{key:Z,name:K,formatMessage:S,...V}):t.createElement(b.Z,{textColor:"neutral800"},g[K]||"-"))),O&&t.createElement(x.Td,null,t.createElement(F.k,{justifyContent:"end"},t.createElement(R.h,{onClick:()=>H(`${P}/${g.id}`),label:S({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(se.Z,null)}),f&&t.createElement(U.x,{paddingLeft:1,...a.UW},t.createElement(R.h,{onClick:()=>$(g.id),label:S({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(ne.Z,null)})))))}))};G.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},G.propTypes={canDelete:r().bool,entriesToDelete:r().array,headers:r().array.isRequired,onClickDelete:r().func,onSelectRow:r().func,rows:r().array,withBulkActions:r().bool,withMainAction:r().bool};var C=G,Ee=e(83196),te=e(20011),re=e(41415),ge=e(85025),pe=e(55225),de=e(11299),Me=e(31600),ce=e(15335),le=e(5803),fe=e(11406),Pe=e(92802),ve=e(4397),he=[[{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}]],X=e(24346),De=X.Ry().shape({firstname:X.Z_().trim().required(a.I0.required),lastname:X.Z_(),email:X.Z_().email(a.I0.email).required(a.I0.required),roles:X.IX().min(1,a.I0.required).required(a.I0.required)}),_e={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:A,onToggle:y}=f;const[$,k]=(0,t.useState)("create"),[B,O]=(0,t.useState)(!1),[N,H]=(0,t.useState)(null),{formatMessage:P}=(0,l.Z)(),S=(0,a.lm)(),{lockApp:g,unlockApp:W}=(0,a.o1)(),{post:Z}=(0,a.kY)(),j=(0,M.useMutation)(I=>Z("/admin/users",I),{async onSuccess(I){let{data:Y}=I;H(Y.data.registrationToken),await A(),ae(),O(!1)},onError(I){throw O(!1),S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),I},onSettled(){W()}}),K=P({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),V=async(I,Y)=>{let{setErrors:ee}=Y;g(),O(!0);try{await j.mutateAsync(I)}catch(w){W(),w?.response?.data?.error.message==="Email already taken"&&ee({email:w.response.data.error.message})}},ae=()=>{v?k(v):y()},{buttonSubmitLabel:q,isDisabled:Q,next:v}=_e[$],We=$==="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:V,validationSchema:De,validateOnChange:!1},I=>{let{errors:Y,handleChange:ee,values:w}=I;return t.createElement(a.l0,null,t.createElement(Me.f,null,t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:6},$!=="create"&&t.createElement(Ce,{registrationToken:N}),t.createElement(U.x,null,t.createElement(b.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(F.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(ce.r,{gap:5},he.map(ie=>ie.map(T=>t.createElement(le.P,(0,te.Z)({key:T.name},T.size),t.createElement(a.jm,(0,te.Z)({},T,{disabled:Q,error:Y[T.name],onChange:ee,value:w[T.name]}))))))))),t.createElement(U.x,null,t.createElement(b.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(le.P,{col:6,xs:12},t.createElement(ve.Z,{disabled:Q,error:Y.roles,onChange:ee,value:w.roles})),ye.map(ie=>ie.map(T=>t.createElement(le.P,(0,te.Z)({key:T.name},T.size),t.createElement(a.jm,(0,te.Z)({},T,{disabled:Q,onChange:ee,value:w[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:r().func.isRequired,onSuccess:r().func.isRequired};var Te=me;const oe=({pagination:f})=>t.createElement(U.x,{paddingTop:4},t.createElement(F.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:f})));oe.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},oe.propTypes={pagination:r().shape({page:r().number,pageCount:r().number,pageSize:r().number,total:r().number})};var Le=oe,Ae=[{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"}}],Ie=[{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:A}){return t.createElement(b.Z,{textColor:"neutral800"},f.map(y=>A({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:A}){return t.createElement(F.k,null,t.createElement(a.qb,{isActive:f,variant:f?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},A({id:f?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:f?"Active":"Inactive"})))}}];const Re=(()=>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,a.kY)(),{formatAPIError:A}=(0,a.So)(),[y,$]=(0,t.useState)(!1),{allowedActions:{canCreate:k,canDelete:B,canRead:O}}=(0,a.ss)(s.Z.settings.users),N=(0,M.useQueryClient)(),H=(0,a.lm)(),{formatMessage:P}=(0,l.Z)(),{search:S}=(0,E.TH)();(0,a.go)(),Ue();const{users:g,pagination:W,isError:Z,isLoading:j,refetch:K}=(0,h.R)(i().parse(S,{ignoreQueryPrefix:!0}),{enabled:O}),V=Ie.map(v=>({...v,metadatas:{...v.metadatas,label:P(v.metadatas.label)}})),ae=P({id:"global.users",defaultMessage:"Users"}),q=()=>{$(v=>!v)},Q=(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:A(v),defaultMessage:"An error occured"}})}});return t.createElement(u.o,{"aria-busy":j},t.createElement(a.SL,{name:"Users"}),t.createElement(o.T,{primaryAction:k&&t.createElement(Re,{onClick:q}),title:ae,subtitle:P({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),O&&t.createElement(c.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:P({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:ae})}),t.createElement(Ee.Z,{displayedFilters:Ae}))}),t.createElement(m.D,{canRead:O},!O&&t.createElement(a.ZF,null),Z&&t.createElement("div",null,"TODO: An error occurred"),O&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:j,onConfirmDeleteAll:Q.mutateAsync,onConfirmDelete:v=>Q.mutateAsync([v]),headers:V,rows:g,withBulkActions:!0,withMainAction:B},t.createElement(C,{canDelete:B,headers:V,rows:g,withBulkActions:!0,withMainAction:B})),W&&t.createElement(Le,{pagination:W}))),y&&t.createElement(Te,{onSuccess:async()=>{await K(),await N.refetchQueries(ue)},onToggle:q}))},Se=()=>t.createElement(a.O4,{permissions:s.Z.settings.users.main},t.createElement(Be,null))},76779:function(p,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(50563),i=e(24989),u=e(47765),o=e(67879);const c=({children:m,target:E})=>{const l=(0,i.lm)(),{formatMessage:M}=(0,o.Z)(),{copy:h}=(0,i.VP)(),D=M({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),r=async()=>{await h(E)&&l({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(i.Y_,{endAction:t.createElement(d.h,{label:D,noBorder:!0,icon:t.createElement(u.Z,null),onClick:r}),title:E,titleEllipsis:!0,subtitle:m,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};c.propTypes={children:s().oneOfType([s().element,s().string]).isRequired,target:s().string.isRequired},n.Z=c},16325:function(p,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),i=e(78246),u=e(76779);const o=({registrationToken:c})=>{const{formatMessage:m}=(0,a.Z)(),E=`${window.location.origin}${i.Z}auth/register?registrationToken=${c}`;return t.createElement(u.Z,{target:E},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:d().string},n.Z=o},4397:function(p,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),i=e(68465),u=e(84967),o=e(20108),c=e(8471),m=e(27169),E=e(24989);const l=c.F4`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,M=c.ZP.div`
10
+ animation: ${l} 2s infinite linear;
11
+ `,h=()=>t.createElement(M,null,t.createElement(m.Z,null)),D=async()=>{const{get:_}=(0,E.tg)(),{data:L}=await _("/admin/roles");return L.data},r=({disabled:_,error:L,onChange:x,value:z})=>{const{status:b,data:F}=(0,o.useQuery)(["roles"],D,{staleTime:5e4}),{formatMessage:R}=(0,d.Z)(),U=L?R({id:L,defaultMessage:L}):"",se=R({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),ne=R({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),J=R({id:"app.components.Select.placeholder",defaultMessage:"Select"}),G=b==="loading"?t.createElement(h,null):void 0;return t.createElement(i.P,{id:"roles",disabled:_,error:U,hint:ne,label:se,name:"roles",onChange:C=>{x({target:{name:"roles",value:C}})},placeholder:J,multi:!0,startIcon:G,value:z.map(C=>C.toString()),withTags:!0,required:!0},(F||[]).map(C=>t.createElement(u.W,{key:C.id,value:C.id.toString()},R({id:`global.${C.code}`,defaultMessage:C.name}))))};r.defaultProps={disabled:!1,error:void 0},r.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},n.Z=r},99724:function(p,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),i=e(87933),u=e(63919),o=e(99140),c=e(41415),m=e(69932),E=e(7961),l=e(36866),M=e.n(l),h=e(58414);const D=({onClick:r})=>{const{formatMessage:_}=(0,a.Z)(),{license:L}=(0,h.q5)(),{permittedSeats:x,shouldStopCreate:z}=L?.data??{};return t.createElement(i.k,{gap:2},!M()(x)&&z&&t.createElement(u.u,{description:_({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:m.Z})),t.createElement(c.z,{"data-testid":"create-user-button",onClick:r,startIcon:t.createElement(E.Z,null),size:"S",disabled:z},_({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};D.propTypes={onClick:d().func.isRequired},n.Z=D},64746:function(p,n,e){var t=e(60509);const a=window.strapi.features.isEnabled(window.strapi.features.SSO)?{useSSORegistration:!0}:{},s={...t.Z,...a};n.Z=s},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),a=e(67879),s=e(60216),d=e.n(s),i=e(78246),u=e(76779);const o=({registrationToken:c})=>{const{formatMessage:m}=(0,a.Z)();return c?t.createElement(u.Z,{target:`${window.location.origin}${i.Z}auth/register?registrationToken=${c}`},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(u.Z,{target:`${window.location.origin}${i.Z}auth/login`},m({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:d().string},n.Z=o},11299:function(p,n,e){e.d(n,{$:function(){return m},O:function(){return E}});var t=e(74512),a=e(77277),s=e(8471),d=e(3685),i=e(87933),u=e(72850),o=e(49372);const c=(0,s.ZP)(i.k)`
12
+ svg {
13
+ height: ${10/16}rem;
14
+ width: ${10/16}rem;
15
+ path {
16
+ fill: ${({theme:l})=>l.colors.neutral500};
17
+ }
18
+ }
19
+ :last-of-type ${u.x} {
20
+ display: none;
21
+ }
22
+ :last-of-type ${o.Z} {
23
+ color: ${({theme:l})=>l.colors.neutral800};
24
+ font-weight: ${({theme:l})=>l.fontWeights.bold};
25
+ }
26
+ `,m=({children:l})=>(0,t.jsxs)(c,{inline:!0,as:"li",children:[(0,t.jsx)(o.Z,{variant:"pi",textColor:"neutral600",children:l}),(0,t.jsx)(u.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,t.jsx)(a.Z,{})})]});m.displayName="Crumb";const E=({children:l,label:M,...h})=>(0,t.jsxs)(i.k,{...h,children:[(0,t.jsx)(d.T,{children:M}),(0,t.jsx)("ol",{"aria-hidden":!0,children:l})]});E.displayName="Breadcrumbs"},99223:function(p,n,e){e.d(n,{Z:function(){return s}});var t=e(74512),a=e(87933);const s=({startActions:d,endActions:i})=>!d&&!i?null:(0,t.jsxs)(a.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(a.k,{gap:2,wrap:"wrap",children:d}),(0,t.jsx)(a.k,{gap:2,shrink:0,wrap:"wrap",children:i})]})},7961:function(p,n,e){e.d(n,{Z:function(){return s}});var t=e(74512);const a=d=>(0,t.jsxs)("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:"#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"})]}),s=a}}]);