@strapi/admin 4.10.4 → 4.10.6
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.
- package/admin/src/components/AuthenticatedApp/utils/api.js +5 -4
- package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +1 -2
- package/admin/src/content-manager/components/DynamicZone/index.js +1 -1
- package/admin/src/content-manager/components/FieldComponent/index.js +1 -1
- package/admin/src/content-manager/components/Inputs/index.js +1 -1
- package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +67 -71
- package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +3 -5
- package/admin/src/content-manager/pages/App/useContentManagerInitData.js +2 -3
- package/admin/src/content-manager/pages/ComponentSetttingsView/index.js +2 -5
- package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +1 -1
- package/admin/src/content-manager/pages/EditView/Header/index.js +1 -1
- package/admin/src/content-manager/pages/EditViewLayoutManager/Permissions.js +1 -1
- package/admin/src/content-manager/pages/ListView/index.js +1 -2
- package/admin/src/hooks/marketplace/constants.js +1 -0
- package/admin/src/hooks/{useFetchMarketplacePlugins → marketplace/useFetchMarketplacePlugins}/index.js +21 -1
- package/admin/src/hooks/{useFetchMarketplaceProviders → marketplace/useFetchMarketplaceProviders}/index.js +21 -1
- package/admin/src/hooks/useReleaseNotification/utils/api.js +6 -5
- package/admin/src/pages/Admin/Onboarding/index.js +89 -91
- package/admin/src/pages/App/index.js +1 -5
- package/admin/src/pages/AuthPage/components/Register/index.js +3 -4
- package/admin/src/pages/AuthPage/index.js +11 -26
- package/admin/src/pages/MarketplacePage/components/NpmPackagesFilters/FiltersPopover.js +39 -41
- package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +2 -2
- package/admin/src/pages/SettingsPage/components/Tokens/TokenDescription/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +3 -2
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js +1 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +12 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +120 -205
- package/admin/src/pages/UseCasePage/index.js +13 -15
- package/admin/src/translations/en.json +11 -9
- package/build/1387.a86ac314.chunk.js +1 -0
- package/build/{1657.85034334.chunk.js → 1657.ca8562dd.chunk.js} +46 -46
- package/build/{3816.2b58bc1a.chunk.js → 3816.60f858cf.chunk.js} +19 -22
- package/build/{5542.5328b662.chunk.js → 5542.002522eb.chunk.js} +13 -13
- package/build/{5563.44e0ef15.chunk.js → 5563.2c8334ef.chunk.js} +1 -1
- package/build/617.87b2fe96.chunk.js +155 -0
- package/build/{6970.e8422af3.chunk.js → 6970.36d3ffff.chunk.js} +1 -1
- package/build/7259.116a9960.chunk.js +1 -0
- package/build/Admin-authenticatedApp.0318dfb3.chunk.js +79 -0
- package/build/{Admin_marketplace.87f51b29.chunk.js → Admin_marketplace.f446ba2b.chunk.js} +10 -10
- package/build/Admin_settingsPage.f8c46a9a.chunk.js +79 -0
- package/build/admin-app.6d48536c.chunk.js +63 -0
- package/build/{admin-edit-roles-page.6fe9de49.chunk.js → admin-edit-roles-page.02c3b136.chunk.js} +3 -3
- package/build/{admin-users.16bb6e77.chunk.js → admin-users.69f4900a.chunk.js} +11 -11
- package/build/audit-logs-settings-page.482909d7.chunk.js +129 -0
- package/build/{content-manager.a837bfcd.chunk.js → content-manager.cd71cb6e.chunk.js} +95 -95
- package/build/content-type-builder-translation-en-json.af293c9e.chunk.js +1 -0
- package/build/content-type-builder.b10576e7.chunk.js +126 -0
- package/build/{email-settings-page.5bc22e5a.chunk.js → email-settings-page.dba83275.chunk.js} +4 -4
- package/build/en-json.d965e364.chunk.js +1 -0
- package/build/i18n-settings-page.55628f74.chunk.js +114 -0
- package/build/index.html +1 -1
- package/build/main.adab8b96.js +2630 -0
- package/build/{runtime~main.a096f3d0.js → runtime~main.0201a49b.js} +2 -2
- package/build/upload-settings.63d99bf5.chunk.js +14 -0
- package/build/upload.c50d8c7a.chunk.js +34 -0
- package/build/{users-advanced-settings-page.dd2a4954.chunk.js → users-advanced-settings-page.4f49ca57.chunk.js} +3 -3
- package/build/users-email-settings-page.d2429d0a.chunk.js +24 -0
- package/build/users-providers-settings-page.50c5ba27.chunk.js +29 -0
- package/build/{users-roles-settings-page.eeb3a339.chunk.js → users-roles-settings-page.2549794b.chunk.js} +2 -2
- package/build/webhook-edit-page.cb2cf1a5.chunk.js +128 -0
- package/build/webhook-list-page.e2fca9f8.chunk.js +71 -0
- package/ee/LICENSE +1 -21
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +6 -1
- package/ee/admin/pages/AuthPage/components/Login/index.js +1 -1
- package/ee/admin/pages/AuthPage/components/Providers/SSOProviders.js +1 -1
- package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/formDataModel.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/ModalForm/utils/roleSettingsForm.js +1 -1
- package/package.json +13 -15
- package/webpack.alias.js +0 -1
- package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +0 -18
- package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +0 -18
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/utils/formatValue.js +0 -13
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/reducer.js +0 -72
- package/build/1387.437eb420.chunk.js +0 -1
- package/build/617.ce23dea8.chunk.js +0 -155
- package/build/7259.3ed2b60e.chunk.js +0 -1
- package/build/Admin-authenticatedApp.dbb99d34.chunk.js +0 -79
- package/build/Admin_settingsPage.20884a40.chunk.js +0 -79
- package/build/admin-app.d4fd9379.chunk.js +0 -63
- package/build/audit-logs-settings-page.48b921f9.chunk.js +0 -129
- package/build/content-type-builder-translation-en-json.5e5f8607.chunk.js +0 -1
- package/build/content-type-builder.51c64fe5.chunk.js +0 -126
- package/build/en-json.1f6af924.chunk.js +0 -1
- package/build/i18n-settings-page.1581894e.chunk.js +0 -114
- package/build/main.31bdf27e.js +0 -2679
- package/build/upload-settings.4d962053.chunk.js +0 -14
- package/build/upload.4dcd513f.chunk.js +0 -34
- package/build/users-email-settings-page.510648ab.chunk.js +0 -24
- package/build/users-providers-settings-page.0ee7d54f.chunk.js +0 -29
- package/build/webhook-edit-page.36c9f20d.chunk.js +0 -128
- package/build/webhook-list-page.0983d83f.chunk.js +0 -71
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{78834:function(D,g,e){"use strict";e.d(g,{Z:function(){return ut}});var t=e(24346),r=e(24989),n=e(32735),v=e(67879),p=e(60216),m=e.n(p),P=e(27649),A=e(72850),L=e(49372),B=e(87933),I=e(10369),E=e(41415),O=e(92802),y=e(954),b=e(10190);const T=({onSubmit:W,schema:ve})=>{const{formatMessage:se}=(0,v.Z)();return n.createElement(y.ZP,null,n.createElement(P.o,null,n.createElement(y.bU,null,n.createElement(O.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:W,validationSchema:ve,validateOnChange:!1},({values:ne,errors:Le,handleChange:Ne})=>n.createElement(r.l0,{noValidate:!0},n.createElement(y.sg,null,n.createElement(b.Z,null),n.createElement(A.x,{paddingTop:6,paddingBottom:7},n.createElement(L.Z,{as:"h1",variant:"alpha"},se({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),Le.errorMessage&&n.createElement(L.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},se({id:Le.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(B.k,{direction:"column",alignItems:"stretch",gap:6},n.createElement(I.o,{error:Le.email?se({id:Le.email,defaultMessage:"This email is invalid."}):"",value:ne.email,onChange:Ne,label:se({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:se({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),n.createElement(E.z,{type:"submit",fullWidth:!0},se({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),n.createElement(B.k,{justifyContent:"center"},n.createElement(A.x,{paddingTop:4},n.createElement(r.rU,{to:"/auth/login"},se({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};T.defaultProps={onSubmit:W=>W.preventDefault()},T.propTypes={onSubmit:m().func,schema:m().shape({type:m().string.isRequired}).isRequired};var w=T,j=()=>{const{formatMessage:W}=(0,v.Z)();return n.createElement(y.ZP,null,n.createElement(P.o,null,n.createElement(y.bU,null,n.createElement(y.sg,null,n.createElement(b.Z,null),n.createElement(A.x,{paddingTop:6,paddingBottom:7},n.createElement(L.Z,{as:"h1",variant:"alpha"},W({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),n.createElement(L.Z,null,W({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),n.createElement(A.x,{paddingTop:4},n.createElement(L.Z,null,W({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),n.createElement(B.k,{justifyContent:"center"},n.createElement(A.x,{paddingTop:4},n.createElement(r.rU,{to:"/auth/login"},W({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},te=()=>{const{formatMessage:W}=(0,v.Z)(),se=(0,r.aM)().get("info")||W({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return n.createElement(y.ZP,null,n.createElement(P.o,null,n.createElement(y.bU,null,n.createElement(y.sg,null,n.createElement(b.Z,null),n.createElement(A.x,{paddingTop:6,paddingBottom:7},n.createElement(L.Z,{as:"h1",variant:"alpha"},W({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),n.createElement(L.Z,null,se),n.createElement(A.x,{paddingTop:4},n.createElement(L.Z,null,W({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),n.createElement(B.k,{justifyContent:"center"},n.createElement(A.x,{paddingTop:4},n.createElement(r.rU,{to:"/auth/login"},W({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},C=e(8471),h=e(9086),Y=e.n(h),$=e(53038),ae=e(15335),o=e(5803),we=e(8284),oe=e(54894),Ee=e(60492),Re=e(72218);const Ge=C.ZP.a`
|
|
2
|
+
color: ${({theme:W})=>W.colors.primary600};
|
|
3
|
+
`,Ae=(0,C.ZP)(I.o)`
|
|
4
|
+
::-ms-reveal {
|
|
5
|
+
display: none;
|
|
6
|
+
}
|
|
7
|
+
`,Fe=({authType:W,fieldsToDisable:ve,noSignin:se,onSubmit:ne,schema:Le})=>{const Ne=(0,r.lm)(),{push:ie}=(0,$.k6)(),[Ce,me]=(0,n.useState)(!1),[Ke,Me]=(0,n.useState)(!1),[Se,st]=(0,n.useState)(0),[He,Xe]=(0,n.useState)({}),{trackUsage:gt}=(0,r.rS)(),{formatMessage:H}=(0,v.Z)(),ct=(0,r.aM)(),{formatAPIError:dt}=(0,r.So)(),{get:pt}=(0,r.kY)(),Be=ct.get("registrationToken");(0,n.useEffect)(()=>{Be&&(async()=>{try{const{data:{data:z}}=await pt(`/admin/registration-info?registrationToken=${Be}`);z&&Xe(z)}catch(z){const J=dt(z);Ne({type:"warning",message:J}),ie(`/auth/oops?info=${encodeURIComponent(J)}`)}})()},[Be]);function nt(re){return Object.entries(re).reduce((z,[J,pe])=>{let ye=pe;return!["password","confirmPassword"].includes(J)&&typeof pe=="string"&&(ye=ye.trim()),z[J]=ye,z},{})}return n.createElement(y.ZP,null,n.createElement(y.bU,null,n.createElement(O.J9,{enableReinitialize:!0,initialValues:{firstname:He.firstname||"",lastname:He.lastname||"",email:He.email||"",password:"",confirmPassword:"",registrationToken:Be||void 0,news:!1},onSubmit:async(re,z)=>{const J=nt(re);try{await Le.validate(J,{abortEarly:!1}),Se>0&&W==="register-admin"&>("didSubmitWithErrorsFirstAdmin",{count:Se.toString()}),ne(Be?{userInfo:Y()(J,["registrationToken"]),registrationToken:Be}:J,z)}catch(pe){const ye=(0,r.CJ)(pe);st(Se+1),z.setErrors(ye)}},validateOnChange:!1},({values:re,errors:z,handleChange:J})=>n.createElement(r.l0,{noValidate:!0},n.createElement(P.o,null,n.createElement(B.k,{direction:"column",alignItems:"center",gap:3},n.createElement(b.Z,null),n.createElement(L.Z,{as:"h1",variant:"alpha",textAlign:"center"},H({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),n.createElement(L.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},H({id:"Auth.form.register.subtitle",defaultMessage:"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."}))),n.createElement(B.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},n.createElement(ae.r,{gap:4},n.createElement(o.P,{col:6},n.createElement(I.o,{name:"firstname",required:!0,value:re.firstname,error:z.firstname?H(z.firstname):void 0,onChange:J,label:H({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),n.createElement(o.P,{col:6},n.createElement(I.o,{name:"lastname",value:re.lastname,onChange:J,label:H({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),n.createElement(I.o,{name:"email",disabled:ve.includes("email"),value:re.email,onChange:J,error:z.email?H(z.email):void 0,required:!0,label:H({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),n.createElement(Ae,{name:"password",onChange:J,value:re.password,error:z.password?H(z.password):void 0,endAction:n.createElement(Re.Z,{onClick:pe=>{pe.preventDefault(),me(ye=>!ye)},label:H(Ce?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Ce?n.createElement(oe.Z,null):n.createElement(Ee.Z,null)),hint:H({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:H({id:"global.password",defaultMessage:"Password"}),type:Ce?"text":"password"}),n.createElement(Ae,{name:"confirmPassword",onChange:J,value:re.confirmPassword,error:z.confirmPassword?H(z.confirmPassword):void 0,endAction:n.createElement(Re.Z,{onClick:pe=>{pe.preventDefault(),Me(ye=>!ye)},label:H(Ke?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Ke?n.createElement(oe.Z,null):n.createElement(Ee.Z,null)),required:!0,label:H({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:Ke?"text":"password"}),n.createElement(we.X,{onValueChange:pe=>{J({target:{value:pe,name:"news"}})},value:re.news,name:"news","aria-label":"news"},H({id:"Auth.form.register.news.label",defaultMessage:"Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy})."},{terms:n.createElement(Ge,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},H({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:n.createElement(Ge,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},H({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),n.createElement(E.z,{fullWidth:!0,size:"L",type:"submit"},H({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!se&&n.createElement(A.x,{paddingTop:4},n.createElement(B.k,{justifyContent:"center"},n.createElement(r.rU,{label:"Auth.link.signin",to:"/auth/login"},H({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Fe.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:W=>W.preventDefault()},Fe.propTypes={authType:m().string.isRequired,fieldsToDisable:m().array,noSignin:m().bool,onSubmit:m().func,schema:m().shape({validate:m().func.isRequired,type:m().string.isRequired}).isRequired};var lt=Fe;const Ze=(0,C.ZP)(I.o)`
|
|
8
|
+
::-ms-reveal {
|
|
9
|
+
display: none;
|
|
10
|
+
}
|
|
11
|
+
`,tt=({onSubmit:W,schema:ve})=>{const[se,ne]=(0,n.useState)(!1),[Le,Ne]=(0,n.useState)(!1),{formatMessage:ie}=(0,v.Z)();return n.createElement(y.ZP,null,n.createElement(P.o,null,n.createElement(y.bU,null,n.createElement(O.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:W,validationSchema:ve,validateOnChange:!1},({values:Ce,errors:me,handleChange:Ke})=>n.createElement(r.l0,{noValidate:!0},n.createElement(y.sg,null,n.createElement(b.Z,null),n.createElement(A.x,{paddingTop:6,paddingBottom:7},n.createElement(L.Z,{as:"h1",variant:"alpha"},ie({id:"global.reset-password",defaultMessage:"Reset password"}))),me.errorMessage&&n.createElement(L.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ie({id:me.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(B.k,{direction:"column",alignItems:"stretch",gap:6},n.createElement(Ze,{name:"password",onChange:Ke,value:Ce.password,error:me.password?ie({id:me.password,defaultMessage:"This field is required."}):void 0,endAction:n.createElement(Re.Z,{onClick:Me=>{Me.preventDefault(),ne(Se=>!Se)},label:ie(se?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},se?n.createElement(oe.Z,null):n.createElement(Ee.Z,null)),hint:ie({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:ie({id:"global.password",defaultMessage:"Password"}),type:se?"text":"password"}),n.createElement(Ze,{name:"confirmPassword",onChange:Ke,value:Ce.confirmPassword,error:me.confirmPassword?ie({id:me.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:n.createElement(Re.Z,{onClick:Me=>{Me.preventDefault(),Ne(Se=>!Se)},label:ie(se?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Le?n.createElement(oe.Z,null):n.createElement(Ee.Z,null)),required:!0,label:ie({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:Le?"text":"password"}),n.createElement(E.z,{fullwidth:!0,type:"submit"},ie({id:"global.change-password",defaultMessage:"Change password"})))))),n.createElement(B.k,{justifyContent:"center"},n.createElement(A.x,{paddingTop:4},n.createElement(r.rU,{to:"/auth/login"},ie({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};tt.defaultProps={onSubmit:W=>W.preventDefault()},tt.propTypes={onSubmit:m().func,schema:m().shape({type:m().string.isRequired}).isRequired};var Ye=tt;const Je=(()=>window&&window.strapi&&window.strapi.isEE?e(98768).Z:e(5365).Z)();var ut={"forgot-password":{Component:w,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:t.Ry().shape({email:t.Z_().email(r.I0.email).required(r.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:j,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:Je,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:t.Ry().shape({email:t.Z_().email(r.I0.email).required(r.I0.required),password:t.Z_().required(r.I0.required),rememberMe:t.Xg().nullable()}),inputsPrefix:""},oops:{Component:te,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:lt,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:t.Ry().shape({firstname:t.Z_().trim().required(r.I0.required),lastname:t.Z_(),password:t.Z_().min(8,r.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").required(r.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(r.I0.required),registrationToken:t.Z_().required(r.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:lt,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:t.Ry().shape({firstname:t.Z_().trim().required(r.I0.required),lastname:t.Z_(),password:t.Z_().min(8,r.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").required(r.I0.required),email:t.Z_().email(r.I0.email).strict().lowercase(r.I0.lowercase).required(r.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(r.I0.required)}),inputsPrefix:""},"reset-password":{Component:Ye,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:t.Ry().shape({password:t.Z_().min(8,r.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").required(r.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(r.I0.required)})}}},83983:function(D,g,e){"use strict";e.d(g,{Z:function(){return P}});var t=e(86349),r=e.n(t),v={contentManager:{main:[],collectionTypesConfigurations:[{action:"plugin::content-manager.collection-types.configure-view",subject:null}],componentsConfigurations:[{action:"plugin::content-manager.components.configure-layout",subject:null}],singleTypesConfigurations:[{action:"plugin::content-manager.single-types.configure-view",subject:null}]},marketplace:{main:[{action:"admin::marketplace.read",subject:null}],read:[{action:"admin::marketplace.read",subject:null}]},settings:{roles:{main:[{action:"admin::roles.create",subject:null},{action:"admin::roles.update",subject:null},{action:"admin::roles.read",subject:null},{action:"admin::roles.delete",subject:null}],create:[{action:"admin::roles.create",subject:null}],delete:[{action:"admin::roles.delete",subject:null}],read:[{action:"admin::roles.read",subject:null}],update:[{action:"admin::roles.update",subject:null}]},users:{main:[{action:"admin::users.create",subject:null},{action:"admin::users.read",subject:null},{action:"admin::users.update",subject:null},{action:"admin::users.delete",subject:null}],create:[{action:"admin::users.create",subject:null}],delete:[{action:"admin::users.delete",subject:null}],read:[{action:"admin::users.read",subject:null}],update:[{action:"admin::users.update",subject:null}]},webhooks:{main:[{action:"admin::webhooks.create",subject:null},{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],create:[{action:"admin::webhooks.create",subject:null}],delete:[{action:"admin::webhooks.delete",subject:null}],read:[{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],update:[{action:"admin::webhooks.update",subject:null}]},"api-tokens":{main:[{action:"admin::api-tokens.access",subject:null}],create:[{action:"admin::api-tokens.create",subject:null}],delete:[{action:"admin::api-tokens.delete",subject:null}],read:[{action:"admin::api-tokens.read",subject:null}],update:[{action:"admin::api-tokens.update",subject:null}],regenerate:[{action:"admin::api-tokens.regenerate",subject:null}]},"transfer-tokens":{main:[{action:"admin::transfer.tokens.access",subject:null}],create:[{action:"admin::transfer.tokens.create",subject:null}],delete:[{action:"admin::transfer.tokens.delete",subject:null}],read:[{action:"admin::transfer.tokens.read",subject:null}],update:[{action:"admin::transfer.tokens.update",subject:null}],regenerate:[{action:"admin::transfer.tokens.regenerate",subject:null}]},"project-settings":{read:[{action:"admin::project-settings.read",subject:null}],update:[{action:"admin::project-settings.update",subject:null}]}}};const p=(()=>window&&window.strapi&&window.strapi.isEE?e(99568).Z:e(26123).Z)();var P=r()(v,p)},39691:function(D,g,e){"use strict";e.r(g),e.d(g,{default:function(){return ds}});var t=e(32735),r=e(14911),n=e(12301),v=e(65810),p=e(86349),m=e.n(p),P=e(88423),A=e.n(P),L=e(93839),B=e.n(L),I=e(56784),E=e.n(I),O=e(74758),y=e(78246),T=()=>{const c=[];return{register(s){c.push(s)},delete(s){c.splice(c.indexOf(s),1)},runWaterfall(s,a){return c.reduce((u,f)=>f(u,a),s)},async runWaterfallAsync(s,a){let u=s;for(const f of c)u=await f(u,a);return u},runSeries(...s){return c.map(a=>a(...s))},async runSeriesAsync(...s){const a=[];for(const u of c)a.push(await u(...s));return a},runParallel(...s){return Promise.all(c.map(a=>a(...s)))}}},w=e(6680);const x=(c,s)=>{let a=w.compose;const u=[];c.forEach(R=>{u.push(R())});const f=(0,w.createStore)(j(s,{}),{},a((0,w.applyMiddleware)(...u)));return f.asyncReducers={},f.injectReducer=(R,S)=>{f.asyncReducers[R]=S,f.replaceReducer(j(s,f.asyncReducers))},f},j=(c,s)=>(0,w.combineReducers)({...c,...s});var ee=x,te=e(20284),C=e(53038),h=e(24989),Y=e(10728),$=e(67879),ae=e(60216),o=e.n(ae);const we=({component:c,path:s,...a})=>{const{pathname:u,search:f}=(0,C.TH)();return t.createElement(C.AW,{path:s,render:R=>h.I8.getToken()!==null?t.createElement(c,{...a,...R}):t.createElement(C.l_,{to:{pathname:"/auth/login",search:u!=="/"&&`?redirectTo=${encodeURIComponent(`${u}${f}`)}`}})})};we.propTypes={component:o().any.isRequired,path:o().string.isRequired};var oe=(0,t.memo)(we),Ee=e(8997),Re=e(20011),Ge=e(84306),Ae=e(39935),Fe=e.n(Ae),lt=e(33795),Ze=e.n(lt),tt=e(9086),Ye=e.n(tt);const Je="GUIDED_TOUR_CURRENT_STEP",Qe="GUIDED_TOUR_COMPLETED_STEPS",ut="GUIDED_TOUR_SKIPPED",W=JSON.parse,ve=JSON.stringify;var ne={clear(){localStorage.removeItem(Je),localStorage.removeItem(Qe)},addCompletedStep(c){const s=W(localStorage.getItem(Qe))?.slice()||[];s.includes(c)||(s.push(c),localStorage.setItem(Qe,ve(s)))},addCurrentStep(c){localStorage.setItem(Je,ve(c))},setSkipped(c){localStorage.setItem(ut,ve(c))},get(c){return W(localStorage.getItem(c))}},Le=e(20139),Ne=e(41832),Ce=c=>c,me=e(97889),Ke=e(3040),Me=e.n(Ke);const Se={formErrors:{},modifiedData:{},requestError:null},st=(c,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"ON_CHANGE":{Me()(a.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Se;case"SET_DATA":{a.modifiedData=s.data;break}case"SET_ERRORS":{a.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{a.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return a}}),He=(()=>window&&window.strapi&&window.strapi.isEE?e(7277).Z:e(78834).Z)(),Xe=c=>{let{hasAdmin:s,setHasAdmin:a}=c;const{push:u,location:{search:f}}=(0,C.k6)(),{changeLocale:R}=(0,Le.Z)(),{setSkipped:S}=(0,h.c1)(),{trackUsage:U}=(0,h.rS)(),{params:{authType:K}}=(0,C.$B)("/auth/:authType"),_=(0,h.aM)(),{Component:le,endPoint:G,fieldsToDisable:ue,fieldsToOmit:fe,inputsPrefix:ce,schema:Pe,...he}=Ze()(He,K,{}),[{formErrors:je,modifiedData:Oe,requestError:mt},it]=(0,t.useReducer)(st,Se,Ce),Ve=Ge.default.CancelToken.source();(0,t.useEffect)(()=>()=>{Ve.cancel("Component unmounted")},[]);const{post:et}=(0,h.kY)();(0,t.useEffect)(()=>{it({type:"RESET_PROPS"})},[K]);const ms=q=>{let{target:{name:Te,value:ge}}=q;it({type:"ON_CHANGE",keys:Te,value:ge})},gs=async(q,Te)=>{let{setSubmitting:ge,setErrors:be}=Te;ge(!0);const We=Ye()(q,fe),V=`/admin/${G}`;K==="login"&&await fs(q,V,{setSubmitting:ge,setErrors:be}),(K==="register"||K==="register-admin")&&await hs(q,V,{setSubmitting:ge,setErrors:be}),K==="forgot-password"&&await ps(We,V,{setSubmitting:ge,setErrors:be}),K==="reset-password"&&await Es(We,V,{setSubmitting:ge,setErrors:be})},ps=async(q,Te,ge)=>{let{setSubmitting:be,setErrors:We}=ge;try{await et(Te,q,{cancelToken:Ve.token}),u("/auth/forgot-password-success")}catch(V){console.error(V),We({errorMessage:"notification.error"})}finally{be(!1)}},fs=async(q,Te,ge)=>{let{setSubmitting:be,setErrors:We}=ge;try{const{data:{data:{token:V,user:de}}}=await et(Te,Ye()(q,fe),{cancelToken:Ve.token});de.preferedLanguage&&R(de.preferedLanguage),h.I8.setToken(V,q.rememberMe),h.I8.setUserInfo(de,q.rememberMe),Qt()}catch(V){if(V.response){const de=Ze()(V,["response","data","error","message"],"Something went wrong");if(Fe()(de).toLowerCase()==="usernotactive"){u("/auth/oops"),it({type:"RESET_PROPS"});return}We({errorMessage:de})}}finally{be(!1)}},hs=async(q,Te,ge)=>{let{setSubmitting:be,setErrors:We}=ge;try{U("willCreateFirstAdmin");const{data:{data:{token:V,user:de}}}=await et(Te,Ye()(q,fe),{cancelToken:Ve.token});h.I8.setToken(V,!1),h.I8.setUserInfo(de,!1),be(!1),a(!0);const{roles:rt}=de;if(rt&&rt.find(vs=>{let{code:ys}=vs;return ys==="strapi-super-admin"})&&(ne.setSkipped(!1),S(!1),U("didLaunchGuidedtour")),K==="register"&&q.userInfo.news===!0||K==="register-admin"&&q.news===!0){u({pathname:"/usecase",search:`?hasAdmin=${s}`});return}Qt()}catch(V){if(U("didNotCreateFirstAdmin"),V.response){const{data:de}=V.response,rt=(0,Ne.Z)(de);We({apiErrors:rt})}}},Es=async(q,Te,ge)=>{let{setErrors:be,setSubmitting:We}=ge;try{const{data:{data:{token:V,user:de}}}=await et(Te,{...q,resetPasswordToken:_.get("code")},{cancelToken:Ve.token});h.I8.setToken(V,!1),h.I8.setUserInfo(de,!1),u("/")}catch(V){if(V.response){const de=Ze()(V,["response","data","message"],"Something went wrong"),rt=Ze()(V,["response","data","statusCode"],400);it({type:"SET_REQUEST_ERROR",errorMessage:de,errorStatus:rt}),be({errorMessage:de})}}finally{We(!1)}},Qt=()=>{if(K==="login"){const q=_.get("redirectTo"),Te=q?decodeURIComponent(q):"/";u(Te)}else u("/")};return!He[K]||s&&K==="register-admin"||h.I8.getToken()?t.createElement(C.l_,{to:"/"}):!s&&K!=="register-admin"?t.createElement(C.l_,{to:{pathname:"/auth/register-admin",search:f}}):t.createElement(le,(0,Re.Z)({},he,{authType:K,fieldsToDisable:ue,formErrors:je,inputsPrefix:ce,modifiedData:Oe,onChange:ms,onSubmit:gs,requestError:mt,schema:Pe}))};Xe.defaultProps={hasAdmin:!1},Xe.propTypes={hasAdmin:o().bool,setHasAdmin:o().func.isRequired};var gt=Xe,H=e(53951),ct=e(8471),dt=e(33348),pt=e(49372),Be=e(27649),nt=e(87933),re=e(72850),z=e(68465),J=e(84967),pe=e(10369),ye=e(41415),Zt=e(7563),Ct=e(10190),Mt=e(954);const St=[{intlLabel:{id:"Usecase.front-end",defaultMessage:"Front-end developer"},value:"front_end_developer"},{intlLabel:{id:"Usecase.back-end",defaultMessage:"Back-end developer"},value:"back_end_developer"},{intlLabel:{id:"Usecase.full-stack",defaultMessage:"Full-stack developer"},value:"full_stack_developer"},{intlLabel:{id:"global.content-manager",defaultMessage:"Content Manager"},value:"content_manager"},{intlLabel:{id:"Usecase.content-creator",defaultMessage:"Content Creator"},value:"content_creator"},{intlLabel:{id:"Usecase.other",defaultMessage:"Other"},value:"other"}],ft=(0,ct.ZP)(pt.Z)`
|
|
12
|
+
text-align: center;
|
|
13
|
+
`;var at=()=>{const c=(0,h.lm)(),{push:s,location:a}=(0,C.k6)(),{formatMessage:u}=(0,$.Z)(),[f,R]=(0,t.useState)(),[S,U]=(0,t.useState)(""),{post:K}=(0,h.kY)(),{firstname:_,email:le}=h.I8.getUserInfo(),{hasAdmin:G}=(0,dt.parse)(a?.search,{ignoreQueryPrefix:!0}),ue=f==="other",fe=async(ce,Pe)=>{ce.preventDefault();try{await K("https://analytics.strapi.io/register",{email:le,username:_,firstAdmin:Boolean(!G),persona:{role:Pe?void 0:f,otherRole:Pe?void 0:S}}),c({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return t.createElement(Mt.ZP,null,t.createElement(Be.o,{labelledBy:"usecase-title"},t.createElement(Mt.bU,null,t.createElement("form",{onSubmit:ce=>fe(ce,!1)},t.createElement(nt.k,{direction:"column",paddingBottom:7},t.createElement(Ct.Z,null),t.createElement(re.x,{paddingTop:6,paddingBottom:1,width:(0,h.Q1)(250)},t.createElement(ft,{variant:"alpha",as:"h1",id:"usecase-title"},u({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),t.createElement(nt.k,{direction:"column",alignItems:"stretch",gap:6},t.createElement(z.P,{id:"usecase","data-testid":"usecase",label:u({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:R,value:f},St.map(({intlLabel:ce,value:Pe})=>t.createElement(J.W,{key:Pe,value:Pe},u(ce)))),ue&&t.createElement(pe.o,{name:"other",label:u({id:"Usecase.other",defaultMessage:"Other"}),value:S,onChange:ce=>U(ce.target.value),"data-testid":"other"}),t.createElement(ye.z,{type:"submit",size:"L",fullWidth:!0,disabled:!f},u({id:"global.finish",defaultMessage:"Finish"}))))),t.createElement(nt.k,{justifyContent:"center"},t.createElement(re.x,{paddingTop:4},t.createElement(Zt.A,{onClick:()=>fe(!0)},u({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},Dt=e(73307),ht=async()=>`web-fingerprint-${(await(await Dt.ZP.load()).get()).visitorId}`,Nt=[],Gt=[...(()=>window&&window.strapi&&window.strapi.isEE?e(68944).Z:e(56761).Z)(),...Nt],Et=e(67927);const Ft=(0,t.lazy)(()=>Promise.all([e.e(3081),e.e(801)]).then(e.bind(e,29761)));function It(){const c=(0,h.lm)(),{updateProjectSettings:s}=(0,Et.um)(),{formatMessage:a}=(0,$.Z)(),[{isLoading:u,hasAdmin:f,uuid:R,deviceId:S},U]=(0,t.useState)({isLoading:!0,hasAdmin:!1}),K=(0,h.L7)(),{get:_,post:le}=(0,h.kY)(),G=(0,t.useMemo)(()=>(0,Ee.WW)(Gt.map(({to:he,Component:je,exact:Oe})=>(0,Ee.ot)(je,he,Oe))),[]),[ue,fe]=(0,t.useState)(null);(0,t.useEffect)(()=>{const he=h.I8.getToken();he&&(async()=>{try{const{data:{data:{token:Oe}}}=await le("/admin/renew-token",{token:he});h.I8.updateToken(Oe)}catch{h.I8.clearAppStorage(),window.location.reload()}})()},[le]),(0,t.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:je,uuid:Oe,menuLogo:mt,authLogo:it}}}=await _("/admin/init");s({menuLogo:(0,h.CR)(mt),authLogo:(0,h.CR)(it)});const jt=await ht();if(Oe){const{data:{data:Ve}}=await _("/admin/telemetry-properties",{validateStatus:et=>et<500});fe(Ve);try{await le("https://analytics.strapi.io/api/v2/track",{event:"didInitializeAdministration",userId:"",deviceId:jt,eventPropeties:{},userProperties:{environment:K.currentEnvironment},groupProperties:{...Ve,projectId:Oe}})}catch{}}U({isLoading:!1,hasAdmin:je,uuid:Oe,deviceId:jt})}catch{c({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[c,s]);const ce=he=>U(je=>({...je,hasAdmin:he})),Pe=(0,t.useMemo)(()=>({uuid:R,telemetryProperties:ue,deviceId:S}),[R,ue,S]);return u?t.createElement(h.dO,null):t.createElement(t.Suspense,{fallback:t.createElement(h.dO,null)},t.createElement(Y.z,null,a({id:"skipToContent"})),t.createElement(h.L8,{value:Pe},t.createElement(C.rs,null,G,t.createElement(C.AW,{path:"/auth/:authType",render:he=>t.createElement(gt,{...he,setHasAdmin:ce,hasAdmin:f}),exact:!0}),t.createElement(oe,{path:"/usecase",component:at}),t.createElement(oe,{path:"/",component:Ft}),t.createElement(C.AW,{path:"",component:H.default}))))}var Ot=It,bt=e(47750),Ht=e(86113),zt=e(20108),wt=e(15062),vt=e(66694);const yt={menuLogo:null,authLogo:null};var l=(c=yt,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(a,s.values);break}default:return a}});const i=({children:c,authLogo:s,menuLogo:a,showReleaseNotification:u,showTutorials:f})=>{const[{menuLogo:R,authLogo:S},U]=(0,t.useReducer)(l,yt),K=(0,t.useCallback)(({menuLogo:le,authLogo:G})=>U({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:le||a,authLogo:G||s}}),[s,a]),_=(0,t.useMemo)(()=>({logos:{menu:{custom:R,default:a},auth:{custom:S,default:s}},updateProjectSettings:K,showReleaseNotification:u,showTutorials:f}),[R,a,S,s,K,u,f]);return t.createElement(vt._5.Provider,{value:_},c)};i.propTypes={authLogo:o().string.isRequired,children:o().element.isRequired,menuLogo:o().string.isRequired,showReleaseNotification:o().bool.isRequired,showTutorials:o().bool.isRequired};var M=i,k=e(78023),Z=e(58732),F=e.n(Z),N=e(5985);const Q=({changeLocale:c,children:s,localeNames:a})=>t.createElement(N.Z.Provider,{value:{changeLocale:c,localeNames:a}},s);Q.propTypes={changeLocale:o().func.isRequired,children:o().element.isRequired,localeNames:o().object.isRequired};var De=Q,Ie="strapi-admin-language",_e=c=>{const s=window.localStorage.getItem(Ie);return{locale:c[s]?s:"en",localeNames:c}};const qe={localeNames:{en:"English"},locale:"en"};var Tt=(c=qe,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:a}=s;return c.localeNames[a]?{...c,locale:a}:c}default:return c}};const ot=({children:c,localeNames:s,messages:a})=>{const[{locale:u},f]=(0,t.useReducer)(Tt,qe,()=>_e(s));(0,t.useEffect)(()=>{window.localStorage.setItem(Ie,u),document.documentElement.setAttribute("lang",u)},[u]);const R=U=>{f({type:"CHANGE_LOCALE",locale:U})},S=F()(a[u],a.en);return t.createElement(k.Z,{locale:u,defaultLocale:"en",messages:S,textComponent:"span"},t.createElement(De,{changeLocale:R,localeNames:s},c))};ot.propTypes={children:o().element.isRequired,localeNames:o().objectOf(o().string).isRequired,messages:o().object.isRequired};var kt=ot,$e=(c,s)=>{const a=Object.entries(s),u=a.findIndex(([R])=>R===c);return a.slice(0,u).every(([,R])=>Object.values(R).every(Boolean))},xe=(c,s)=>{const a=c.split("."),u=a[1],f=Object.entries(s[a[0]]),R=f.findIndex(([U])=>U===u);return f.slice(0,R).every(([,U])=>U)};const Ue={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var Xt=(c=Ue,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"SET_CURRENT_STEP":{a.currentStep=s.step;break}case"SET_STEP_STATE":{const[u,f]=s.currentStep.split(".");a.guidedTourState[u][f]=s.value;break}case"SET_SKIPPED":{a.isSkipped=s.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{a.isGuidedTourVisible=s.value;break}default:return a}}),_t=c=>{const s={...c},a=ne.get(Qe),u=ne.get(Je),f=ne.get(ut);if(a&&a.forEach(R=>{const[S,U]=R.split(".");Me()(s,["guidedTourState",S,U],!0)}),u){const[R,S]=u.split(".");Me()(s,["guidedTourState",R,S],!0),ne.addCompletedStep(u),ne.addCurrentStep(null)}return f!==null&&Me()(s,"isSkipped",f),s};const $t=({children:c})=>{const[{currentStep:s,guidedTourState:a,isGuidedTourVisible:u,isSkipped:f},R]=(0,t.useReducer)(Xt,Ue,_t),S=G=>{if(G!==null){const ue=Ze()(a,G),fe=xe(G,a);if(ue||f||!fe)return null}return ne.addCurrentStep(G),R({type:"SET_CURRENT_STEP",step:G})},U=G=>{R({type:"SET_GUIDED_TOUR_VISIBILITY",value:G})},K=(G,ue)=>{ne.addCompletedStep(G),R({type:"SET_STEP_STATE",currentStep:G,value:ue})},_=G=>{const ue=a[G];if(ue){const fe=$e(G,a),ce=Object.keys(ue)[0],Pe=ue[ce];if(fe&&!s&&!Pe)return S(`${G}.${ce}`)}return null},le=G=>{ne.setSkipped(G),R({type:"SET_SKIPPED",value:G})};return t.createElement(h.Zc,{guidedTourState:a,currentStep:s,setCurrentStep:S,setGuidedTourVisibility:U,setSkipped:le,setStepState:K,startSection:_,isGuidedTourVisible:u,isSkipped:f},c)};$t.propTypes={children:o().element.isRequired};var qt=$t;const Ut="STRAPI_THEME",es=()=>{const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(Ut);return s||localStorage.setItem(Ut,c),s||c},Vt=({children:c,themes:s})=>{const[a,u]=(0,t.useState)(es()),f=(0,t.useCallback)(S=>{u(S),localStorage.setItem(Ut,S)},[u]),R=(0,t.useMemo)(()=>({currentTheme:a,onChangeTheme:f,themes:s}),[a,f,s]);return t.createElement(vt.Rj.Provider,{value:R},c)};Vt.propTypes={children:o().node.isRequired,themes:o().shape({light:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,dark:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,custom:o().object}).isRequired};var ts=Vt,ss=e(86861),ns=ct.vJ`
|
|
14
|
+
body {
|
|
15
|
+
background: ${({theme:c})=>c.colors.neutral100};
|
|
16
|
+
}
|
|
17
|
+
`;const Yt=({children:c})=>{const{currentTheme:s,themes:a}=(0,Et.M1)();return t.createElement(ss.f,{theme:a[s]||a.light},c,t.createElement(ns,null))};Yt.propTypes={children:o().element.isRequired};var as=Yt;const os=new Ht.S({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),Jt=({authLogo:c,children:s,components:a,customFields:u,fields:f,getAdminInjectedComponents:R,getPlugin:S,localeNames:U,menu:K,menuLogo:_,messages:le,plugins:G,runHookParallel:ue,runHookSeries:fe,runHookWaterfall:ce,settings:Pe,showReleaseNotification:he,showTutorials:je,store:Oe,themes:mt})=>t.createElement(ts,{themes:mt},t.createElement(as,null,t.createElement(zt.QueryClientProvider,{client:os},t.createElement(wt.zt,{store:Oe},t.createElement(vt.ux.Provider,{value:{getAdminInjectedComponents:R}},t.createElement(M,{authLogo:c,menuLogo:_,showReleaseNotification:he,showTutorials:je},t.createElement(h._Y,{getPlugin:S,menu:K,plugins:G,runHookParallel:ue,runHookWaterfall:ce,runHookSeries:fe,settings:Pe},t.createElement(h.rt,{components:a,fields:f},t.createElement(h.MG,{customFields:u},t.createElement(kt,{messages:le,localeNames:U},t.createElement(h.m$,null,t.createElement(h.w7,null,t.createElement(qt,null,t.createElement(h.N$,null,s))))))))))))));Jt.propTypes={authLogo:o().oneOfType([o().string,o().any]).isRequired,children:o().element.isRequired,components:o().object.isRequired,customFields:o().object.isRequired,fields:o().object.isRequired,getAdminInjectedComponents:o().func.isRequired,getPlugin:o().func.isRequired,localeNames:o().objectOf(o().string).isRequired,menu:o().arrayOf(o().shape({to:o().string.isRequired,icon:o().func.isRequired,intlLabel:o().shape({id:o().string.isRequired,defaultMessage:o().string.isRequired}).isRequired,permissions:o().array,Component:o().func})).isRequired,menuLogo:o().oneOfType([o().string,o().any]).isRequired,messages:o().object.isRequired,plugins:o().object.isRequired,runHookParallel:o().func.isRequired,runHookWaterfall:o().func.isRequired,runHookSeries:o().func.isRequired,settings:o().object.isRequired,showReleaseNotification:o().bool.isRequired,showTutorials:o().bool.isRequired,store:o().object.isRequired,themes:o().shape({light:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,dark:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,custom:o().object}).isRequired};var is=Jt,rs={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",ca:"Catal\xE0",cs:"\u010Ce\u0161tina",de:"Deutsch",dk:"Dansk",en:"English",es:"Espa\xF1ol",eu:"Euskara",fr:"Fran\xE7ais",gu:"Gujarati",he:"\u05E2\u05D1\u05E8\u05D9\u05EA",hu:"Magyar",id:"Indonesian",it:"Italiano",ja:"\u65E5\u672C\u8A9E",ko:"\uD55C\uAD6D\uC5B4",ml:"Malayalam",ms:"Melayu",nl:"Nederlands",no:"Norwegian",pl:"Polski","pt-BR":"Portugu\xEAs (Brasil)",pt:"Portugu\xEAs (Portugal)",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",sk:"Sloven\u010Dina",sv:"Swedish",th:"\u0E44\u0E17\u0E22",tr:"T\xFCrk\xE7e",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",vi:"Ti\u1EBFng Vi\u1EC7t","zh-Hans":"\u4E2D\u6587 (\u7B80\u4F53)",zh:"\u4E2D\u6587 (\u7E41\u9AD4)",sa:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924",hi:"\u0939\u093F\u0928\u094D\u0926\u0940"},Lt=e(46339),ls={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[]}}},us="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=";class cs{constructor({adminConfig:s,appPlugins:a,library:u,middlewares:f,reducers:R}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:bt,head:{favicon:us},locales:["en"],menuLogo:bt,notifications:{releases:!0},themes:{light:n.W,dark:v.$},translations:{},tutorials:!0},this.appPlugins=a||{},this.library=u,this.middlewares=f,this.plugins={},this.reducers=R,this.translations={},this.hooksDict={},this.admin={injectionZones:ls},this.customFields=te.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=s=>{Array.isArray(s)?s.map(a=>this.library.components.add(a)):this.library.components.add(s)};addCorePluginMenuLink=s=>{const a=JSON.stringify(s);E()(s.to,`link.to should be defined for ${a}`),E()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),E()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),E()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),this.menu.push(s)};addFields=s=>{Array.isArray(s)?s.map(a=>this.library.fields.add(a)):this.library.fields.add(s)};addMenuLink=s=>{const a=JSON.stringify(s);E()(s.to,`link.to should be defined for ${a}`),E()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),E()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),E()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),E()(s.icon&&typeof s.icon=="function","link.Icon should be a valid React Component"),this.menu.push(s)};addMiddlewares=s=>{s.forEach(a=>{this.middlewares.add(a)})};addReducers=s=>{Object.keys(s).forEach(a=>{this.reducers.add(a,s[a])})};addSettingsLink=(s,a)=>{E()(this.settings[s],"The section does not exist");const u=JSON.stringify(a);E()(a.id,`link.id should be defined for ${u}`),E()(a.intlLabel?.id&&a.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${u}`),E()(a.to,`link.to should be defined for ${u}`),E()(a.Component&&typeof a.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(a)};addSettingsLinks=(s,a)=>{E()(this.settings[s],"The section does not exist"),E()(Array.isArray(a),"TypeError expected links to be an array"),a.forEach(u=>{this.addSettingsLink(s,u)})};async bootstrap(){Object.keys(this.appPlugins).forEach(s=>{const a=this.appPlugins[s].bootstrap;a&&a({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),B()(this.customBootstrapConfiguration)&&this.customBootstrapConfiguration({addComponents:this.addComponents,addFields:this.addFields,addMenuLink:this.addMenuLink,addReducers:this.addReducers,addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}bootstrapAdmin=async()=>(await this.createCustomConfigurations(),this.createHook(Lt.No),this.createHook(Lt.LK),this.createHook(Lt.dV),this.createHook(Lt.Eo),Promise.resolve());createCustomConfigurations=async()=>{if(this.customConfigurations?.locales&&(this.configurations.locales=["en",...this.customConfigurations.locales?.filter(s=>s!=="en")||[]]),this.customConfigurations?.auth?.logo&&(this.configurations.authLogo=this.customConfigurations.auth.logo),this.customConfigurations?.menu?.logo&&(this.configurations.menuLogo=this.customConfigurations.menu.logo),this.customConfigurations?.head?.favicon&&(this.configurations.head.favicon=this.customConfigurations.head.favicon),this.customConfigurations?.theme){const s=this.customConfigurations.theme.dark,a=this.customConfigurations.theme.light;!s&&!a&&(console.warn("[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension."),m()(this.configurations.themes.light,this.customConfigurations.theme)),a&&m()(this.configurations.themes.light,a),s&&m()(this.configurations.themes.dark,s)}this.customConfigurations?.notifications?.releases!==void 0&&(this.configurations.notifications.releases=this.customConfigurations.notifications.releases),this.customConfigurations?.tutorials!==void 0&&(this.configurations.tutorials=this.customConfigurations.tutorials)};createHook=s=>{this.hooksDict[s]=T()};createSettingSection=(s,a)=>{E()(s.id,"section.id should be defined"),E()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),E()(Array.isArray(a),"TypeError expected links to be an array"),E()(this.settings[s.id]===void 0,"A similar section already exists"),this.settings[s.id]={...s,links:[]},a.forEach(u=>{this.addSettingsLink(s.id,u)})};createStore=()=>ee(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(s,a,u)=>{try{return this.admin.injectionZones[s][a][u]||[]}catch(f){return console.error("Cannot get injected component",f),f}};getPlugin=s=>this.plugins[s];async initialize(){Object.keys(this.appPlugins).forEach(s=>{this.appPlugins[s].register(this)})}injectContentManagerComponent=(s,a,u)=>{E()(this.admin.injectionZones.contentManager[s]?.[a],`The ${s} ${a} zone is not defined in the content manager`),E()(u,"A Component must be provided"),this.admin.injectionZones.contentManager[s][a].push(u)};injectAdminComponent=(s,a,u)=>{E()(this.admin.injectionZones.admin[s]?.[a],`The ${s} ${a} zone is not defined in the admin`),E()(u,"A Component must be provided"),this.admin.injectionZones.admin[s][a].push(u)};async loadAdminTrads(){const s=this.configurations.locales.map(f=>e(48224)(`./${f}.json`).then(({default:R})=>({data:R,locale:f})).catch(()=>({data:null,locale:f})));return(await Promise.all(s)).reduce((f,R)=>(R.data&&(f[R.locale]=R.data),f),{})}async loadTrads(){const s=await this.loadAdminTrads(),a=Object.keys(this.appPlugins).map(S=>{const U=this.appPlugins[S].registerTrads;return U?U({locales:this.configurations.locales}):null}).filter(S=>S),f=(await Promise.all(a)).reduce((S,U)=>{const K=U.reduce((_,le)=>(_[le.locale]=le.data,_),{});return Object.keys(K).forEach(_=>{S[_]={...S[_],...K[_]}}),S},{}),R=this.configurations.locales.reduce((S,U)=>(S[U]={...s[U],...f[U]||{},...this.customConfigurations?.translations?.[U]},S),{});return this.configurations.translations=R,Promise.resolve()}registerHook=(s,a)=>{E()(this.hooksDict[s],`The hook ${s} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[s].register(a)};registerPlugin=s=>{const a=(0,te.Sy)(s);this.plugins[a.pluginId]=a};runHookSeries=(s,a=!1)=>a?this.hooksDict[s].runSeriesAsync():this.hooksDict[s].runSeries();runHookWaterfall=(s,a,u=!1,f)=>u?this.hooksDict[s].runWaterfallAsync(a,f):this.hooksDict[s].runWaterfall(a,f);runHookParallel=s=>this.hooksDict[s].runParallel();render(){const s=this.createStore(),a=A()(rs,this.configurations.locales||[]),{components:{components:u},fields:{fields:f}}=this.library;return t.createElement(is,{authLogo:this.configurations.authLogo,components:u,fields:f,customFields:this.customFields,localeNames:a,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(R,S,U=!1)=>this.runHookWaterfall(R,S,U,s),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:s},t.createElement(t.Fragment,null,t.createElement(O.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(Ie)||"en"}}),t.createElement(r.VK,{basename:y.Z},t.createElement(Ot,{store:s}))))}}var ds=({adminConfig:c={},appPlugins:s,library:a,middlewares:u,reducers:f})=>new cs({adminConfig:c,appPlugins:s,library:a,middlewares:u,reducers:f})},5985:function(D,g,e){"use strict";var t=e(32735);const r=(0,t.createContext)();g.Z=r},20139:function(D,g,e){"use strict";var t=e(32735),r=e(5985);const n=()=>{const{changeLocale:v,localeNames:p,messages:m}=(0,t.useContext)(r.Z);return{changeLocale:v,localeNames:p,messages:m}};g.Z=n},10190:function(D,g,e){"use strict";var t=e(32735),r=e(8471),n=e(67927);const v=r.ZP.img`
|
|
18
|
+
height: ${72/16}rem;
|
|
19
|
+
`,p=()=>{const{logos:{auth:m}}=(0,n.um)();return t.createElement(v,{src:m?.custom??m.default,"aria-hidden":!0,alt:""})};g.Z=p},66694:function(D,g,e){"use strict";e.d(g,{ux:function(){return n},_5:function(){return p},$l:function(){return P},Rj:function(){return L}});var t=e(32735),n=(0,t.createContext)({}),p=(0,t.createContext)({}),P=(0,t.createContext)({}),L=(0,t.createContext)({})},78246:function(D,g){"use strict";const e="/admin/".replace(window.location.origin,"");g.Z=e},46339:function(D,g,e){"use strict";e.d(g,{Eo:function(){return n},LK:function(){return r},No:function(){return t},dV:function(){return v}});const t="Admin/CM/pages/ListView/inject-column-in-table",r="Admin/CM/pages/App/mutate-collection-types-links",n="Admin/CM/pages/EditView/mutate-edit-view-layout",v="Admin/CM/pages/App/mutate-single-types-links"},67927:function(D,g,e){"use strict";e.d(g,{um:function(){return v},U_:function(){return T},Dq:function(){return te},H9:function(){return Ye},bP:function(){return I},$_:function(){return It},rW:function(){return yt},bF:function(){return Ne},G4:function(){return Et},Te:function(){return St},M1:function(){return wt}});var t=e(32735),r=e(66694),v=()=>(0,t.useContext)(r._5),p=e(24989),m=e(97889);const P={collectionTypes:[],components:[],isLoading:!0,singleTypes:[]};var L=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"GET_MODELS":{i.collectionTypes=P.collectionTypes,i.singleTypes=P.singleTypes,i.components=P.components,i.isLoading=!0;break}case"GET_MODELS_ERROR":{i.collectionTypes=P.collectionTypes,i.singleTypes=P.singleTypes,i.components=P.components,i.isLoading=!1;break}case"GET_MODELS_SUCCEDED":{const M=k=>l.contentTypes.filter(Z=>Z.isDisplayed&&Z.kind===k);i.isLoading=!1,i.collectionTypes=M("collectionType"),i.singleTypes=M("singleType"),i.components=l.components;break}default:return i}}),I=()=>{const d=(0,p.lm)(),[l,i]=(0,t.useReducer)(L,P),{get:M}=(0,p.kY)(),k=(0,t.useCallback)(async()=>{i({type:"GET_MODELS"});try{const[{data:{data:Z}},{data:{data:F}}]=await Promise.all(["components","content-types"].map(N=>M(`/content-manager/${N}`)));i({type:"GET_MODELS_SUCCEDED",contentTypes:F,components:Z})}catch{i({type:"GET_MODELS_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}},[d,M]);return(0,t.useEffect)(()=>{k()},[k]),{...l,getData:k}};const E={data:{},error:null,isLoading:!0};var y=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"GET_DATA":{i.isLoading=!0,i.data={},i.error=null;break}case"GET_DATA_SUCCEEDED":{i.data=l.data,i.isLoading=!1,i.error=null;break}case"GET_DATA_ERROR":{i.isLoading=!1,i.error=l.error;break}default:return i}}),T=d=>{const[{data:l,error:i,isLoading:M},k]=(0,t.useReducer)(y,E),{get:Z}=(0,p.kY)();return(0,t.useEffect)(()=>{(async()=>{try{k({type:"GET_DATA"});const{data:{data:N}}=await Z("/admin/permissions",{params:{role:d}});k({type:"GET_DATA_SUCCEEDED",data:N})}catch{}})()},[d,Z]),{data:l,error:i,isLoading:M}};const w={role:{},permissions:{},isLoading:!0};var j=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"GET_DATA_SUCCEEDED":{i.role=l.role,i.permissions=l.permissions,i.isLoading=!1;break}case"GET_DATA_ERROR":{i.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{i.role.name=l.name,i.role.description=l.description;break}default:return i}}),te=d=>{const l=(0,p.lm)(),[i,M]=(0,t.useReducer)(j,w),{get:k}=(0,p.kY)();(0,t.useEffect)(()=>{d?(async N=>{try{const[{data:{data:Q}},{data:{data:De}}]=await Promise.all([`roles/${N}`,`roles/${N}/permissions`].map(X=>k(`/admin/${X}`)));M({type:"GET_DATA_SUCCEEDED",role:Q,permissions:De})}catch(Q){console.error(Q),M({type:"GET_DATA_ERROR"}),l({type:"warning",message:{id:"notification.error"}})}})(d):M({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[k,d,l]);const Z=(0,t.useCallback)(F=>{M({type:"ON_SUBMIT_SUCCEEDED",...F})},[]);return{...i,onSubmitSucceeded:Z}},h=(d,l)=>l.map(({permissions:i})=>(0,p.qX)(d,i)),$=async(d,l)=>{const i=h(d,l),M=await Promise.all(i);return l.filter((Z,F)=>M[F])},ae=e(99381),o=e.n(ae),oe=async(d,l,i)=>{const M=h(d,l),k=await Promise.all(M),Z=l.filter((Q,De)=>k[De]),F=Z.findIndex(Q=>Q.to==="/settings");if(F===-1)return[];const N=o()(Z);return N[F].notificationsCount=i?1:0,N},Ee=e(2287),Re=e(36919),Ge=e(45112),Ae=e(83983);const Fe={generalSectionLinks:[{icon:Ee.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:Ae.Z.marketplace.main},{icon:Re.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:Ae.Z.marketplace.main},{icon:Ge.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0};var Ze=(d=Fe,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"SET_SECTION_LINKS":{const{authorizedGeneralSectionLinks:M,authorizedPluginSectionLinks:k}=l.data;i.generalSectionLinks=M,i.pluginsSectionLinks=k;break}case"UNSET_IS_LOADING":{i.isLoading=!1;break}default:return i}}),Ye=()=>{const[d,l]=(0,t.useReducer)(Ze,Fe),{allPermissions:i}=(0,p.vn)(),{shouldUpdateStrapi:M}=(0,p.L7)(),{menu:k}=(0,p.j1)(),Z=(0,t.useRef)(d.generalSectionLinks),F=(0,t.useRef)(M),N=async(De=i)=>{const Ie=await $(De,k),ze=await oe(De,Z.current,F.current);l({type:"SET_SECTION_LINKS",data:{authorizedGeneralSectionLinks:ze,authorizedPluginSectionLinks:Ie}}),l({type:"UNSET_IS_LOADING"})},Q=(0,t.useRef)(N);return(0,t.useEffect)(()=>{Q.current(i)},[i,l]),d},Je=e(33795),Qe=e.n(Je),W=(d,l)=>({...d,isLoading:l});const ve={roles:[],isLoading:!0};var ne=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"GET_DATA":{i.isLoading=!0,i.roles=[];break}case"GET_DATA_SUCCEEDED":{i.roles=l.data,i.isLoading=!1;break}case"GET_DATA_ERROR":{i.isLoading=!1;break}default:return i}}),Ne=(d=!0)=>{const l=(0,p.lm)(),[{roles:i,isLoading:M},k]=(0,t.useReducer)(ne,ve,()=>W(ve,d));(0,t.useEffect)(()=>{d&&Z()},[d]);const Z=(0,t.useCallback)(async()=>{const F=(0,p.tg)();try{k({type:"GET_DATA"});const{data:{data:N}}=await F.get("/admin/roles");k({type:"GET_DATA_SUCCEEDED",data:N})}catch(N){const Q=Qe()(N,["response","payload","message"],"An error occured");k({type:"GET_DATA_ERROR"}),Q!=="Forbidden"&&l({type:"warning",message:Q})}},[l]);return{roles:i,isLoading:M,getData:Z}},ie=e(3040),Ce=e.n(ie);const me={menu:[],isLoading:!0};var Me=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"CHECK_PERMISSIONS_SUCCEEDED":{l.data.forEach(M=>{M.hasPermission&&Ce()(i,["menu",...M.path.split("."),"isDisplayed"],M.hasPermission)}),i.menu.forEach((M,k)=>{i.menu[k].links=M.links.filter(Z=>Z.isDisplayed===!0)}),i.isLoading=!1;break}default:return i}}),Se=e(9086),st=e.n(Se),He=e(98978),Xe=e.n(He),H=d=>Xe()(d,l=>l.id),dt=d=>d.map(l=>{const i=l.links.map(M=>({...M,isDisplayed:!1}));return{...l,links:i}}),Be=[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles",isDisplayed:!1,permissions:Ae.Z.settings.roles.main},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users",isDisplayed:!1,permissions:Ae.Z.settings.users.main}],re=[...(()=>window&&window.strapi&&window.strapi.isEE?e(66334).Z:e(47950).Z)(),...Be],J=[{intlLabel:{id:"Settings.application.title",defaultMessage:"Overview"},to:"/settings/application-infos",id:"000-application-infos",isDisplayed:!1,permissions:[]},{intlLabel:{id:"Settings.webhooks.title",defaultMessage:"Webhooks"},to:"/settings/webhooks",id:"webhooks",isDisplayed:!1,permissions:Ae.Z.settings.webhooks.main},{intlLabel:{id:"Settings.apiTokens.title",defaultMessage:"API Tokens"},to:"/settings/api-tokens?sort=name:ASC",id:"api-tokens",isDisplayed:!1,permissions:Ae.Z.settings["api-tokens"].main},{intlLabel:{id:"Settings.transferTokens.title",defaultMessage:"Transfer Tokens"},to:"/settings/transfer-tokens?sort=name:ASC",id:"transfer-tokens",isDisplayed:!1,permissions:Ae.Z.settings["transfer-tokens"].main}];const pe=(()=>window&&window.strapi&&window.strapi.isEE?e(11545).Z:e(73086).Z)();var ye=[...J,...pe],Ct=(d,{settings:l,shouldUpdateStrapi:i})=>{const M=l.global.links,k=H([...M,...ye]).map(N=>({...N,hasNotification:N.id==="000-application-infos"&&i})),Z=Object.values(st()(l,"global")),F=[{...l.global,links:k},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:re},...Z];return{...d,menu:dt(F)}},St=(d=!1)=>{const{allPermissions:l}=(0,p.vn)(),{shouldUpdateStrapi:i}=(0,p.L7)(),{settings:M}=(0,p.j1)(),[{isLoading:k,menu:Z},F]=(0,t.useReducer)(Me,me,()=>Ct(me,{settings:M,shouldUpdateStrapi:i}));return(0,t.useEffect)(()=>{d||(async()=>{const Q=async(ze,_e)=>({hasPermission:await(0,p.qX)(l,ze),path:_e}),X=(ze=>ze.reduce((_e,qe,Pt)=>{const Tt=ot=>ot.map((kt,Rt)=>Q(ot[Rt].permissions,`${Pt}.links.${Rt}`));return[..._e,...Tt(qe.links)]},[]))(Z),Ie=await Promise.all(X);F({type:"CHECK_PERMISSIONS_SUCCEEDED",data:Ie})})()},[l,d]),{isLoading:k,menu:Z}},ft=e(8997),Bt=e(88423),at=e.n(Bt),Dt=e(56236),xt=e.n(Dt);const ht={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},Wt=(d,l)=>(0,m.ZP)(d,i=>{switch(l.type){case"GET_DATA_SUCCEEDED":{i.isLoading=!1,i.showHeaderLoader=!1,i.initialData=at()(l.data,d.fieldsToPick),i.modifiedData=at()(l.data,d.fieldsToPick);break}case"ON_CANCEL":{i.modifiedData=d.initialData,i.formErrors={};break}case"ON_CHANGE":{l.inputType==="password"&&!l.value?xt()(i.modifiedData,l.keys.split(".")):l.keys.includes("username")&&!l.value?Ce()(i.modifiedData,l.keys.split("."),null):Ce()(i.modifiedData,l.keys.split("."),l.value);break}case"ON_SUBMIT":{i.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{i.initialData=at()(l.data,d.fieldsToPick),i.modifiedData=at()(l.data,d.fieldsToPick),i.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{i.formErrors=l.errors,i.showHeaderButtonLoader=!1;break}default:return i}});var Kt=(d,l)=>({...d,fieldsToPick:l}),Et=(d,l,i,M)=>{const[{formErrors:k,initialData:Z,isLoading:F,modifiedData:N,showHeaderButtonLoader:Q,showHeaderLoader:De},X]=(0,t.useReducer)(Wt,ht,()=>Kt(ht,M)),Ie=(0,p.lm)(),{lockApp:ze,unlockApp:_e}=(0,p.o1)(),{get:qe,put:Pt}=(0,p.kY)();return(0,t.useEffect)(()=>{d&&(async()=>{try{const{data:{data:ke}}=await qe(d);X({type:"GET_DATA_SUCCEEDED",data:ke,fieldsToPick:M})}catch(ke){console.error(ke.response),Ie({type:"warning",message:{id:"notification.error"}})}})()},[d]),[{formErrors:k,initialData:Z,isLoading:F,modifiedData:N,showHeaderButtonLoader:Q,showHeaderLoader:De},X,{handleCancel:()=>{X({type:"ON_CANCEL"})},handleChange:({target:{name:$e,value:ke,type:xe}})=>{X({type:"ON_CHANGE",inputType:xe,keys:$e,value:ke})},handleSubmit:async $e=>{$e.preventDefault();const ke=await(0,ft.R6)(N,l);if(X({type:"SET_ERRORS",errors:ke||{}}),!ke)try{ze(),X({type:"ON_SUBMIT"});const xe=st()(N,["confirmPassword","registrationToken"]);xe.roles&&(xe.roles=xe.roles.map(At=>At.id));const{data:{data:Ue}}=await Pt(d,xe);i(Ue),X({type:"ON_SUBMIT_SUCCEEDED",data:Ue}),Ie({type:"success",message:{id:"notification.success.saved"}})}catch(xe){const Ue=xe?.response?.payload??{data:{}};Ue?.data&&typeof Ue.data=="string"?Ie({type:"warning",message:Ue.data}):Ie({type:"warning",message:Ue.message});const At=(0,ft.Iz)(Ue);X({type:"SET_ERRORS",errors:At})}finally{_e()}},setField:($e,ke)=>{X({type:"ON_CHANGE",keys:$e,value:ke})}}]},It=()=>(0,t.useContext)(r.$l);const Ot=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),bt=()=>{const{latestStrapiReleaseTag:d,shouldUpdateStrapi:l}=useAppInfo(),i=useNotification();return useEffect(()=>{l&&Ot&&i({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${d}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[d,l,i]),null};var Ht=null,wt=()=>(0,t.useContext)(r.Rj),yt=(d,l,i,M)=>{const[k,Z]=(0,t.useState)(!1),F=(0,p.lm)(),{post:N}=(0,p.kY)(),{formatAPIError:Q}=(0,p.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:X}}}=await N(`${d}${l}/regenerate`);Z(!1),i(X)}catch(X){Z(!1),M?M(X):F({type:"warning",message:Q(X)})}},isLoadingConfirmation:k}}},47950:function(D,g){"use strict";g.Z=[]},73086:function(D,g){"use strict";g.Z=[]},954:function(D,g,e){"use strict";e.d(g,{sg:function(){return O},bU:function(){return y},ZP:function(){return T}});var t=e(32735),r=e(8471),n=e(60216),v=e.n(n),p=e(72850),m=e(87933),P=e(67879),A=e(34853),L=e(20139),I=()=>{const{changeLocale:w,localeNames:x}=(0,L.Z)(),{locale:j}=(0,P.Z)();return t.createElement(A.O,{label:x[j]},Object.keys(x).map(ee=>t.createElement(A.s,{onClick:()=>w(ee),key:ee},x[ee])))};const E=(0,r.ZP)(p.x)`
|
|
20
|
+
margin: 0 auto;
|
|
21
|
+
width: 552px;
|
|
22
|
+
`,O=(0,r.ZP)(m.k)`
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
`,y=({children:w})=>t.createElement(E,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},w);y.propTypes={children:v().node.isRequired};const b=({children:w})=>t.createElement("div",null,t.createElement(m.k,{as:"header",justifyContent:"flex-end"},t.createElement(p.x,{paddingTop:6,paddingRight:8},t.createElement(I,null))),t.createElement(p.x,{paddingTop:2,paddingBottom:11},w));b.propTypes={children:v().node.isRequired};var T=b},56761:function(D,g){"use strict";const e=[];g.Z=e},72218:function(D,g,e){"use strict";var t=e(8471),r=e(63642);const n=(0,t.ZP)(r.E)`
|
|
25
|
+
svg {
|
|
26
|
+
height: 1rem;
|
|
27
|
+
width: 1rem;
|
|
28
|
+
path {
|
|
29
|
+
fill: ${({theme:v})=>v.colors.neutral600};
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
`;g.Z=n},1115:function(D,g,e){"use strict";var t=e(32735),r=e(24989),n=e(54894),v=e(60492),p=e(10369),m=e(27649),P=e(72850),A=e(49372),L=e(87933),B=e(8284),I=e(41415),E=e(60216),O=e.n(E),y=e(67879),b=e(8471),T=e(92802),w=e(954),x=e(10190),j=e(72218);const ee=(0,b.ZP)(p.o)`
|
|
33
|
+
::-ms-reveal {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
`,te=({onSubmit:C,schema:h,children:Y})=>{const[$,ae]=(0,t.useState)(!1),{formatMessage:o}=(0,y.Z)();return t.createElement(m.o,null,t.createElement(w.bU,null,t.createElement(T.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:C,validationSchema:h,validateOnChange:!1},({values:we,errors:oe,handleChange:Ee})=>t.createElement(r.l0,{noValidate:!0},t.createElement(w.sg,null,t.createElement(x.Z,null),t.createElement(P.x,{paddingTop:6,paddingBottom:1},t.createElement(A.Z,{variant:"alpha",as:"h1"},o({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),t.createElement(P.x,{paddingBottom:7},t.createElement(A.Z,{variant:"epsilon",textColor:"neutral600"},o({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),oe.errorMessage&&t.createElement(A.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},oe.errorMessage)),t.createElement(L.k,{direction:"column",alignItems:"stretch",gap:6},t.createElement(p.o,{error:oe.email?o({id:oe.email,defaultMessage:"This value is required."}):"",value:we.email,onChange:Ee,label:o({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:o({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),t.createElement(ee,{error:oe.password?o({id:oe.password,defaultMessage:"This value is required."}):"",onChange:Ee,value:we.password,label:o({id:"global.password",defaultMessage:"Password"}),name:"password",type:$?"text":"password",endAction:t.createElement(j.Z,{onClick:Re=>{Re.stopPropagation(),ae(Ge=>!Ge)},label:o($?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},$?t.createElement(n.Z,null):t.createElement(v.Z,null)),required:!0}),t.createElement(B.X,{onValueChange:Re=>{Ee({target:{value:Re,name:"rememberMe"}})},value:we.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},o({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),t.createElement(I.z,{fullWidth:!0,type:"submit"},o({id:"Auth.form.button.login",defaultMessage:"Login"}))))),Y),t.createElement(L.k,{justifyContent:"center"},t.createElement(P.x,{paddingTop:4},t.createElement(r.rU,{to:"/auth/forgot-password"},o({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};te.defaultProps={children:null,onSubmit(){}},te.propTypes={children:O().node,onSubmit:O().func,schema:O().shape({type:O().string.isRequired}).isRequired},g.Z=te},5365:function(D,g,e){"use strict";var t=e(32735),r=e(60216),n=e.n(r),v=e(1115),p=e(954);const m=P=>t.createElement(p.ZP,null,t.createElement(v.Z,{...P}));m.defaultProps={onSubmit:P=>P.preventDefault()},m.propTypes={onSubmit:n().func},g.Z=m},53951:function(D,g,e){"use strict";e.r(g);var t=e(32735),r=e(24989),n=e(27649),v=e(82055),p=e(17e3),m=e(9695),P=e(8482),A=e(25386),L=e(67879);const B=()=>{const{formatMessage:I}=(0,L.Z)();return(0,r.go)(),t.createElement(n.o,{labelledBy:"title"},t.createElement(v.T,{id:"title",title:I({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),t.createElement(p.D,null,t.createElement(m.x,{action:t.createElement(r.Qj,{variant:"secondary",endIcon:t.createElement(P.Z,null),to:"/"},I({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:I({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:t.createElement(A.Z,{width:"10rem"}),shadow:"tableShadow"})))};g.default=B},26123:function(D,g){"use strict";g.Z={}},41832:function(D,g){"use strict";const e=({data:t})=>{try{return Object.keys(t).reduce((r,n)=>{const v=t[n][0];return r[n]={id:v,defaultMessage:v},r},{})}catch{return{}}};g.Z=e},8997:function(D,g,e){"use strict";e.d(g,{R6:function(){return n},ot:function(){return B},Iz:function(){return I.Z},Pp:function(){return j},IF:function(){return x},Qy:function(){return te},WW:function(){return O}});var t=e(24989),n=async(C,h)=>{let Y=null;try{await h.validate(C,{abortEarly:!1})}catch($){Y=(0,t.CJ)($)}return Y},v=e(32735),p=e(60216),m=e.n(p),P=e(53038);const A=({loadComponent:C})=>{const[h,Y]=(0,v.useState)(null);return(0,v.useEffect)(()=>{(async()=>{try{const ae=await C();Y(()=>ae.default)}catch(ae){console.log(ae)}})()},[C]),h?v.createElement(h,null):v.createElement(t.dO,null)},L=(C,h,Y)=>v.createElement(P.AW,{render:()=>v.createElement(A,{loadComponent:C}),key:h,path:h,exact:Y||!1});A.propTypes={loadComponent:m().func.isRequired};var B=L,I=e(41832),O=C=>C.filter((h,Y,$)=>$.findIndex(ae=>ae.key===h.key)===Y),y=e(98978);const b=C=>sortBy(C,h=>h.name);var T=null,x=C=>`/admin/${C}`,j=(C,h="")=>[C,h].filter(Y=>Y).join(" ");const ee={bufferToHex(C){return[...new Uint8Array(C)].map(h=>h.toString(16).padStart(2,"0")).join("")},async digestMessage(C){const h=new TextEncoder().encode(C),Y=await crypto.subtle.digest("SHA-256",h);return this.bufferToHex(Y)}};async function te(C){if(!C)return null;try{return await ee.digestMessage(C.email)}catch{return null}}},58414:function(D,g,e){"use strict";e.d(g,{pl:function(){return L},q5:function(){return I.Z}});var t=e(32735),r=e(24989),n=e(8997),v=e(97889);const p={data:[],isLoading:!0};var P=(E,O)=>(0,v.ZP)(E,y=>{switch(O.type){case"GET_DATA_SUCCEEDED":{y.data=O.data,y.isLoading=!1;break}case"GET_DATA_ERROR":{y.isLoading=!1;break}default:return y}}),L=({ssoEnabled:E})=>{const[O,y]=(0,t.useReducer)(P,p),b=(0,r.lm)(),{get:T}=(0,r.kY)();return(0,t.useEffect)(()=>{(async()=>{try{if(!E){y({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:x}=await T((0,n.IF)("providers"));y({type:"GET_DATA_SUCCEEDED",data:x})}catch(x){console.error(x),y({type:"GET_DATA_ERROR"}),b({type:"warning",message:{id:"notification.error"}})}})()},[T,E,b]),O},B=e(21306),I=e(2690)},21306:function(D,g,e){"use strict";var t=e(32735),r=e(67879),n=e(53038),v=e(24989),p=e(36866),m=e.n(p),P=e(2690);const A="strapi-notification-seat-limit",L="https://cloud.strapi.io/profile/billing",B="https://strapi.io/billing/request-seats",I=()=>{const{formatMessage:E}=(0,r.Z)();let{license:O}=(0,P.Z)();const y=(0,v.lm)(),{pathname:b}=(0,n.TH)();(0,t.useEffect)(()=>{if(!O?.data)return;const{enforcementUserCount:T,permittedSeats:w,licenseLimitStatus:x,isHostedOnStrapiCloud:j}=O?.data??{},ee=!m()(w)&&!window.sessionStorage.getItem(`${A}-${b}`)&&(x==="AT_LIMIT"||x==="OVER_LIMIT");let te;x==="OVER_LIMIT"?te="warning":x==="AT_LIMIT"&&(te="softWarning"),ee&&y({type:te,message:E({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:x}),title:E({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:x,enforcementUserCount:T,permittedSeats:w}),link:{url:j?L:B,label:E({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:j})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${A}-${b}`,!0)}})},[y,O.data,b,E])};g.Z=I},2690:function(D,g,e){"use strict";var t=e(24989),r=e(20108),n=e(83983);const v=()=>{const p=(0,t.ss)(n.Z.settings.users),{isLoading:m,allowedActions:{canRead:P,canCreate:A,canUpdate:L,canDelete:B}}=p,I=P&&A&&L&&B,{get:E}=(0,t.kY)(),O=async()=>{const{data:{data:b}}=await E("/admin/license-limit-information");return b};return{license:(0,r.useQuery)(["ee","license-limit-info"],O,{enabled:!m&&I})}};g.Z=v},66334:function(D,g,e){"use strict";var t=e(83983);const r=[];window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)&&r.push({intlLabel:{id:"global.auditLogs",defaultMessage:"Audit Logs"},to:"/settings/audit-logs?pageSize=50&page=1&sort=date:DESC",id:"auditLogs",isDisplayed:!1,permissions:t.Z.settings.auditLogs.main});const n=r;g.Z=n},11545:function(D,g,e){"use strict";var t=e(83983);const r=[];window.strapi.features.isEnabled(window.strapi.features.SSO)&&r.push({intlLabel:{id:"Settings.sso.title",defaultMessage:"Single Sign-On"},to:"/settings/single-sign-on",id:"sso",isDisplayed:!1,permissions:t.Z.settings.sso.main}),window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)&&r.push({intlLabel:{id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"},to:"/settings/review-workflows",id:"review-workflows",isDisplayed:!1,permissions:t.Z.settings["review-workflows"].main}),g.Z=r},68944:function(D,g,e){"use strict";e.d(g,{Z:function(){return I}});var t=e(32735),r=e(53038),n=e(67879),v=e(49189),p=e.n(v),m=e(24989),P=e(8997),L=()=>{const{params:{authResponse:E}}=(0,r.$B)("/auth/login/:authResponse"),{formatMessage:O}=(0,n.Z)(),{push:y}=(0,r.k6)(),b=(0,t.useRef)(O);let T=(0,t.useCallback)(()=>{y(`/auth/oops?info=${encodeURIComponent(b.current({id:"Auth.form.button.login.providers.error",defaultMessage:"We cannot connect you through the selected provider."}))}`)},[y]);const{get:w}=(0,m.kY)(),x=(0,t.useCallback)(async()=>{try{const j=p().get("jwtToken");if(m.I8.clearAppStorage(),j){m.I8.setToken(j,!0);const ee=(0,P.IF)("users/me"),{data:{data:te}}=await w(ee);m.I8.setUserInfo(te,!0),p().remove("jwtToken"),y("/auth/login")}}catch{T()}},[w,y,T]);return(0,t.useEffect)(()=>{E==="error"&&T(),E==="success"&&x()},[E,x,T]),t.createElement(m.dO,null)},I=[{Component:()=>({default:L}),to:"/auth/login/:authResponse",exact:!0}]},98768:function(D,g,e){"use strict";var t=e(32735),r=e(60216),n=e.n(r),v=e(8471),p=e(9026),m=e(72850),P=e(87933),A=e(49372),L=e(67879),B=e(1115),I=e(58414),E=e(954),O=e(33205);const y=(0,v.ZP)(p.i)`
|
|
37
|
+
flex: 1;
|
|
38
|
+
`,b=T=>{const w=window.strapi.features.isEnabled(window.strapi.features.SSO),{isLoading:x,data:j}=(0,I.pl)({ssoEnabled:w}),{formatMessage:ee}=(0,L.Z)();return!w||!x&&j.length===0?t.createElement(E.ZP,null,t.createElement(B.Z,{...T})):t.createElement(E.ZP,null,t.createElement(B.Z,{...T},t.createElement(m.x,{paddingTop:7},t.createElement(P.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(P.k,null,t.createElement(y,null),t.createElement(m.x,{paddingLeft:3,paddingRight:3},t.createElement(A.Z,{variant:"sigma",textColor:"neutral600"},ee({id:"Auth.login.sso.divider"}))),t.createElement(y,null)),t.createElement(O.Z,{providers:j,displayAllProviders:!1})))))};b.defaultProps={onSubmit:T=>T.preventDefault(),requestError:null},b.propTypes={formErrors:n().object.isRequired,modifiedData:n().object.isRequired,onChange:n().func.isRequired,onSubmit:n().func,requestError:n().object},g.Z=b},33205:function(D,g,e){"use strict";var t=e(32735),r=e(60216),n=e.n(r),v=e(87933),p=e(63919),m=e(49372),P=e(15335),A=e(5803),L=e(8471),B=e(67879),I=e(14911);const E=L.ZP.a`
|
|
39
|
+
width: ${136/16}rem;
|
|
40
|
+
display: flex;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
align-items: center;
|
|
43
|
+
height: ${48/16}rem;
|
|
44
|
+
border: 1px solid ${({theme:T})=>T.colors.neutral150};
|
|
45
|
+
border-radius: ${({theme:T})=>T.borderRadius};
|
|
46
|
+
text-decoration: inherit;
|
|
47
|
+
&:link {
|
|
48
|
+
text-decoration: none;
|
|
49
|
+
}
|
|
50
|
+
color: ${({theme:T})=>T.colors.neutral600};
|
|
51
|
+
`,O=(0,L.ZP)(v.k)`
|
|
52
|
+
& a:not(:first-child):not(:last-child) {
|
|
53
|
+
margin: 0 ${({theme:T})=>T.spaces[2]};
|
|
54
|
+
}
|
|
55
|
+
& a:first-child {
|
|
56
|
+
margin-right: ${({theme:T})=>T.spaces[2]};
|
|
57
|
+
}
|
|
58
|
+
& a:last-child {
|
|
59
|
+
margin-left: ${({theme:T})=>T.spaces[2]};
|
|
60
|
+
}
|
|
61
|
+
`,y=({provider:T})=>t.createElement(p.u,{label:T.displayName},t.createElement(E,{href:`${window.strapi.backendURL}/admin/connect/${T.uid}`},T.icon?t.createElement("img",{src:T.icon,"aria-hidden":!0,alt:"",height:"32px"}):t.createElement(m.Z,null,T.displayName)));y.propTypes={provider:n().shape({icon:n().string,displayName:n().string.isRequired,uid:n().string.isRequired}).isRequired};const b=({providers:T,displayAllProviders:w})=>{const{formatMessage:x}=(0,B.Z)();return w?t.createElement(P.r,{gap:4},T.map(j=>t.createElement(A.P,{key:j.uid,col:4},t.createElement(y,{provider:j})))):T.length>2&&!w?t.createElement(P.r,{gap:4},T.slice(0,2).map(j=>t.createElement(A.P,{key:j.uid,col:4},t.createElement(y,{provider:j}))),t.createElement(A.P,{col:4},t.createElement(p.u,{label:x({id:"global.see-more"})},t.createElement(E,{as:I.rU,to:"/auth/providers"},t.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):t.createElement(O,{justifyContent:"center"},T.map(j=>t.createElement(y,{key:j.uid,provider:j})))};b.defaultProps={displayAllProviders:!0},b.propTypes={providers:n().arrayOf(n().object).isRequired,displayAllProviders:n().bool},g.Z=b},7277:function(D,g,e){"use strict";e.d(g,{Z:function(){return C}});var t=e(32735),r=e(53038),n=e(8471),v=e(24989),p=e(9026),m=e(27649),P=e(72850),A=e(49372),L=e(87933),B=e(23866),I=e(41415),E=e(67879),O=e(58414),y=e(954),b=e(33205),T=e(10190);const w=(0,n.ZP)(p.i)`
|
|
62
|
+
flex: 1;
|
|
63
|
+
`;var j=()=>{const h=window.strapi.features.isEnabled(window.strapi.features.SSO),{push:Y}=(0,r.k6)(),{formatMessage:$}=(0,E.Z)(),{isLoading:ae,data:o}=(0,O.pl)({ssoEnabled:h}),we=()=>{Y("/auth/login")};return!h||!ae&&o.length===0?t.createElement(r.l_,{to:"/auth/login"}):t.createElement(y.ZP,null,t.createElement(m.o,null,t.createElement(y.bU,null,t.createElement(y.sg,null,t.createElement(T.Z,null),t.createElement(P.x,{paddingTop:6,paddingBottom:1},t.createElement(A.Z,{as:"h1",variant:"alpha"},$({id:"Auth.form.welcome.title"}))),t.createElement(P.x,{paddingBottom:7},t.createElement(A.Z,{variant:"epsilon",textColor:"neutral600"},$({id:"Auth.login.sso.subtitle"})))),t.createElement(L.k,{direction:"column",alignItems:"stretch",gap:7},ae?t.createElement(L.k,{justifyContent:"center"},t.createElement(B.a,null,$({id:"Auth.login.sso.loading"}))):t.createElement(b.Z,{providers:o}),t.createElement(L.k,null,t.createElement(w,null),t.createElement(P.x,{paddingLeft:3,paddingRight:3},t.createElement(A.Z,{variant:"sigma",textColor:"neutral600"},$({id:"or"}))),t.createElement(w,null)),t.createElement(I.z,{fullWidth:!0,size:"L",onClick:we},$({id:"Auth.form.button.login.strapi"})))),t.createElement(L.k,{justifyContent:"center"},t.createElement(P.x,{paddingTop:4},t.createElement(v.rU,{to:"/auth/forgot-password"},t.createElement(A.Z,{variant:"pi"},$({id:"Auth.link.forgot-password"})))))))},ee=e(78834),C={...ee.Z,providers:{Component:j,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""}}},99568:function(D,g){"use strict";const e={settings:{auditLogs:{main:[{action:"admin::audit-logs.read",subject:null}],read:[{action:"admin::audit-logs.read",subject:null}]},"review-workflows":{main:[{action:"admin::review-workflows.read",subject:null}]},sso:{main:[{action:"admin::provider-login.read",subject:null}],read:[{action:"admin::provider-login.read",subject:null}],update:[{action:"admin::provider-login.update",subject:null}]}}};g.Z=e},48224:function(D,g,e){var t={"./ar.json":[38677,7958],"./ca.json":[90169,3516],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./eu.json":[69511,8360],"./fr.json":[8399,8006],"./gu.json":[10182,2248],"./he.json":[21757,830],"./hi.json":[43206,6332],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./ml.json":[11309,9903],"./ms.json":[75973,3025],"./nl.json":[80381,2671],"./no.json":[82446,562],"./pl.json":[84008,7846],"./pt-BR.json":[91417,9647],"./pt.json":[41830,3340],"./ru.json":[57098,123],"./sa.json":[92900,9726],"./sk.json":[52204,606],"./sv.json":[43211,9303],"./th.json":[49582,749],"./tr.json":[99154,395],"./uk.json":[2987,7403],"./vi.json":[50576,3278],"./zh-Hans.json":[35964,2553],"./zh.json":[91999,1011]};function r(n){if(!e.o(t,n))return Promise.resolve().then(function(){var m=new Error("Cannot find module '"+n+"'");throw m.code="MODULE_NOT_FOUND",m});var v=t[n],p=v[0];return e.e(v[1]).then(function(){return e.t(p,19)})}r.keys=function(){return Object.keys(t)},r.id=48224,D.exports=r},47750:function(D,g,e){"use strict";D.exports=e.p+"70674f63fc3904c20de0.svg"}}]);
|
package/build/{admin-edit-roles-page.6fe9de49.chunk.js → admin-edit-roles-page.02c3b136.chunk.js}
RENAMED
|
@@ -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(
|
|
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`
|
|
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"}),
|
|
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`
|
|
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(10508),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"}),name:"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(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)`
|
|
217
217
|
border: ${x};
|
|
218
218
|
|
|
219
219
|
&:hover:not([aria-disabled='true']) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{83119:function(f,n){const e=()=>null;n.Z=e},83196:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),m=e(67879),c=e(72850),u=e(41415),
|
|
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:p},{formatMessage:D}){return t.createElement(A.k,null,t.createElement(a.qb,{isActive:p,variant:p?"success":"danger"}),t.createElement(U.Z,{textColor:"neutral800"},D({id:p?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:p?"Active":"Inactive"})))}}];const Ie=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),Be=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)();var Ue=()=>{const{formatAPIError:p}=(0,a.So)(),[D,v]=(0,t.useState)(!1),{allowedActions:{canCreate:W,canDelete:$,canRead:L}}=(0,a.ss)(s.Z.settings.users),S=(0,
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{83119:function(f,n){const e=()=>null;n.Z=e},83196:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),m=e(67879),c=e(72850),u=e(41415),r=e(5644),E=e(24989);const i=({displayedFilters:l})=>{const[o,O]=(0,t.useState)(!1),{formatMessage:d}=(0,m.Z)(),C=(0,t.useRef)(),y=()=>{O(_=>!_)};return t.createElement(t.Fragment,null,t.createElement(c.x,{paddingTop:1,paddingBottom:1},t.createElement(u.z,{variant:"tertiary",ref:C,startIcon:t.createElement(r.Z,null),onClick:y,size:"S"},d({id:"app.utils.filters",defaultMessage:"Filters"})),o&&t.createElement(E.J5,{displayedFilters:l,isVisible:o,onToggle:y,source:C})),t.createElement(E.W$,{filtersSchema:l}))};i.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=i},9814:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),m=e.n(s),c=e(41415),u=e(7961);const r=({onClick:E})=>{const{formatMessage:i}=(0,a.Z)();return t.createElement(c.z,{onClick:E,startIcon:t.createElement(u.Z,null),size:"S"},i({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};r.propTypes={onClick:m().func.isRequired},n.Z=r},60509:function(f,n){const e={firstname:"",lastname:"",email:"",roles:[]};n.Z=e},61358:function(f,n){const e=[];n.Z=e},76949:function(f,n,e){e.r(n),e.d(n,{default:function(){return We}});var t=e(32735),a=e(24989),s=e(83983),m=e(94638),c=e(27649),u=e(82055),r=e(99223),E=e(17e3),i=e(53038),l=e(67879),o=e(20108),O=e(60216),d=e.n(O),C=e(35658),y=e(94547),_=e(19786),B=e(82884),U=e(49372),A=e(87933),q=e(50563),x=e(72850),b=e(68625),te=e(4038),J=e(8997);const X=({canDelete:p,headers:D,entriesToDelete:v,onClickDelete:W,onSelectRow:$,withMainAction:L,withBulkActions:S,rows:N})=>{const{push:R,location:{pathname:F}}=(0,i.k6)(),{formatMessage:h}=(0,l.Z)();return t.createElement(C.p,null,N.map(g=>{const z=v.findIndex(T=>T===g.id)!==-1;return t.createElement(y.Tr,{key:g.id,...(0,a.X7)({fn:()=>R(`${F}/${g.id}`),condition:S})},L&&t.createElement(_.Td,{...a.UW},t.createElement(B.C,{"aria-label":h({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),checked:z,onChange:()=>{$({name:g.id,value:!z})}})),D.map(({key:T,cellFormatter:H,name:Z,...j})=>t.createElement(_.Td,{key:T},typeof H=="function"?H(g,{key:T,name:Z,formatMessage:h,...j}):t.createElement(U.Z,{textColor:"neutral800"},g[Z]||"-"))),S&&t.createElement(_.Td,null,t.createElement(A.k,{justifyContent:"end"},t.createElement(q.h,{onClick:()=>R(`${F}/${g.id}`),label:h({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(b.Z,null)}),p&&t.createElement(x.x,{paddingLeft:1,...a.UW},t.createElement(q.h,{onClick:()=>W(g.id),label:h({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(te.Z,null)})))))}))};X.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},X.propTypes={canDelete:d().bool,entriesToDelete:d().array,headers:d().array.isRequired,onClickDelete:d().func,onSelectRow:d().func,rows:d().array,withBulkActions:d().bool,withMainAction:d().bool};var ae=X,se=e(83196),P=e(20011),ne=e(41415),ue=e(85025),Ee=e(55225),de=e(11299),ge=e(31600),ce=e(15335),oe=e(5803),pe=e(11406),Me=e(92802),fe=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}]],Y=e(24346),Pe=Y.Ry().shape({firstname:Y.Z_().trim().required(a.I0.required),lastname:Y.Z_(),email:Y.Z_().email(a.I0.email).required(a.I0.required),roles:Y.IX().min(1,a.I0.required).required(a.I0.required)}),De={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 ve=(()=>window&&window.strapi&&window.strapi.isEE?e(64746).Z:e(60509).Z)(),he=(()=>window&&window.strapi&&window.strapi.isEE?e(43116).Z:e(61358).Z)(),Oe=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),me=p=>{let{queryName:D,onToggle:v}=p;const[W,$]=(0,t.useState)("create"),[L,S]=(0,t.useState)(!1),[N,R]=(0,t.useState)(null),F=(0,o.useQueryClient)(),{formatMessage:h}=(0,l.Z)(),g=(0,a.lm)(),{lockApp:z,unlockApp:T}=(0,a.o1)(),{post:H}=(0,a.kY)(),Z=(0,o.useMutation)(K=>H("/admin/users",K),{async onSuccess(K){let{data:V}=K;R(V.data.registrationToken),await F.refetchQueries(D),await F.refetchQueries(["ee","license-limit-info"]),ee(),S(!1)},onError(K){throw S(!1),g({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),K},onSettled(){T()}}),j=h({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),le=async(K,V)=>{let{setErrors:k}=V;z(),S(!0);try{await Z.mutateAsync(K)}catch(G){T(),G?.response?.data?.error.message==="Email already taken"&&k({email:G.response.data.error.message})}},ee=()=>{M?$(M):v()},{buttonSubmitLabel:w,isDisabled:Q,next:M}=De[W],Se=W==="create"?t.createElement(ne.z,{type:"submit",loading:L},h(w)):t.createElement(ne.z,{type:"button",loading:L,onClick:v},h(w));return t.createElement(ue.P,{onClose:v,labelledBy:"title"},t.createElement(Ee.x,null,t.createElement(de.O,{label:j},t.createElement(de.$,null,j))),t.createElement(Me.J9,{initialValues:ve,onSubmit:le,validationSchema:Pe,validateOnChange:!1},K=>{let{errors:V,handleChange:k,values:G}=K;return t.createElement(a.l0,null,t.createElement(ge.f,null,t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:6},W!=="create"&&t.createElement(Oe,{registrationToken:N}),t.createElement(x.x,null,t.createElement(U.Z,{variant:"beta",as:"h2"},h({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement(x.x,{paddingTop:4},t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(ce.r,{gap:5},_e.map(ie=>ie.map(I=>t.createElement(oe.P,(0,P.Z)({key:I.name},I.size),t.createElement(a.jm,(0,P.Z)({},I,{disabled:Q,error:V[I.name],onChange:k,value:G[I.name]}))))))))),t.createElement(x.x,null,t.createElement(U.Z,{variant:"beta",as:"h2"},h({id:"global.roles",defaultMessage:"User's role"})),t.createElement(x.x,{paddingTop:4},t.createElement(ce.r,{gap:5},t.createElement(oe.P,{col:6,xs:12},t.createElement(fe.Z,{disabled:Q,error:V.roles,onChange:k,value:G.roles})),he.map(ie=>ie.map(I=>t.createElement(oe.P,(0,P.Z)({key:I.name},I.size),t.createElement(a.jm,(0,P.Z)({},I,{disabled:Q,onChange:k,value:G[I.name]})))))))))),t.createElement(pe.m,{startActions:t.createElement(ne.z,{variant:"tertiary",onClick:v,type:"button"},h({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:Se}))}))};me.propTypes={onToggle:d().func.isRequired,queryName:d().array.isRequired};var ye=me;const re=({pagination:p})=>t.createElement(x.x,{paddingTop:4},t.createElement(A.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:p})));re.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},re.propTypes={pagination:d().shape({page:d().number,pageCount:d().number,pageSize:d().number,total:d().number})};var Ce=re;const Te=async(p,D)=>{const{get:v}=(0,a.tg)(),{data:{data:W}}=await v(`/admin/users${p}`);return D(),W},Ae=async p=>{const{post:D}=(0,a.tg)();await D("/admin/users/batch-delete",{ids:p})};var 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:p},{formatMessage:D}){return t.createElement(U.Z,{textColor:"neutral800"},p.map(v=>D({id:`Settings.permissions.users.${v.code}`,defaultMessage:v.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:p},{formatMessage:D}){return t.createElement(A.k,null,t.createElement(a.qb,{isActive:p,variant:p?"success":"danger"}),t.createElement(U.Z,{textColor:"neutral800"},D({id:p?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:p?"Active":"Inactive"})))}}];const Ie=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),Be=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)();var Ue=()=>{const{formatAPIError:p}=(0,a.So)(),[D,v]=(0,t.useState)(!1),{allowedActions:{canCreate:W,canDelete:$,canRead:L}}=(0,a.ss)(s.Z.settings.users),S=(0,o.useQueryClient)(),N=(0,a.lm)(),{formatMessage:R}=(0,l.Z)(),{search:F}=(0,i.TH)();(0,a.go)(),Be();const{notifyStatus:h}=(0,m.G)(),g=["users",F],z=Re.map(M=>({...M,metadatas:{...M.metadatas,label:R(M.metadatas.label)}})),T=R({id:"global.users",defaultMessage:"Users"}),H=()=>{h(R({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:T}))},{status:Z,data:j,isFetching:le}=(0,o.useQuery)(g,()=>Te(F,H),{enabled:L,retry:!1,onError(M){N({type:"warning",message:{id:"notification.error",message:p(M),defaultMessage:"An error occured"}})}}),ee=()=>{v(M=>!M)},w=(0,o.useMutation)(M=>Ae(M),{async onSuccess(){await S.refetchQueries(g),await S.refetchQueries(["ee","license-limit-info"])},onError(M){N({type:"warning",message:{id:"notification.error",message:p(M),defaultMessage:"An error occured"}})}}),Q=Z!=="success"&&Z!=="error"||Z==="success"&≤return t.createElement(c.o,{"aria-busy":Q},t.createElement(a.SL,{name:"Users"}),t.createElement(u.T,{primaryAction:W&&t.createElement(Ie,{onClick:ee}),title:T,subtitle:R({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),L&&t.createElement(r.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:R({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:T})}),t.createElement(se.Z,{displayedFilters:Le}))}),t.createElement(E.D,{canRead:L},!L&&t.createElement(a.ZF,null),Z==="error"&&t.createElement("div",null,"TODO: An error occurred"),L&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:Q,onConfirmDeleteAll:w.mutateAsync,onConfirmDelete:M=>w.mutateAsync([M]),headers:z,rows:j?.results,withBulkActions:!0,withMainAction:$},t.createElement(ae,{canDelete:$,headers:z,rows:j?.results||[],withBulkActions:!0,withMainAction:$})),t.createElement(Ce,{pagination:j?.pagination}))),D&&t.createElement(ye,{onToggle:ee,queryName:g}))},We=()=>t.createElement(a.O4,{permissions:s.Z.settings.users.main},t.createElement(Ue,null))},76779:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),m=e(50563),c=e(24989),u=e(47765),r=e(59087),E=e.n(r),i=e(67879);const l=({children:o,target:O})=>{const d=(0,c.lm)(),{formatMessage:C}=(0,i.Z)(),y=()=>{d({type:"info",message:{id:"notification.link-copied"}})},_=C({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"});return t.createElement(c.Y_,{endAction:t.createElement(r.CopyToClipboard,{onCopy:y,text:O},t.createElement(m.h,{label:_,noBorder:!0,icon:t.createElement(u.Z,null)})),title:O,titleEllipsis:!0,subtitle:o,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};l.propTypes={children:s().oneOfType([s().element,s().string]).isRequired,target:s().string.isRequired},n.Z=l},16325:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),m=e.n(s),c=e(78246),u=e(76779);const r=({registrationToken:E})=>{const{formatMessage:i}=(0,a.Z)(),l=`${window.location.origin}${c.Z}auth/register?registrationToken=${E}`;return t.createElement(u.Z,{target:l},i({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};r.defaultProps={registrationToken:""},r.propTypes={registrationToken:m().string},n.Z=r},4397:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),m=e(67879),c=e(68465),u=e(84967),r=e(20108),E=e(8471),i=e(27169),l=e(24989);const o=E.F4`
|
|
3
3
|
from {
|
|
4
4
|
transform: rotate(0deg);
|
|
5
5
|
}
|
|
@@ -7,28 +7,28 @@
|
|
|
7
7
|
transform: rotate(359deg);
|
|
8
8
|
}
|
|
9
9
|
`,O=E.ZP.div`
|
|
10
|
-
animation: ${
|
|
11
|
-
`,d=()=>t.createElement(O,null,t.createElement(i.Z,null)),C=async()=>{const{get:_}=(0,l.tg)(),{data:B}=await _("/admin/roles");return B.data},y=({disabled:_,error:B,onChange:U,value:A})=>{const{status:q,data:x}=(0,
|
|
10
|
+
animation: ${o} 2s infinite linear;
|
|
11
|
+
`,d=()=>t.createElement(O,null,t.createElement(i.Z,null)),C=async()=>{const{get:_}=(0,l.tg)(),{data:B}=await _("/admin/roles");return B.data},y=({disabled:_,error:B,onChange:U,value:A})=>{const{status:q,data:x}=(0,r.useQuery)(["roles"],C,{staleTime:5e4}),{formatMessage:b}=(0,m.Z)(),te=B?b({id:B,defaultMessage:B}):"",J=b({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),X=b({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),ae=b({id:"app.components.Select.placeholder",defaultMessage:"Select"}),se=q==="loading"?t.createElement(d,null):void 0;return t.createElement(c.P,{id:"roles",disabled:_,error:te,hint:X,label:J,name:"roles",onChange:P=>{U({target:{name:"roles",value:P}})},placeholder:ae,multi:!0,startIcon:se,value:A.map(P=>P.toString()),withTags:!0,required:!0},(x||[]).map(P=>t.createElement(u.W,{key:P.id,value:P.id.toString()},b({id:`global.${P.code}`,defaultMessage:P.name}))))};y.defaultProps={disabled:!1,error:void 0},y.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},n.Z=y},99724:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),m=e.n(s),c=e(87933),u=e(63919),r=e(99140),E=e(41415),i=e(69932),l=e(7961),o=e(36866),O=e.n(o),d=e(58414);const C=({onClick:y})=>{const{formatMessage:_}=(0,a.Z)(),{license:B}=(0,d.q5)(),{permittedSeats:U,shouldStopCreate:A}=B?.data??{};return t.createElement(c.k,{gap:2},!O()(U)&&A&&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(r.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:i.Z})),t.createElement(E.z,{"data-testid":"create-user-button",onClick:y,startIcon:t.createElement(l.Z,null),size:"S",disabled:A},_({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};C.propTypes={onClick:m().func.isRequired},n.Z=C},64746:function(f,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(f,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(f,n,e){var t=e(32735),a=e(67879),s=e(60216),m=e.n(s),c=e(78246),u=e(76779);const r=({registrationToken:E})=>{const{formatMessage:i}=(0,a.Z)();return E?t.createElement(u.Z,{target:`${window.location.origin}${c.Z}auth/register?registrationToken=${E}`},i({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}${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."}))};r.defaultProps={registrationToken:""},r.propTypes={registrationToken:m().string},n.Z=r},11299:function(f,n,e){e.d(n,{$:function(){return i},O:function(){return l}});var t=e(74512),a=e(77277),s=e(8471),m=e(3685),c=e(87933),u=e(72850),r=e(49372);const E=(0,s.ZP)(c.k)`
|
|
12
12
|
svg {
|
|
13
13
|
height: ${10/16}rem;
|
|
14
14
|
width: ${10/16}rem;
|
|
15
15
|
path {
|
|
16
|
-
fill: ${({theme:
|
|
16
|
+
fill: ${({theme:o})=>o.colors.neutral500};
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
:last-of-type ${u.x} {
|
|
20
20
|
display: none;
|
|
21
21
|
}
|
|
22
|
-
:last-of-type ${
|
|
23
|
-
color: ${({theme:
|
|
24
|
-
font-weight: ${({theme:
|
|
22
|
+
:last-of-type ${r.Z} {
|
|
23
|
+
color: ${({theme:o})=>o.colors.neutral800};
|
|
24
|
+
font-weight: ${({theme:o})=>o.fontWeights.bold};
|
|
25
25
|
}
|
|
26
|
-
`,i=({children:
|
|
26
|
+
`,i=({children:o})=>(0,t.jsxs)(E,{inline:!0,as:"li",children:[(0,t.jsx)(r.Z,{variant:"pi",textColor:"neutral600",children:o}),(0,t.jsx)(u.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,t.jsx)(a.Z,{})})]});i.displayName="Crumb";const l=({children:o,label:O,...d})=>(0,t.jsxs)(c.k,{...d,children:[(0,t.jsx)(m.T,{children:O}),(0,t.jsx)("ol",{"aria-hidden":!0,children:o})]});l.displayName="Breadcrumbs"},99223:function(f,n,e){e.d(n,{Z:function(){return i}});var t=e(74512),a=e(32735),s=e(60216),m=e(8471),c=e(87933),u=e(72850);const r=(0,m.ZP)(c.k)`
|
|
27
27
|
& > * + * {
|
|
28
28
|
margin-left: ${({theme:l})=>l.spaces[2]};
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
margin-left: ${({pullRight:l})=>l?"auto":void 0};
|
|
32
|
-
`,E=(0,m.ZP)(
|
|
32
|
+
`,E=(0,m.ZP)(r)`
|
|
33
33
|
flex-shrink: 0;
|
|
34
|
-
`,i=({startActions:l,endActions:
|
|
34
|
+
`,i=({startActions:l,endActions:o})=>l||o?(0,t.jsx)(u.x,{paddingLeft:10,paddingRight:10,children:(0,t.jsx)(u.x,{paddingBottom:4,children:(0,t.jsxs)(c.k,{justifyContent:"space-between",alignItems:"flex-start",children:[l&&(0,t.jsx)(r,{wrap:"wrap",children:l}),o&&(0,t.jsx)(E,{pullRight:!0,children:o})]})})}):null;i.defaultProps={endActions:void 0,startActions:void 0},i.propTypes={endActions:s.node,startActions:s.node}},7961:function(f,n,e){e.d(n,{Z:function(){return s}});var t=e(74512);const a=m=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...m,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}}]);
|