@strapi/admin 4.1.9 → 4.1.10-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/admin/src/components/ConfigurationsProvider/index.js +51 -0
  2. package/admin/src/components/ConfigurationsProvider/reducer.js +28 -0
  3. package/admin/src/components/LeftMenu/index.js +4 -2
  4. package/admin/src/components/Providers/index.js +8 -4
  5. package/admin/src/components/UnauthenticatedLogo/index.js +4 -2
  6. package/admin/src/pages/App/index.js +7 -2
  7. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +85 -0
  8. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/init.js +13 -0
  9. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +43 -0
  10. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +116 -0
  11. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +28 -0
  12. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +25 -0
  13. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +67 -0
  14. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +176 -0
  15. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +82 -0
  16. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +51 -0
  17. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +97 -0
  18. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +85 -0
  19. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +28 -0
  20. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +149 -87
  21. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +16 -0
  22. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +3 -0
  23. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +17 -0
  24. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +76 -0
  25. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +17 -0
  26. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +21 -0
  27. package/admin/src/translations/en.json +25 -0
  28. package/build/7197.959bbe97.chunk.js +113 -0
  29. package/build/{9298.5b5c6ea1.chunk.js → 9298.f97fcef0.chunk.js} +2 -2
  30. package/build/Admin-authenticatedApp.d8767873.chunk.js +80 -0
  31. package/build/Admin_settingsPage.0d94a598.chunk.js +180 -0
  32. package/build/en-json.ca572384.chunk.js +1 -0
  33. package/build/index.html +1 -1
  34. package/build/{main.25315363.js → main.06f66609.js} +1 -1
  35. package/build/{runtime~main.1ecd9f7d.js → runtime~main.dc1c7ef6.js} +1 -1
  36. package/package.json +5 -5
  37. package/server/config/admin-actions.js +14 -0
  38. package/server/controllers/admin.js +33 -1
  39. package/server/routes/admin.js +28 -0
  40. package/server/services/index.js +1 -0
  41. package/server/services/project-settings.js +173 -0
  42. package/server/utils/index.d.ts +2 -0
  43. package/server/validation/project-settings.js +39 -0
  44. package/build/6706.b0b5124d.chunk.js +0 -113
  45. package/build/Admin-authenticatedApp.72cf6aa3.chunk.js +0 -80
  46. package/build/Admin_settingsPage.f83a7c21.chunk.js +0 -172
  47. package/build/en-json.3e1a222e.chunk.js +0 -1
@@ -1,113 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[6706],{48224:(z,R,e)=>{var t={"./ar.json":[38677,7958],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./fr.json":[8399,8006],"./he.json":[21757,830],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./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],"./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 p(i){if(!e.o(t,i))return Promise.resolve().then(()=>{var O=new Error("Cannot find module '"+i+"'");throw O.code="MODULE_NOT_FOUND",O});var P=t[i],I=P[0];return e.e(P[1]).then(()=>e.t(I,19))}p.keys=()=>Object.keys(t),p.id=48224,z.exports=p},49760:(z,R,e)=>{"use strict";e.d(R,{Z:()=>Rt});var t=e(5173),p=e(10938),i=e(32735),P=e(5636),I=e(60216),O=e.n(I),k=e(9808),X=e(90662),q=e(16540),Q=e(19192),D=e(58434),V=e(44526),F=e(37178),T=e(95602),j=e(83281),L=e(80144),N=e(83586);const H=({onSubmit:se,schema:Te})=>{const{formatMessage:le}=(0,P.useIntl)();return i.createElement(L.ZP,null,i.createElement(q.Main,null,i.createElement(L.bU,null,i.createElement(j.Formik,{enableReinitialize:!0,initialValues:{email:""},onSubmit:se,validationSchema:Te,validateOnChange:!1},({values:et,errors:we,handleChange:st})=>i.createElement(p.Form,{noValidate:!0},i.createElement(L.sg,null,i.createElement(N.Z,null),i.createElement(k.Box,{paddingTop:6,paddingBottom:7},i.createElement(T.Typography,{as:"h1",variant:"alpha"},le({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),we.errorMessage&&i.createElement(T.Typography,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},le({id:we.errorMessage,defaultMessage:"An error occurred"}))),i.createElement(X.Stack,{spacing:6},i.createElement(F.TextInput,{error:we.email?le({id:we.email,defaultMessage:"This email is invalid."}):"",value:et.email,onChange:st,label:le({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:le({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),i.createElement(V.Button,{type:"submit",fullWidth:!0},le({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),i.createElement(Q.Flex,{justifyContent:"center"},i.createElement(k.Box,{paddingTop:4},i.createElement(D.Link,{to:"/auth/login"},le({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};H.defaultProps={onSubmit:se=>se.preventDefault()},H.propTypes={onSubmit:O().func,schema:O().shape({type:O().string.isRequired}).isRequired};const Y=H,b=()=>{const{formatMessage:se}=(0,P.useIntl)();return i.createElement(L.ZP,null,i.createElement(q.Main,null,i.createElement(L.bU,null,i.createElement(L.sg,null,i.createElement(N.Z,null),i.createElement(k.Box,{paddingTop:6,paddingBottom:7},i.createElement(T.Typography,{as:"h1",variant:"alpha"},se({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),i.createElement(T.Typography,null,se({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),i.createElement(k.Box,{paddingTop:4},i.createElement(T.Typography,null,se({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),i.createElement(Q.Flex,{justifyContent:"center"},i.createElement(k.Box,{paddingTop:4},i.createElement(D.Link,{to:"/auth/login"},se({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},Fe=()=>{const{formatMessage:se}=(0,P.useIntl)(),le=(0,p.useQuery)().get("info")||se({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return i.createElement(L.ZP,null,i.createElement(q.Main,null,i.createElement(L.bU,null,i.createElement(L.sg,null,i.createElement(N.Z,null),i.createElement(k.Box,{paddingTop:6,paddingBottom:7},i.createElement(T.Typography,{as:"h1",variant:"alpha"},se({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),i.createElement(T.Typography,null,le),i.createElement(k.Box,{paddingTop:4},i.createElement(T.Typography,null,se({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),i.createElement(Q.Flex,{justifyContent:"center"},i.createElement(k.Box,{paddingTop:4},i.createElement(D.Link,{to:"/auth/login"},se({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))};var l=e(19615),ze=e(33795),Ie=e.n(ze),be=e(9086),Me=e.n(be),Je=e(52111),re=e(78330),de=e(37341),te=e.n(de),oe=e(33912),J=e.n(oe),ne=e(5141),U=e(43653),M=e.n(U),_=e(46148),ie=(se,Te,le)=>new Promise((et,we)=>{var st=ge=>{try{Re(le.next(ge))}catch(Xe){we(Xe)}},ve=ge=>{try{Re(le.throw(ge))}catch(Xe){we(Xe)}},Re=ge=>ge.done?et(ge.value):Promise.resolve(ge.value).then(st,ve);Re((le=le.apply(se,Te)).next())});const me=(0,l.default)(k.Box)`
2
- text-align: center;
3
- `,Oe=l.default.a`
4
- color: ${({theme:se})=>se.colors.primary600};
5
- `,Pe=(0,l.default)(F.TextInput)`
6
- ::-ms-reveal {
7
- display: none;
8
- }
9
- `,B=({authType:se,fieldsToDisable:Te,noSignin:le,onSubmit:et,schema:we})=>{const st=(0,p.useNotification)(),{push:ve}=(0,ne.useHistory)(),[Re,ge]=(0,i.useState)(!1),[Xe,ct]=(0,i.useState)(!1),[xe,It]=(0,i.useState)(0),[vt,At]=(0,i.useState)({}),{trackUsage:bt}=(0,p.useTracking)(),{formatMessage:ce}=(0,P.useIntl)(),Qe=(0,p.useQuery)().get("registrationToken");return(0,i.useEffect)(()=>{Qe&&ie(void 0,null,function*(){try{const{data:{data:pe}}=yield M().get(`${strapi.backendURL}/admin/registration-info?registrationToken=${Qe}`);pe&&At(pe)}catch(pe){const je=Ie()(pe,["response","data","message"],"An error occurred");st({type:"warning",message:je}),ve(`/auth/oops?info=${encodeURIComponent(je)}`)}})},[Qe]),i.createElement(L.ZP,null,i.createElement(L.bU,null,i.createElement(j.Formik,{enableReinitialize:!0,initialValues:{firstname:vt.firstname||"",lastname:vt.lastname||"",email:vt.email||"",password:"",confirmPassword:"",registrationToken:Qe||void 0,news:!1},onSubmit:(_e,pe)=>ie(void 0,null,function*(){try{yield we.validate(_e,{abortEarly:!1}),xe>0&&se==="register-admin"&&bt("didSubmitWithErrorsFirstAdmin",{count:xe.toString()}),et(Qe?{userInfo:Me()(_e,["registrationToken"]),registrationToken:Qe}:_e,pe)}catch(je){const tt=(0,p.getYupInnerErrors)(je);It(xe+1),pe.setErrors(tt)}}),validateOnChange:!1},({values:_e,errors:pe,handleChange:je})=>i.createElement(p.Form,{noValidate:!0},i.createElement(q.Main,null,i.createElement(L.sg,null,i.createElement(N.Z,null),i.createElement(k.Box,{paddingTop:6,paddingBottom:1},i.createElement(T.Typography,{as:"h1",variant:"alpha"},ce({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"}))),i.createElement(me,{paddingBottom:7},i.createElement(T.Typography,{variant:"epsilon",textColor:"neutral600"},ce({id:"Auth.form.register.subtitle",defaultMessage:"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."})))),i.createElement(X.Stack,{spacing:6},i.createElement(re.Grid,{gap:4},i.createElement(re.GridItem,{col:6},i.createElement(F.TextInput,{name:"firstname",required:!0,value:_e.firstname,error:pe.firstname?ce(pe.firstname):void 0,onChange:je,label:ce({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),i.createElement(re.GridItem,{col:6},i.createElement(F.TextInput,{name:"lastname",value:_e.lastname,onChange:je,label:ce({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),i.createElement(F.TextInput,{name:"email",disabled:Te.includes("email"),value:_e.email,onChange:je,error:pe.email?ce(pe.email):void 0,required:!0,label:ce({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),i.createElement(Pe,{name:"password",onChange:je,value:_e.password,error:pe.password?ce(pe.password):void 0,endAction:i.createElement(_.Z,{onClick:tt=>{tt.preventDefault(),ge(pt=>!pt)},label:ce(Re?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Re?i.createElement(J(),null):i.createElement(te(),null)),hint:ce({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:ce({id:"global.password",defaultMessage:"Password"}),type:Re?"text":"password"}),i.createElement(Pe,{name:"confirmPassword",onChange:je,value:_e.confirmPassword,error:pe.confirmPassword?ce(pe.confirmPassword):void 0,endAction:i.createElement(_.Z,{onClick:tt=>{tt.preventDefault(),ct(pt=>!pt)},label:ce(Xe?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Xe?i.createElement(J(),null):i.createElement(te(),null)),required:!0,label:ce({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirmation Password"}),type:Xe?"text":"password"}),i.createElement(Je.Checkbox,{onValueChange:tt=>{je({target:{value:tt,name:"news"}})},value:_e.news,name:"news","aria-label":"news"},ce({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:i.createElement(Oe,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},ce({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:i.createElement(Oe,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},ce({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),i.createElement(V.Button,{fullWidth:!0,size:"L",type:"submit"},ce({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!le&&i.createElement(k.Box,{paddingTop:4},i.createElement(Q.Flex,{justifyContent:"center"},i.createElement(D.Link,{label:"Auth.link.signin",to:"/auth/login"},ce({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};B.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:se=>se.preventDefault()},B.propTypes={authType:O().string.isRequired,fieldsToDisable:O().array,noSignin:O().bool,onSubmit:O().func,schema:O().shape({validate:O().func.isRequired,type:O().string.isRequired}).isRequired};const ae=B,fe=(0,l.default)(F.TextInput)`
10
- ::-ms-reveal {
11
- display: none;
12
- }
13
- `,Ve=({onSubmit:se,schema:Te})=>{const[le,et]=(0,i.useState)(!1),[we,st]=(0,i.useState)(!1),{formatMessage:ve}=(0,P.useIntl)();return i.createElement(L.ZP,null,i.createElement(q.Main,null,i.createElement(L.bU,null,i.createElement(j.Formik,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:se,validationSchema:Te,validateOnChange:!1},({values:Re,errors:ge,handleChange:Xe})=>i.createElement(p.Form,{noValidate:!0},i.createElement(L.sg,null,i.createElement(N.Z,null),i.createElement(k.Box,{paddingTop:6,paddingBottom:7},i.createElement(T.Typography,{as:"h1",variant:"alpha"},ve({id:"global.reset-password",defaultMessage:"Reset password"}))),ge.errorMessage&&i.createElement(T.Typography,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ve({id:ge.errorMessage,defaultMessage:"An error occurred"}))),i.createElement(X.Stack,{spacing:6},i.createElement(fe,{name:"password",onChange:Xe,value:Re.password,error:ge.password?ve({id:ge.password,defaultMessage:"This field is required."}):void 0,endAction:i.createElement(_.Z,{onClick:ct=>{ct.preventDefault(),et(xe=>!xe)},label:ve(le?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},le?i.createElement(J(),null):i.createElement(te(),null)),hint:ve({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:ve({id:"global.password",defaultMessage:"Password"}),type:le?"text":"password"}),i.createElement(fe,{name:"confirmPassword",onChange:Xe,value:Re.confirmPassword,error:ge.confirmPassword?ve({id:ge.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:i.createElement(_.Z,{onClick:ct=>{ct.preventDefault(),st(xe=>!xe)},label:ve(le?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},we?i.createElement(J(),null):i.createElement(te(),null)),required:!0,label:ve({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirmation Password"}),type:we?"text":"password"}),i.createElement(V.Button,{fullwidth:!0,type:"submit"},ve({id:"global.change-password",defaultMessage:"Change password"})))))),i.createElement(Q.Flex,{justifyContent:"center"},i.createElement(k.Box,{paddingTop:4},i.createElement(D.Link,{to:"/auth/login"},ve({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Ve.defaultProps={onSubmit:se=>se.preventDefault()},Ve.propTypes={onSubmit:O().func,schema:O().shape({type:O().string.isRequired}).isRequired};const qe=Ve;var gt=function(){return window&&window.strapi&&window.strapi.isEE?e(34970).Z:e(28055).Z}(),Ot={"forgot-password":{Component:Y,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:t.Ry().shape({email:t.Z_().email(p.translatedErrors.email).required(p.translatedErrors.required)}),inputsPrefix:""},"forgot-password-success":{Component:b,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:gt,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:t.Ry().shape({email:t.Z_().email(p.translatedErrors.email).required(p.translatedErrors.required),password:t.Z_().required(p.translatedErrors.required),rememberMe:t.Xg().nullable()}),inputsPrefix:""},oops:{Component:Fe,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:ae,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:t.Ry().shape({firstname:t.Z_().required(p.translatedErrors.required),lastname:t.Z_(),password:t.Z_().min(8,p.translatedErrors.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(p.translatedErrors.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(p.translatedErrors.required),registrationToken:t.Z_().required(p.translatedErrors.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:ae,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:t.Ry().shape({firstname:t.Z_().required(p.translatedErrors.required),lastname:t.Z_(),password:t.Z_().min(8,p.translatedErrors.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(p.translatedErrors.required),email:t.Z_().email(p.translatedErrors.email).strict().lowercase(p.translatedErrors.lowercase).required(p.translatedErrors.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(p.translatedErrors.required)}),inputsPrefix:""},"reset-password":{Component:qe,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:t.Ry().shape({password:t.Z_().min(8,p.translatedErrors.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(p.translatedErrors.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(p.translatedErrors.required)})}};const Rt=Ot},79613:(z,R,e)=>{"use strict";e.d(R,{Z:()=>O});var t=e(92891);const i={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},{action:"admin::marketplace.plugins.install",subject:null},{action:"admin::marketplace.plugins.uninstall",subject:null}],install:[{action:"admin::marketplace.plugins.install",subject:null}],read:[{action:"admin::marketplace.read",subject:null},{action:"admin::marketplace.plugins.uninstall",subject:null}],uninstall:[{action:"admin::marketplace.plugins.uninstall",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.create",subject:null},{action:"admin::api-tokens.read",subject:null},{action:"admin::api-tokens.update",subject:null},{action:"admin::api-tokens.delete",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}]}}};var P=function(){return window&&window.strapi&&window.strapi.isEE?e(8848).Z:e(99970).Z}(),I=(0,t.merge)(i,P);const O=I},46706:(z,R,e)=>{"use strict";e.r(R),e.d(R,{default:()=>pr});var t=e(32735),p=e(5141),i=e(10345),P=e(86349),I=e.n(P),O=e(88423),k=e.n(O),X=e(93839),q=e.n(X),Q=e(39996),D=e.n(Q),V=e(99357),F=e(81999),T=e(13055);const L=o=>(0,T.combineReducers)(o),H=(o,n)=>{const s=[];return o.forEach(m=>{s.push(m())}),(0,T.createStore)(L(n),{},(0,T.applyMiddleware)(...s))};var Y=e(61742),y=e(10938),b=e(16540),ee=e(5636),Fe=e(60216),l=e.n(Fe),ze=Object.defineProperty,Ie=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,Je=(o,n,s)=>n in o?ze(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,re=(o,n)=>{for(var s in n||(n={}))be.call(n,s)&&Je(o,s,n[s]);if(Ie)for(var s of Ie(n))Me.call(n,s)&&Je(o,s,n[s]);return o},de=(o,n)=>{var s={};for(var m in o)be.call(o,m)&&n.indexOf(m)<0&&(s[m]=o[m]);if(o!=null&&Ie)for(var m of Ie(o))n.indexOf(m)<0&&Me.call(o,m)&&(s[m]=o[m]);return s};const te=o=>{var n=o,{component:s,path:m}=n,g=de(n,["component","path"]);const{pathname:E,search:u}=(0,p.useLocation)();return t.createElement(p.Route,{path:m,render:c=>y.auth.getToken()!==null?t.createElement(s,re(re({},g),c)):t.createElement(p.Redirect,{to:{pathname:"/auth/login",search:E!=="/"&&`?redirectTo=${encodeURIComponent(`${E}${u}`)}`}})})};te.propTypes={component:l().any.isRequired,path:l().string.isRequired};const oe=(0,t.memo)(te);var J=e(81430),ne=e(67950),U=e(93587),M=e.n(U),_=e(43653),ie=e.n(_),me=e(39935),Oe=e.n(me),Pe=e(33795),B=e.n(Pe),ae=e(9086),fe=e.n(ae);const Ve="GUIDED_TOUR_CURRENT_STEP",qe="GUIDED_TOUR_COMPLETED_STEPS",gt="GUIDED_TOUR_SKIPPED",Ot=JSON.parse,Rt=JSON.stringify,Te={clear(){localStorage.removeItem(Ve),localStorage.removeItem(qe)},addCompletedStep:o=>{var n;const s=((n=Ot(localStorage.getItem(qe)))==null?void 0:n.slice())||[];s.includes(o)||(s.push(o),localStorage.setItem(qe,Rt(s)))},addCurrentStep:o=>{localStorage.setItem(Ve,Rt(o))},setSkipped:o=>{localStorage.setItem(gt,Rt(o))},get:o=>Ot(localStorage.getItem(o))};var le=e(76573),et=e(21460);const st=o=>o;var ve=e(49415),Re=e(92891);const ge={formErrors:{},modifiedData:{},requestError:null},Xe=(o,n)=>(0,ve.default)(o,s=>{switch(n.type){case"ON_CHANGE":{(0,Re.set)(s.modifiedData,n.keys.split("."),n.value);break}case"RESET_PROPS":return ge;case"SET_DATA":{s.modifiedData=n.data;break}case"SET_ERRORS":{s.formErrors=n.errors;break}case"SET_REQUEST_ERROR":{s.requestError={errorMessage:n.errorMessage,errorStatus:n.errorStatus};break}default:return s}});var ct=e(98399),xe=void 0;function It(o,n){var s=typeof Symbol!="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!s){if(Array.isArray(o)||(s=vt(o))||n&&o&&typeof o.length=="number"){s&&(o=s);var m=0,g=function(){};return{s:g,n:function(){return m>=o.length?{done:!0}:{done:!1,value:o[m++]}},e:function(v){throw v},f:g}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
14
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var E=!0,u=!1,c;return{s:function(){s=s.call(o)},n:function(){var v=s.next();return E=v.done,v},e:function(v){u=!0,c=v},f:function(){try{!E&&s.return!=null&&s.return()}finally{if(u)throw c}}}}function vt(o,n){if(!!o){if(typeof o=="string")return At(o,n);var s=Object.prototype.toString.call(o).slice(8,-1);if(s==="Object"&&o.constructor&&(s=o.constructor.name),s==="Map"||s==="Set")return Array.from(o);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return At(o,n)}}function At(o,n){(n==null||n>o.length)&&(n=o.length);for(var s=0,m=new Array(n);s<n;s++)m[s]=o[s];return m}var bt=Object.defineProperty,ce=Object.defineProperties,Zt=Object.getOwnPropertyDescriptors,Qe=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable,je=function(n,s,m){return s in n?bt(n,s,{enumerable:!0,configurable:!0,writable:!0,value:m}):n[s]=m},tt=function(n,s){for(var m in s||(s={}))_e.call(s,m)&&je(n,m,s[m]);if(Qe){var g=It(Qe(s)),E;try{for(g.s();!(E=g.n()).done;){var m=E.value;pe.call(s,m)&&je(n,m,s[m])}}catch(u){g.e(u)}finally{g.f()}}return n},pt=function(n,s){return ce(n,Zt(s))},vs=function(n,s){var m={};for(var g in n)_e.call(n,g)&&s.indexOf(g)<0&&(m[g]=n[g]);if(n!=null&&Qe){var E=It(Qe(n)),u;try{for(E.s();!(u=E.n()).done;){var g=u.value;s.indexOf(g)<0&&pe.call(n,g)&&(m[g]=n[g])}}catch(c){E.e(c)}finally{E.f()}}return m},yt=function(n,s,m){return new Promise(function(g,E){var u=function(K){try{f(m.next(K))}catch(Z){E(Z)}},c=function(K){try{f(m.throw(K))}catch(Z){E(Z)}},f=function(K){return K.done?g(K.value):Promise.resolve(K.value).then(u,c)};f((m=m.apply(n,s)).next())})},ys=function(){return window&&window.strapi&&window.strapi.isEE?e(97010).Z:e(49760).Z}(),_t=function(n){var s=n.hasAdmin,m=n.setHasAdmin,g=(0,p.useHistory)(),E=g.push,u=g.location.search,c=(0,le.Z)(),f=c.changeLocale,v=(0,y.useGuidedTour)(),K=v.setSkipped,Z=(0,y.useTracking)(),ue=Z.trackUsage,Ee=(0,p.useRouteMatch)("/auth/:authType"),G=Ee.params.authType,Ae=(0,y.useQuery)(),Ce=B()(ys,G,{}),Ke=Ce.Component,Kt=Ce.endPoint,mr=Ce.fieldsToDisable,Vs=Ce.fieldsToOmit,fr=Ce.inputsPrefix,gr=Ce.schema,hr=vs(Ce,["Component","endPoint","fieldsToDisable","fieldsToOmit","inputsPrefix","schema"]),Er=(0,t.useReducer)(Xe,ge,st),Mn=(0,ne.Z)(Er,2),Xs=Mn[0],vr=Xs.formErrors,yr=Xs.modifiedData,Pr=Xs.requestError,Es=Mn[1],Tr=ie().CancelToken,Nt=Tr.source();(0,t.useEffect)(function(){return function(){Nt.cancel("Component unmounted")}},[]),(0,t.useEffect)(function(){Es({type:"RESET_PROPS"})},[G]);var Or=function(Ne){var Ze=Ne.target,rt=Ze.name,Ye=Ze.value;Es({type:"ON_CHANGE",keys:rt,value:Ye})},Rr=function(Ne,Ze){return yt(xe,[Ne,Ze],M().mark(function rt(Ye,Ge){var He,De,We,Le;return M().wrap(function($){for(;;)switch($.prev=$.next){case 0:if(He=Ge.setSubmitting,De=Ge.setErrors,He(!0),We=fe()(Ye,Vs),Le="/admin/".concat(Kt),G!=="login"){$.next=7;break}return $.next=7,Mr(Ye,Le,{setSubmitting:He,setErrors:De});case 7:if(!(G==="register"||G==="register-admin")){$.next=10;break}return $.next=10,Sr(Ye,Le,{setSubmitting:He,setErrors:De});case 10:if(G!=="forgot-password"){$.next=13;break}return $.next=13,Ar(We,Le,{setSubmitting:He,setErrors:De});case 13:if(G!=="reset-password"){$.next=16;break}return $.next=16,Cr(We,Le,{setSubmitting:He,setErrors:De});case 16:case"end":return $.stop()}},rt)}))},Ar=function(Ne,Ze,rt){return yt(xe,[Ne,Ze,rt],M().mark(function Ye(Ge,He,De){var We,Le;return M().wrap(function($){for(;;)switch($.prev=$.next){case 0:return We=De.setSubmitting,Le=De.setErrors,$.prev=1,$.next=4,ie()({method:"POST",url:"".concat(strapi.backendURL).concat(He),data:Ge,cancelToken:Nt.token});case 4:E("/auth/forgot-password-success"),$.next=11;break;case 7:$.prev=7,$.t0=$.catch(1),ct.error($.t0),Le({errorMessage:"notification.error"});case 11:return $.prev=11,We(!1),$.finish(11);case 14:case"end":return $.stop()}},Ye,null,[[1,7,11,14]])}))},Mr=function(Ne,Ze,rt){return yt(xe,[Ne,Ze,rt],M().mark(function Ye(Ge,He,De){var We,Le,dt,$,Et,ot,at;return M().wrap(function(ye){for(;;)switch(ye.prev=ye.next){case 0:return We=De.setSubmitting,Le=De.setErrors,ye.prev=1,ye.next=4,ie()({method:"POST",url:"".concat(strapi.backendURL).concat(He),data:fe()(Ge,Vs),cancelToken:Nt.token});case 4:dt=ye.sent,$=dt.data.data,Et=$.token,ot=$.user,ot.preferedLanguage&&f(ot.preferedLanguage),y.auth.setToken(Et,Ge.rememberMe),y.auth.setUserInfo(ot,Ge.rememberMe),Sn(),ye.next=23;break;case 14:if(ye.prev=14,ye.t0=ye.catch(1),!ye.t0.response){ye.next=23;break}if(at=B()(ye.t0,["response","data","error","message"],"Something went wrong"),Oe()(at).toLowerCase()!=="usernotactive"){ye.next=22;break}return E("/auth/oops"),Es({type:"RESET_PROPS"}),ye.abrupt("return");case 22:Le({errorMessage:at});case 23:return ye.prev=23,We(!1),ye.finish(23);case 26:case"end":return ye.stop()}},Ye,null,[[1,14,23,26]])}))},Sr=function(Ne,Ze,rt){return yt(xe,[Ne,Ze,rt],M().mark(function Ye(Ge,He,De){var We,Le,dt,$,Et,ot,at,Lt,ye,Se;return M().wrap(function($e){for(;;)switch($e.prev=$e.next){case 0:return We=De.setSubmitting,Le=De.setErrors,$e.prev=1,ue("willCreateFirstAdmin"),$e.next=5,ie()({method:"POST",url:"".concat(strapi.backendURL).concat(He),data:fe()(Ge,Vs),cancelToken:Nt.token});case 5:if(dt=$e.sent,$=dt.data.data,Et=$.token,ot=$.user,y.auth.setToken(Et,!1),y.auth.setUserInfo(ot,!1),We(!1),m(!0),at=ot.roles,at&&(Lt=at.find(function(Dr){var Lr=Dr.code;return Lr==="strapi-super-admin"}),Lt&&(Te.setSkipped(!1),K(!1),ue("didLaunchGuidedtour"))),!(G==="register"&&Ge.userInfo.news===!0||G==="register-admin"&&Ge.news===!0)){$e.next=18;break}return E({pathname:"/usecase",search:"?hasAdmin=".concat(s)}),$e.abrupt("return");case 18:Sn(),$e.next=25;break;case 21:$e.prev=21,$e.t0=$e.catch(1),ue("didNotCreateFirstAdmin"),$e.t0.response&&(ye=$e.t0.response.data,Se=(0,et.Z)(ye),Le({apiErrors:Se}));case 25:case"end":return $e.stop()}},Ye,null,[[1,21]])}))},Cr=function(Ne,Ze,rt){return yt(xe,[Ne,Ze,rt],M().mark(function Ye(Ge,He,De){var We,Le,dt,$,Et,ot,at,Lt;return M().wrap(function(Se){for(;;)switch(Se.prev=Se.next){case 0:return We=De.setErrors,Le=De.setSubmitting,Se.prev=1,Se.next=4,ie()({method:"POST",url:"".concat(strapi.backendURL).concat(He),data:pt(tt({},Ge),{resetPasswordToken:Ae.get("code")}),cancelToken:Nt.token});case 4:dt=Se.sent,$=dt.data.data,Et=$.token,ot=$.user,y.auth.setToken(Et,!1),y.auth.setUserInfo(ot,!1),E("/"),Se.next=16;break;case 13:Se.prev=13,Se.t0=Se.catch(1),Se.t0.response&&(at=B()(Se.t0,["response","data","message"],"Something went wrong"),Lt=B()(Se.t0,["response","data","statusCode"],400),Es({type:"SET_REQUEST_ERROR",errorMessage:at,errorStatus:Lt}),We({errorMessage:at}));case 16:return Se.prev=16,Le(!1),Se.finish(16);case 19:case"end":return Se.stop()}},Ye,null,[[1,13,16,19]])}))},Sn=function(){if(G==="login"){var Ne=Ae.get("redirectTo"),Ze=Ne?decodeURIComponent(Ne):"/";E(Ze)}else E("/")};return!ys[G]||s&&G==="register-admin"||y.auth.getToken()?t.createElement(p.Redirect,{to:"/"}):!s&&G!=="register-admin"?t.createElement(p.Redirect,{to:{pathname:"/auth/register-admin",search:u}}):t.createElement(Ke,pt(tt({},hr),{authType:G,fieldsToDisable:mr,formErrors:vr,inputsPrefix:fr,modifiedData:yr,onChange:Or,onSubmit:Rr,requestError:Pr,schema:gr}))};_t.defaultProps={hasAdmin:!1},_t.propTypes={hasAdmin:l().bool,setHasAdmin:l().func.isRequired};const Gt=_t;var Qs=e(6437),it=e(19615),Ps=e(96365),Pt=e(19192),Tt=e(9808),Be=e(90662),Mt=e(95602),Ts=e(25716),Os=e(37178),Rs=e(74201),As=e(44526),Ms=e(83586),Ht=e(80144);const Ys=[{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"}],Ss=(0,it.default)(Mt.Typography)`
15
- text-align: center;
16
- `,Cs=()=>{const o=(0,y.useNotification)(),{push:n,location:s}=(0,p.useHistory)(),{formatMessage:m}=(0,ee.useIntl)(),[g,E]=(0,t.useState)(),[u,c]=(0,t.useState)(""),{firstname:f,email:v}=y.auth.getUserInfo(),{hasAdmin:K}=(0,Ps.parse)(s==null?void 0:s.search,{ignoreQueryPrefix:!0}),Z=g==="other",ue=Ee=>{try{ie()({method:"POST",url:"https://analytics.strapi.io/register",data:{email:v,username:f,firstAdmin:Boolean(!K),persona:{role:Ee?void 0:g,otherRole:Ee?void 0:u}}}),o({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),n("/")}catch(G){}};return t.createElement(Ht.ZP,null,t.createElement(b.Main,{labelledBy:"usecase-title"},t.createElement(Ht.bU,null,t.createElement("form",{onSubmit:()=>ue(!1)},t.createElement(Pt.Flex,{direction:"column",paddingBottom:7},t.createElement(Ms.Z,null),t.createElement(Tt.Box,{paddingTop:6,paddingBottom:1,width:(0,y.pxToRem)(250)},t.createElement(Ss,{variant:"alpha",as:"h1",id:"usecase-title"},m({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),t.createElement(Be.Stack,{spacing:6},t.createElement(Ts.Select,{id:"usecase","data-testid":"usecase",label:m({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:E,value:g},Ys.map(({intlLabel:Ee,value:G})=>t.createElement(Ts.Option,{key:G,value:G},m(Ee)))),Z&&t.createElement(Os.TextInput,{name:"other",label:m({id:"Usecase.other",defaultMessage:"Other"}),value:u,onChange:Ee=>c(Ee.target.value),"data-testid":"other"}),t.createElement(As.Button,{type:"submit",size:"L",fullWidth:!0,disabled:!g},m({id:"global.finish",defaultMessage:"Finish"}))))),t.createElement(Pt.Flex,{justifyContent:"center"},t.createElement(Tt.Box,{paddingTop:4},t.createElement(Rs.TextButton,{onClick:()=>ue(!0)},m({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))};var Ds=e(61605),$t=(o,n,s)=>new Promise((m,g)=>{var E=f=>{try{c(s.next(f))}catch(v){g(v)}},u=f=>{try{c(s.throw(f))}catch(v){g(v)}},c=f=>f.done?m(f.value):Promise.resolve(f.value).then(E,u);c((s=s.apply(o,n)).next())});const Ls=()=>$t(void 0,null,function*(){return`web-fingerprint-${(yield(yield Ds.ZP.load()).get()).visitorId}`});var jt=e(46053);const zt=[];var en=function(){return window&&window.strapi&&window.strapi.isEE?e(13030).Z:e(70653).Z}();const bs=[].concat((0,jt.Z)(en),(0,jt.Z)(zt));var Vt=Object.defineProperty,tn=Object.defineProperties,_s=Object.getOwnPropertyDescriptors,Xt=Object.getOwnPropertySymbols,js=Object.prototype.hasOwnProperty,Bs=Object.prototype.propertyIsEnumerable,Qt=(o,n,s)=>n in o?Vt(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,Yt=(o,n)=>{for(var s in n||(n={}))js.call(n,s)&&Qt(o,s,n[s]);if(Xt)for(var s of Xt(n))Bs.call(n,s)&&Qt(o,s,n[s]);return o},Bt=(o,n)=>tn(o,_s(n)),Jt=(o,n,s)=>new Promise((m,g)=>{var E=f=>{try{c(s.next(f))}catch(v){g(v)}},u=f=>{try{c(s.throw(f))}catch(v){g(v)}},c=f=>f.done?m(f.value):Promise.resolve(f.value).then(E,u);c((s=s.apply(o,n)).next())});const Us=(0,t.lazy)(()=>Promise.all([e.e(6925),e.e(5289),e.e(801)]).then(e.bind(e,72298)));function qt(){const o=(0,y.useNotification)(),{formatMessage:n}=(0,ee.useIntl)(),[{isLoading:s,hasAdmin:m,uuid:g},E]=(0,t.useState)({isLoading:!0,hasAdmin:!1}),u=(0,t.useMemo)(()=>(0,J.WW)(bs.map(({to:f,Component:v,exact:K})=>(0,J.ot)(v,f,K))),[]);(0,t.useEffect)(()=>{const f=y.auth.getToken();f&&(()=>Jt(this,null,function*(){try{const{data:{token:K}}=yield(0,y.request)("/admin/renew-token",{method:"POST",body:{token:f}});y.auth.updateToken(K)}catch(K){y.auth.clearAppStorage(),window.location.reload()}}))()},[]),(0,t.useEffect)(()=>{(()=>Jt(this,null,function*(){try{const{data:{hasAdmin:v,uuid:K}}=yield(0,y.request)("/admin/init",{method:"GET"});if(K)try{const Z=yield Ls();fetch("https://analytics.strapi.io/track",{method:"POST",body:JSON.stringify({event:"didInitializeAdministration",uuid:K,deviceId:Z}),headers:{"Content-Type":"application/json"}})}catch(Z){}E({isLoading:!1,hasAdmin:v,uuid:K})}catch(v){o({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}}))()},[o]);const c=f=>E(v=>Bt(Yt({},v),{hasAdmin:f}));return s?t.createElement(y.LoadingIndicatorPage,null):t.createElement(t.Suspense,{fallback:t.createElement(y.LoadingIndicatorPage,null)},t.createElement(b.SkipToContent,null,n({id:"skipToContent"})),t.createElement(y.TrackingContext.Provider,{value:g},t.createElement(p.Switch,null,u,t.createElement(p.Route,{path:"/auth/:authType",render:f=>t.createElement(Gt,Bt(Yt({},f),{setHasAdmin:c,hasAdmin:m})),exact:!0}),t.createElement(oe,{path:"/usecase",component:Cs}),t.createElement(oe,{path:"/",component:Us}),t.createElement(p.Route,{path:"",component:Qs.default}))))}const Ut=qt;var wt=e(68507),sn=e(84084),es=e(84968),ts=e(4409),ss=e(64564),ws=e(58732),ns=e.n(ws),rs=e(98436);const os=({changeLocale:o,children:n,localeNames:s,messages:m})=>t.createElement(rs.Z.Provider,{value:{changeLocale:o,localeNames:s,messages:m}},n);os.propTypes={changeLocale:l().func.isRequired,children:l().element.isRequired,localeNames:l().object.isRequired,messages:l().object.isRequired};const xs=os,as="strapi-admin-language",Ws=o=>{const n=window.localStorage.getItem(as);return{locale:o[n]?n:"en",localeNames:o}};var Fs=Object.defineProperty,is=Object.defineProperties,Ks=Object.getOwnPropertyDescriptors,ls=Object.getOwnPropertySymbols,rn=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,us=(o,n,s)=>n in o?Fs(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,ds=(o,n)=>{for(var s in n||(n={}))rn.call(n,s)&&us(o,s,n[s]);if(ls)for(var s of ls(n))Ns.call(n,s)&&us(o,s,n[s]);return o},on=(o,n)=>is(o,Ks(n));const cs={localeNames:{en:"English"},locale:"en"},an=(o=cs,n)=>{switch(n.type){case"CHANGE_LOCALE":{const{locale:s}=n;return o.localeNames[s]?on(ds({},o),{locale:s}):o}default:return o}},ps=({children:o,localeNames:n,messages:s})=>{const[{locale:m},g]=(0,t.useReducer)(an,cs,()=>Ws(n));(0,t.useEffect)(()=>{window.localStorage.setItem(as,m)},[m]);const E=c=>{g({type:"CHANGE_LOCALE",locale:c})},u=ns()(s[m],s.en);return t.createElement(ee.IntlProvider,{locale:m,defaultLocale:"en",messages:u,textComponent:"span"},t.createElement(xs,{changeLocale:E,localeNames:n,messages:u},o))};ps.propTypes={children:l().element.isRequired,localeNames:l().objectOf(l().string).isRequired,messages:l().object.isRequired};const Gs=ps,ln=(o,n)=>{const s=Object.entries(n),m=s.findIndex(([E])=>E===o);return s.slice(0,m).every(([,E])=>Object.values(E).every(Boolean))},Hs=(o,n)=>{const s=o.split("."),m=s[1],g=Object.entries(n[s[0]]),E=g.findIndex(([c])=>c===m);return g.slice(0,E).every(([,c])=>c)},d={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0},r=(o=d,n)=>(0,ve.default)(o,s=>{switch(n.type){case"SET_CURRENT_STEP":{s.currentStep=n.step;break}case"SET_STEP_STATE":{const[m,g]=n.currentStep.split(".");s.guidedTourState[m][g]=n.value;break}case"SET_SKIPPED":{s.isSkipped=n.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{s.isGuidedTourVisible=n.value;break}default:return s}});var S=e(3040),A=e.n(S),W=Object.defineProperty,x=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,w=(o,n,s)=>n in o?W(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,Ue=(o,n)=>{for(var s in n||(n={}))C.call(n,s)&&w(o,s,n[s]);if(x)for(var s of x(n))h.call(n,s)&&w(o,s,n[s]);return o};const mt=o=>{const n=Ue({},o),s=Te.get(qe),m=Te.get(Ve),g=Te.get(gt);if(s&&s.forEach(E=>{const[u,c]=E.split(".");A()(n,["guidedTourState",u,c],!0)}),m){const[E,u]=m.split(".");A()(n,["guidedTourState",E,u],!0),Te.addCompletedStep(m),Te.addCurrentStep(null)}return g!==null&&A()(n,"isSkipped",g),n},lt=({children:o})=>{const[{currentStep:n,guidedTourState:s,isGuidedTourVisible:m,isSkipped:g},E]=(0,t.useReducer)(r,d,mt),u=Z=>{if(Z!==null){const ue=B()(s,Z),Ee=Hs(Z,s);if(ue||g||!Ee)return null}return Te.addCurrentStep(Z),E({type:"SET_CURRENT_STEP",step:Z})},c=Z=>{E({type:"SET_GUIDED_TOUR_VISIBILITY",value:Z})},f=(Z,ue)=>{Te.addCompletedStep(Z),E({type:"SET_STEP_STATE",currentStep:Z,value:ue})},v=Z=>{const ue=s[Z];if(ue){const Ee=ln(Z,s),G=Object.keys(ue)[0],Ae=ue[G];if(Ee&&!n&&!Ae)return u(`${Z}.${G}`)}return null},K=Z=>{Te.setSkipped(Z),E({type:"SET_SKIPPED",value:Z})};return t.createElement(y.GuidedTourProvider,{guidedTourState:s,currentStep:n,setCurrentStep:u,setGuidedTourVisibility:c,setSkipped:K,setStepState:f,startSection:v,isGuidedTourVisible:m,isSkipped:g},o)};lt.propTypes={children:l().element.isRequired};const xt=lt;var kt=e(12788),ms=e(70324),Wt=e.n(ms),ft=e(23101),ke=e.n(ft),nt=e(58434);const ut=(0,it.default)(Tt.Box)`
17
- position: fixed;
18
- top: 0;
19
- right: 0;
20
- bottom: 0;
21
- left: 0;
22
- z-index: 1140;
23
- &:before {
24
- content: '';
25
- position: fixed;
26
- top: 0;
27
- right: 0;
28
- bottom: 0;
29
- left: 0;
30
- background: ${({theme:o})=>o.colors.neutral0};
31
- opacity: 0.9;
32
- }
33
- `,Ft=(0,it.default)(Be.Stack)`
34
- position: fixed;
35
- top: 0;
36
- right: 0;
37
- bottom: 0;
38
- left: 0;
39
- padding-top: ${(0,y.pxToRem)(160)};
40
- `,un=(0,it.default)(Tt.Box)`
41
- border-radius: 50%;
42
- svg {
43
- > path {
44
- fill: ${({theme:o})=>o.colors.primary600} !important;
45
- }
46
- }
47
- `,fs=document.createElement("div"),Ln="autoReloadOverlayBlocker";fs.setAttribute("id",Ln);const In=it.keyframes`
48
- from {
49
- transform: rotate(0deg);
50
- }
51
- to {
52
- transform: rotate(359deg);
53
- }
54
- `,bn=(0,it.default)(ke())`
55
- animation: ${In} 1s infinite linear;
56
- `,dn=({displayedIcon:o,description:n,title:s,isOpen:m})=>{const{formatMessage:g}=(0,ee.useIntl)();return(0,t.useEffect)(()=>(document.body.appendChild(fs),()=>{document.body.removeChild(fs)}),[]),m?kt.createPortal(t.createElement(ut,null,t.createElement(Ft,{spacing:6},t.createElement(Be.Stack,{spacing:2},t.createElement(Pt.Flex,{justifyContent:"center"},t.createElement(Mt.Typography,{as:"h1",variant:"alpha"},g(s))),t.createElement(Pt.Flex,{justifyContent:"center"},t.createElement(Mt.Typography,{as:"h2",textColor:"neutral600",fontSize:4,fontWeight:"regular"},g(n)))),t.createElement(Pt.Flex,{justifyContent:"center"},o==="reload"&&t.createElement(un,{padding:6,background:"primary100",borderColor:"primary200"},t.createElement(bn,{width:(0,y.pxToRem)(36),height:(0,y.pxToRem)(36)})),o==="time"&&t.createElement(un,{padding:6,background:"primary100",borderColor:"primary200"},t.createElement(Wt(),{width:(0,y.pxToRem)(40),height:(0,y.pxToRem)(40)}))),t.createElement(Pt.Flex,{justifyContent:"center"},t.createElement(Tt.Box,{paddingTop:2},t.createElement(nt.Link,{href:"https://docs.strapi.io",target:"_blank",rel:"noopener noreferrer nofollow"},g({id:"global.documentation",defaultMessage:"Read the documentation"})))))),fs):null};dn.propTypes={displayedIcon:l().oneOfType([l().string,l().array]).isRequired,description:l().object.isRequired,isOpen:l().bool.isRequired,title:l().object.isRequired};const _n=dn;var jn=Object.defineProperty,Bn=Object.defineProperties,Un=Object.getOwnPropertyDescriptors,cn=Object.getOwnPropertySymbols,wn=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable,pn=(o,n,s)=>n in o?jn(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,mn=(o,n)=>{for(var s in n||(n={}))wn.call(n,s)&&pn(o,s,n[s]);if(cn)for(var s of cn(n))xn.call(n,s)&&pn(o,s,n[s]);return o},fn=(o,n)=>Bn(o,Un(n));const gn=30,hn=({children:o})=>{const[n,s]=(0,t.useState)(!1),[{elapsed:m},g]=(0,t.useState)({elapsed:0,start:0}),[E,u]=(0,t.useState)(void 0),c=(G=void 0)=>{s(!0),u(G),g(Ae=>fn(mn({},Ae),{start:Date.now()}))},f=()=>{s(!1),g({start:0,elapsed:0}),u(void 0)},v=(0,t.useRef)(c),K=(0,t.useRef)(f);(0,t.useEffect)(()=>{let G=null;return n?G=setInterval(()=>m>gn?(clearInterval(G),null):(g(Ae=>fn(mn({},Ae),{elapsed:Math.round(Date.now()-Ae.start)/1e3})),null),1e3):clearInterval(G),()=>{clearInterval(G)}},[n,m]);let Z=(E==null?void 0:E.icon)||"reload",ue={id:(E==null?void 0:E.description)||"components.OverlayBlocker.description",defaultMessage:"You're using a feature that needs the server to restart. Please wait until the server is up."},Ee={id:(E==null?void 0:E.title)||"components.OverlayBlocker.title",defaultMessage:"Waiting for restart"};return m>gn&&(Z="time",ue={id:"components.OverlayBlocker.description.serverError",defaultMessage:"The server should have restarted, please check your logs in the terminal."},Ee={id:"components.OverlayBlocker.title.serverError",defaultMessage:"The restart is taking longer than expected"}),t.createElement(y.AutoReloadOverlayBockerContext.Provider,{value:{lockApp:v.current,unlockApp:K.current}},t.createElement(_n,{displayedIcon:Z,isOpen:n,description:ue,title:Ee}),o)};hn.propTypes={children:l().element.isRequired};const kn=hn;var Wn=e(63568);const $s=({dispatch:o,notification:n})=>{var s,m,g;const{formatMessage:E}=(0,ee.useIntl)(),{message:u,link:c,type:f,id:v,onClose:K,timeout:Z,blockTransition:ue}=n,Ee=Ke=>typeof Ke=="string"?Ke:E(Ke,Ke.values),G=(0,t.useCallback)(()=>{K&&K(),o({type:"HIDE_NOTIFICATION",id:v})},[v]);(0,t.useEffect)(()=>{let Ke;return ue||(Ke=setTimeout(()=>{G()},Z||2500)),()=>clearTimeout(Ke)},[ue,G,Z]);let Ae,Ce;return f==="info"?(Ae="default",Ce=E({id:"notification.default.title",defaultMessage:"Information:"})):f==="warning"?(Ce=E({id:"notification.warning.title",defaultMessage:"Warning:"}),Ae="danger"):(Ce=E({id:"notification.success.title",defaultMessage:"Success:"}),Ae="success"),t.createElement(Wn.Alert,{action:c?t.createElement(nt.Link,{href:c.url,target:"_blank"},E({id:((s=c.label)==null?void 0:s.id)||c.label,defaultMessage:((m=c.label)==null?void 0:m.defaultMessage)||((g=c.label)==null?void 0:g.id)||c.label})):void 0,onClose:G,closeLabel:"Close",title:Ce,variant:Ae},Ee({id:(u==null?void 0:u.id)||u,defaultMessage:(u==null?void 0:u.defaultMessage)||(u==null?void 0:u.id)||u}))};$s.defaultProps={notification:{id:1,type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"},onClose:()=>null,timeout:2500,blockTransition:!1}},$s.propTypes={dispatch:l().func.isRequired,notification:l().shape({id:l().number,message:l().oneOfType([l().string,l().shape({id:l().string.isRequired,defaultMessage:l().string,values:l().object})]),link:l().shape({target:l().string,url:l().string.isRequired,label:l().oneOfType([l().string,l().shape({id:l().string.isRequired,defaultMessage:l().string,values:l().object})]).isRequired}),type:l().string,onClose:l().func,timeout:l().number,blockTransition:l().bool})};const Fn=$s,En={notifId:0,notifications:[]},Kn=(o=En,n)=>(0,ve.default)(o,s=>{switch(n.type){case"SHOW_NOTIFICATION":{s.notifications.push({id:o.notifId,type:B()(n,["config","type"],"success"),message:B()(n,["config","message"],{id:"notification.success.saved",defaultMessage:"Saved"}),link:B()(n,["config","link"],null),timeout:B()(n,["config","timeout"],2500),blockTransition:B()(n,["config","blockTransition"],!1),onClose:B()(n,["config","onClose"],null)}),s.notifId=o.notifId+1;break}case"HIDE_NOTIFICATION":{const m=o.notifications.findIndex(g=>g.id===n.id);m!==-1&&s.notifications.splice(m,1);break}default:return s}}),vn=({children:o})=>{const[{notifications:n},s]=(0,t.useReducer)(Kn,En),m=g=>{s({type:"SHOW_NOTIFICATION",config:g})};return t.createElement(y.NotificationsProvider,{toggleNotification:m},t.createElement(Be.Stack,{left:"50%",marginLeft:"-250px",position:"fixed",spacing:2,top:`${46/16}rem`,width:`${500/16}rem`,zIndex:10},n.map(g=>t.createElement(Fn,{key:g.id,dispatch:s,notification:g}))),o)};vn.propTypes={children:l().element.isRequired};const Nn=vn,gs=document.createElement("div");gs.setAttribute("id","overlayBlocker");const Zn=it.default.div`
57
- position: fixed;
58
- top: 0;
59
- right: 0;
60
- bottom: 0;
61
- left: 0;
62
- z-index: 1140;
63
- `,Gn=({isOpen:o})=>((0,t.useEffect)(()=>(document.body.appendChild(gs),()=>{document.body.removeChild(gs)}),[]),o?kt.createPortal(t.createElement(Zn,null),gs):null),yn=({children:o})=>{const[n,s]=(0,t.useState)(!1),m=()=>{s(!0)},g=()=>{s(!1)};return t.createElement(y.OverlayBlockerContext.Provider,{value:{lockApp:m,unlockApp:g}},o,t.createElement(Gn,{isOpen:n}))};yn.propTypes={children:l().node.isRequired};const Hn=yn,Pn="STRAPI_THEME",$n=()=>{const o=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return localStorage.getItem(Pn)||o},Tn=({children:o,themes:n})=>{const[s,m]=(0,t.useState)($n()),g=E=>{m(E),localStorage.setItem(Pn,E)};return t.createElement(ss.Rj.Provider,{value:{currentTheme:s,onChangeTheme:g,themes:n}},o)};Tn.propTypes={children:l().node.isRequired,themes:l().shape({light:l().shape({colors:l().object.isRequired,shadows:l().object.isRequired,sizes:l().object.isRequired,zIndices:l().array.isRequired,spaces:l().array.isRequired,borderRadius:l().string.isRequired,mediaQueries:l().object.isRequired,fontSizes:l().array.isRequired,lineHeights:l().array.isRequired,fontWeights:l().object.isRequired}).isRequired,dark:l().shape({colors:l().object.isRequired,shadows:l().object.isRequired,sizes:l().object.isRequired,zIndices:l().array.isRequired,spaces:l().array.isRequired,borderRadius:l().string.isRequired,mediaQueries:l().object.isRequired,fontSizes:l().array.isRequired,lineHeights:l().array.isRequired,fontWeights:l().object.isRequired}).isRequired,custom:l().object}).isRequired};const zn=Tn;var Vn=e(45230),Xn=e(28492),Qn=(o,n,s)=>new Promise((m,g)=>{var E=f=>{try{c(s.next(f))}catch(v){g(v)}},u=f=>{try{c(s.throw(f))}catch(v){g(v)}},c=f=>f.done?m(f.value):Promise.resolve(f.value).then(E,u);c((s=s.apply(o,n)).next())});(()=>Qn(void 0,null,function*(){yield e.e(7723).then(e.bind(e,69820)),yield e.e(7566).then(e.bind(e,53688)),yield e.e(8e3).then(e.t.bind(e,37433,23)),yield e.e(7784).then(e.bind(e,94300))}))();const Yn=it.createGlobalStyle`
64
- body {
65
- background: ${({theme:o})=>o.colors.neutral100};
66
- }
67
- `,On=({children:o})=>{const{currentTheme:n,themes:s}=(0,Xn.M1)();return t.createElement(Vn.ThemeProvider,{theme:s[n]||s.light},o,t.createElement(Yn,null))};On.propTypes={children:l().element.isRequired};const Jn=On,qn=new es.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),Rn=({authLogo:o,children:n,components:s,fields:m,getAdminInjectedComponents:g,getPlugin:E,localeNames:u,menu:c,menuLogo:f,messages:v,plugins:K,runHookParallel:Z,runHookSeries:ue,runHookWaterfall:Ee,settings:G,showReleaseNotification:Ae,showTutorials:Ce,store:Ke,themes:Kt})=>t.createElement(zn,{themes:Kt},t.createElement(Jn,null,t.createElement(es.QueryClientProvider,{client:qn},t.createElement(ts.zt,{store:Ke},t.createElement(ss.ux.Provider,{value:{getAdminInjectedComponents:g}},t.createElement(ss._5.Provider,{value:{authLogo:o,menuLogo:f,showReleaseNotification:Ae,showTutorials:Ce}},t.createElement(y.StrapiAppProvider,{getPlugin:E,menu:c,plugins:K,runHookParallel:Z,runHookWaterfall:Ee,runHookSeries:ue,settings:G},t.createElement(y.LibraryProvider,{components:s,fields:m},t.createElement(Gs,{messages:v,localeNames:u},t.createElement(kn,null,t.createElement(Hn,null,t.createElement(xt,null,t.createElement(Nn,null,n)))))))))))));Rn.propTypes={authLogo:l().oneOfType([l().string,l().any]).isRequired,children:l().element.isRequired,components:l().object.isRequired,fields:l().object.isRequired,getAdminInjectedComponents:l().func.isRequired,getPlugin:l().func.isRequired,localeNames:l().objectOf(l().string).isRequired,menu:l().arrayOf(l().shape({to:l().string.isRequired,icon:l().func.isRequired,intlLabel:l().shape({id:l().string.isRequired,defaultMessage:l().string.isRequired}).isRequired,permissions:l().array,Component:l().func})).isRequired,menuLogo:l().oneOfType([l().string,l().any]).isRequired,messages:l().object.isRequired,plugins:l().object.isRequired,runHookParallel:l().func.isRequired,runHookWaterfall:l().func.isRequired,runHookSeries:l().func.isRequired,settings:l().object.isRequired,showReleaseNotification:l().bool.isRequired,showTutorials:l().bool.isRequired,store:l().object.isRequired,themes:l().shape({light:l().shape({colors:l().object.isRequired,shadows:l().object.isRequired,sizes:l().object.isRequired,zIndices:l().array.isRequired,spaces:l().array.isRequired,borderRadius:l().string.isRequired,mediaQueries:l().object.isRequired,fontSizes:l().array.isRequired,lineHeights:l().array.isRequired,fontWeights:l().object.isRequired}).isRequired,dark:l().shape({colors:l().object.isRequired,shadows:l().object.isRequired,sizes:l().object.isRequired,zIndices:l().array.isRequired,spaces:l().array.isRequired,borderRadius:l().string.isRequired,mediaQueries:l().object.isRequired,fontSizes:l().array.isRequired,lineHeights:l().array.isRequired,fontWeights:l().object.isRequired}).isRequired,custom:l().object}).isRequired};const er=Rn,tr={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",cs:"\u010Ce\u0161tina",de:"Deutsch",dk:"Dansk",en:"English",es:"Espa\xF1ol",fr:"Fran\xE7ais",he:"\u05E2\u05D1\u05E8\u05D9\u05EA",hu:"Magyar",id:"Indonesian",it:"Italiano",ja:"\u65E5\u672C\u8A9E",ko:"\uD55C\uAD6D\uC5B4",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)"};var hs=e(10373);const sr={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[]}}};var nr=e(19419),rr=e(98399),or=Object.defineProperty,ar=Object.defineProperties,ir=Object.getOwnPropertyDescriptors,An=Object.getOwnPropertySymbols,lr=Object.prototype.hasOwnProperty,ur=Object.prototype.propertyIsEnumerable,zs=(o,n,s)=>n in o?or(o,n,{enumerable:!0,configurable:!0,writable:!0,value:s}):o[n]=s,St=(o,n)=>{for(var s in n||(n={}))lr.call(n,s)&&zs(o,s,n[s]);if(An)for(var s of An(n))ur.call(n,s)&&zs(o,s,n[s]);return o},dr=(o,n)=>ar(o,ir(n)),he=(o,n,s)=>(zs(o,typeof n!="symbol"?n+"":n,s),s),Ct=(o,n,s)=>new Promise((m,g)=>{var E=f=>{try{c(s.next(f))}catch(v){g(v)}},u=f=>{try{c(s.throw(f))}catch(v){g(v)}},c=f=>f.done?m(f.value):Promise.resolve(f.value).then(E,u);c((s=s.apply(o,n)).next())});class cr{constructor({adminConfig:n,appPlugins:s,library:m,middlewares:g,reducers:E}){he(this,"addComponents",u=>{Array.isArray(u)?u.map(c=>this.library.components.add(c)):this.library.components.add(u)}),he(this,"addCorePluginMenuLink",u=>{var c,f;const v=JSON.stringify(u);D()(u.to,`link.to should be defined for ${v}`),D()(typeof u.to=="string",`Expected link.to to be a string instead received ${typeof u.to}`),D()(["/plugins/content-type-builder","/plugins/upload"].includes(u.to),"This method is not available for your plugin"),D()(((c=u.intlLabel)==null?void 0:c.id)&&((f=u.intlLabel)==null?void 0:f.defaultMessage),`link.intlLabel.id & link.intlLabel.defaultMessage for ${v}`),this.menu.push(u)}),he(this,"addFields",u=>{Array.isArray(u)?u.map(c=>this.library.fields.add(c)):this.library.fields.add(u)}),he(this,"addMenuLink",u=>{var c,f;const v=JSON.stringify(u);D()(u.to,`link.to should be defined for ${v}`),D()(typeof u.to=="string",`Expected link.to to be a string instead received ${typeof u.to}`),D()(((c=u.intlLabel)==null?void 0:c.id)&&((f=u.intlLabel)==null?void 0:f.defaultMessage),`link.intlLabel.id & link.intlLabel.defaultMessage for ${v}`),D()(u.Component&&typeof u.Component=="function","link.Component should be a valid React Component"),D()(u.icon&&typeof u.icon=="function","link.Icon should be a valid React Component"),this.menu.push(u)}),he(this,"addMiddlewares",u=>{u.forEach(c=>{this.middlewares.add(c)})}),he(this,"addReducers",u=>{Object.keys(u).forEach(c=>{this.reducers.add(c,u[c])})}),he(this,"addSettingsLink",(u,c)=>{var f,v;D()(this.settings[u],"The section does not exist");const K=JSON.stringify(c);D()(c.id,`link.id should be defined for ${K}`),D()(((f=c.intlLabel)==null?void 0:f.id)&&((v=c.intlLabel)==null?void 0:v.defaultMessage),`link.intlLabel.id & link.intlLabel.defaultMessage for ${K}`),D()(c.to,`link.to should be defined for ${K}`),D()(c.Component&&typeof c.Component=="function","link.Component should be a valid React Component"),this.settings[u].links.push(c)}),he(this,"addSettingsLinks",(u,c)=>{D()(this.settings[u],"The section does not exist"),D()(Array.isArray(c),"TypeError expected links to be an array"),c.forEach(f=>{this.addSettingsLink(u,f)})}),he(this,"bootstrapAdmin",()=>Ct(this,null,function*(){return yield this.createCustomConfigurations(),this.createHook(hs.No),this.createHook(hs.LK),this.createHook(hs.dV),this.createHook(hs.Eo),Promise.resolve()})),he(this,"createCustomConfigurations",()=>Ct(this,null,function*(){var u,c,f,v,K,Z,ue,Ee,G,Ae,Ce,Ke;(u=this.customConfigurations)!=null&&u.locales&&(this.configurations.locales=["en",...(c=this.customConfigurations.locales)==null?void 0:c.filter(Kt=>Kt!=="en")]),(v=(f=this.customConfigurations)==null?void 0:f.auth)!=null&&v.logo&&(this.configurations.authLogo=this.customConfigurations.auth.logo),(Z=(K=this.customConfigurations)==null?void 0:K.menu)!=null&&Z.logo&&(this.configurations.menuLogo=this.customConfigurations.menu.logo),(Ee=(ue=this.customConfigurations)==null?void 0:ue.head)!=null&&Ee.favicon&&(this.configurations.head.favicon=this.customConfigurations.head.favicon),(G=this.customConfigurations)!=null&&G.theme&&I()(this.configurations.themes.light,this.customConfigurations.theme),((Ce=(Ae=this.customConfigurations)==null?void 0:Ae.notifications)==null?void 0:Ce.releases)!==void 0&&(this.configurations.notifications.releases=this.customConfigurations.notifications.releases),((Ke=this.customConfigurations)==null?void 0:Ke.tutorials)!==void 0&&(this.configurations.tutorials=this.customConfigurations.tutorials)})),he(this,"createHook",u=>{this.hooksDict[u]=(0,F.Bi)()}),he(this,"createSettingSection",(u,c)=>{var f,v;D()(u.id,"section.id should be defined"),D()(((f=u.intlLabel)==null?void 0:f.id)&&((v=u.intlLabel)==null?void 0:v.defaultMessage),"section.intlLabel should be defined"),D()(Array.isArray(c),"TypeError expected links to be an array"),D()(this.settings[u.id]===void 0,"A similar section already exists"),this.settings[u.id]=dr(St({},u),{links:[]}),c.forEach(K=>{this.addSettingsLink(u.id,K)})}),he(this,"createStore",()=>H(this.middlewares.middlewares,this.reducers.reducers)),he(this,"getAdminInjectedComponents",(u,c,f)=>{try{return this.admin.injectionZones[u][c][f]||[]}catch(v){return rr.error("Cannot get injected component",v),v}}),he(this,"getPlugin",u=>this.plugins[u]),he(this,"injectContentManagerComponent",(u,c,f)=>{var v;D()((v=this.admin.injectionZones.contentManager[u])==null?void 0:v[c],`The ${u} ${c} zone is not defined in the content manager`),D()(f,"A Component must be provided"),this.admin.injectionZones.contentManager[u][c].push(f)}),he(this,"injectAdminComponent",(u,c,f)=>{var v;D()((v=this.admin.injectionZones.admin[u])==null?void 0:v[c],`The ${u} ${c} zone is not defined in the admin`),D()(f,"A Component must be provided"),this.admin.injectionZones.admin[u][c].push(f)}),he(this,"registerHook",(u,c)=>{D()(this.hooksDict[u],`The hook ${u} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[u].register(c)}),he(this,"registerPlugin",u=>{const c=(0,Y.Sy)(u);this.plugins[c.pluginId]=c}),he(this,"runHookSeries",(u,c=!1)=>c?this.hooksDict[u].runSeriesAsync():this.hooksDict[u].runSeries()),he(this,"runHookWaterfall",(u,c,f=!1,v)=>f?this.hooksDict[u].runWaterfallAsync(c,v):this.hooksDict[u].runWaterfall(c,v)),he(this,"runHookParallel",u=>this.hooksDict[u].runParallel()),this.customConfigurations=n.config,this.customBootstrapConfiguration=n.bootstrap,this.configurations={authLogo:wt,head:{favicon:nr},locales:["en"],menuLogo:sn,notifications:{releases:!0},themes:{light:i.lightTheme,dark:i.darkTheme},translations:{},tutorials:!0},this.appPlugins=s||{},this.library=m,this.middlewares=g,this.plugins={},this.reducers=E,this.translations={},this.hooksDict={},this.admin={injectionZones:sr},this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}bootstrap(){return Ct(this,null,function*(){Object.keys(this.appPlugins).forEach(n=>{const s=this.appPlugins[n].bootstrap;s&&s({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),q()(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})})}initialize(){return Ct(this,null,function*(){Object.keys(this.appPlugins).forEach(n=>{this.appPlugins[n].register({addComponents:this.addComponents,addCorePluginMenuLink:this.addCorePluginMenuLink,addFields:this.addFields,addMenuLink:this.addMenuLink,addMiddlewares:this.addMiddlewares,addReducers:this.addReducers,createHook:this.createHook,createSettingSection:this.createSettingSection,registerPlugin:this.registerPlugin})})})}loadAdminTrads(){return Ct(this,null,function*(){const n=this.configurations.locales.map(g=>e(48224)(`./${g}.json`).then(({default:E})=>({data:E,locale:g})).catch(()=>({data:null,locale:g})));return(yield Promise.all(n)).reduce((g,E)=>(E.data&&(g[E.locale]=E.data),g),{})})}loadTrads(){return Ct(this,null,function*(){const n=yield this.loadAdminTrads(),s=Object.keys(this.appPlugins).map(u=>{const c=this.appPlugins[u].registerTrads;return c?c({locales:this.configurations.locales}):null}).filter(u=>u),g=(yield Promise.all(s)).reduce((u,c)=>{const f=c.reduce((v,K)=>(v[K.locale]=K.data,v),{});return Object.keys(f).forEach(v=>{u[v]=St(St({},u[v]),f[v])}),u},{}),E=this.configurations.locales.reduce((u,c)=>{var f,v;return u[c]=St(St(St({},n[c]),g[c]||{}),(v=(f=this.customConfigurations)==null?void 0:f.translations)==null?void 0:v[c]),u},{});return this.configurations.translations=E,Promise.resolve()})}render(){const n=this.createStore(),s=k()(tr,this.configurations.locales||[]),{components:{components:m},fields:{fields:g}}=this.library;return t.createElement(er,{authLogo:this.configurations.authLogo,components:m,fields:g,localeNames:s,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(E,u,c=!1)=>this.runHookWaterfall(E,u,c,n),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:n},t.createElement(t.Fragment,null,t.createElement(V.Helmet,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}]}),t.createElement(p.BrowserRouter,{basename:F.EZ},t.createElement(Ut,{store:n}))))}}const pr=({adminConfig:o={},appPlugins:n,library:s,middlewares:m,reducers:g})=>new cr({adminConfig:o,appPlugins:n,library:s,middlewares:m,reducers:g})},98436:(z,R,e)=>{"use strict";e.d(R,{Z:()=>i});var t=e(32735);const i=(0,t.createContext)()},76573:(z,R,e)=>{"use strict";e.d(R,{Z:()=>P});var t=e(32735),p=e(98436);const P=()=>{const{changeLocale:I,localeNames:O,messages:k}=(0,t.useContext)(p.Z);return{changeLocale:I,localeNames:O,messages:k}}},83586:(z,R,e)=>{"use strict";e.d(R,{Z:()=>O});var t=e(32735),p=e(19615),i=e(28492);const P=p.default.img`
68
- height: ${72/16}rem;
69
- `,O=()=>{const{authLogo:k}=(0,i.um)();return t.createElement(P,{src:k,"aria-hidden":!0,alt:""})}},64564:(z,R,e)=>{"use strict";e.d(R,{ux:()=>i,_5:()=>I,$l:()=>k,Rj:()=>q});var t=e(32735);const i=(0,t.createContext)({}),I=(0,t.createContext)({}),k=(0,t.createContext)({}),q=(0,t.createContext)({})},10373:(z,R,e)=>{"use strict";e.d(R,{No:()=>t,LK:()=>p,Eo:()=>i,dV:()=>P});const t="Admin/CM/pages/ListView/inject-column-in-table",p="Admin/CM/pages/App/mutate-collection-types-links",i="Admin/CM/pages/EditView/mutate-edit-view-layout",P="Admin/CM/pages/App/mutate-single-types-links"},28492:(z,R,e)=>{"use strict";e.d(R,{um:()=>t.Z,U_:()=>ze,Dq:()=>Oe,H9:()=>vt,bP:()=>Y,$_:()=>ps,bF:()=>Tt,G4:()=>cs,Te:()=>ws,M1:()=>Hs});var t=e(15015),p=e(32735),i=e(10938),P=e(49415);const I={collectionTypes:[],components:[],isLoading:!0,singleTypes:[]},k=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"GET_MODELS":{r.collectionTypes=I.collectionTypes,r.singleTypes=I.singleTypes,r.components=I.components,r.isLoading=!0;break}case"GET_MODELS_ERROR":{r.collectionTypes=I.collectionTypes,r.singleTypes=I.singleTypes,r.components=I.components,r.isLoading=!1;break}case"GET_MODELS_SUCCEDED":{const S=A=>a.contentTypes.filter(W=>W.isDisplayed&&W.kind===A);r.isLoading=!1,r.collectionTypes=S("collectionType"),r.singleTypes=S("singleType"),r.components=a.components;break}default:return r}});var X=Object.defineProperty,q=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,T=(d,a,r)=>a in d?X(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,j=(d,a)=>{for(var r in a||(a={}))V.call(a,r)&&T(d,r,a[r]);if(D)for(var r of D(a))F.call(a,r)&&T(d,r,a[r]);return d},L=(d,a)=>q(d,Q(a)),N=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const Y=()=>{const d=(0,i.useNotification)(),[a,r]=(0,p.useReducer)(k,I);(0,p.useEffect)(()=>{S()},[]);const S=()=>N(void 0,null,function*(){r({type:"GET_MODELS"});try{const[{data:A},{data:W}]=yield Promise.all(["components","content-types"].map(x=>(0,i.request)(`/content-manager/${x}`,{method:"GET"})));r({type:"GET_MODELS_SUCCEDED",contentTypes:W,components:A})}catch(A){r({type:"GET_MODELS_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}});return L(j({},a),{getData:S})},y={data:{},error:null,isLoading:!0},ee=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"GET_DATA":{r.isLoading=!0,r.data={},r.error=null;break}case"GET_DATA_SUCCEEDED":{r.data=a.data,r.isLoading=!1,r.error=null;break}case"GET_DATA_ERROR":{r.isLoading=!1,r.error=a.error;break}default:return r}});var Fe=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const ze=d=>{const[{data:a,error:r,isLoading:S},A]=(0,p.useReducer)(ee,y);return(0,p.useEffect)(()=>{(()=>Fe(void 0,null,function*(){A({type:"GET_DATA"});const{data:x}=yield(0,i.request)("/admin/permissions",{method:"GET",params:{role:d}});A({type:"GET_DATA_SUCCEEDED",data:x})}))()},[d]),{data:a,error:r,isLoading:S}},Ie={role:{},permissions:{},isLoading:!0},Me=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"GET_DATA_SUCCEEDED":{r.role=a.role,r.permissions=a.permissions,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{r.role.name=a.name,r.role.description=a.description;break}default:return r}});var Je=e(98399),re=Object.defineProperty,de=Object.defineProperties,te=Object.getOwnPropertyDescriptors,oe=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,U=(d,a,r)=>a in d?re(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,M=(d,a)=>{for(var r in a||(a={}))J.call(a,r)&&U(d,r,a[r]);if(oe)for(var r of oe(a))ne.call(a,r)&&U(d,r,a[r]);return d},_=(d,a)=>de(d,te(a)),ie=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const Oe=d=>{const a=(0,i.useNotification)(),[r,S]=(0,p.useReducer)(Me,Ie);(0,p.useEffect)(()=>{d?A(d):S({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[d]);const A=x=>ie(void 0,null,function*(){try{const[{data:C},{data:h}]=yield Promise.all([`roles/${x}`,`roles/${x}/permissions`].map(w=>(0,i.request)(`/admin/${w}`,{method:"GET"})));S({type:"GET_DATA_SUCCEEDED",role:C,permissions:h})}catch(C){Je.error(C),S({type:"GET_DATA_ERROR"}),a({type:"warning",message:{id:"notification.error"}})}}),W=(0,p.useCallback)(x=>{S(M({type:"ON_SUBMIT_SUCCEEDED"},x))},[]);return _(M({},r),{onSubmitSucceeded:W})},B=(d,a)=>a.map(({permissions:r})=>(0,i.hasPermissions)(d,r));var ae=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const Ve=(d,a)=>ae(void 0,null,function*(){const r=B(d,a),S=yield Promise.all(r);return a.filter((W,x)=>S[x])});var qe=e(99381),gt=e.n(qe),Ot=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const se=(d,a,r)=>Ot(void 0,null,function*(){const S=B(d,a),A=yield Promise.all(S),W=a.filter((h,w)=>A[w]),x=W.findIndex(h=>h.to==="/settings");if(x===-1)return[];const C=gt()(W);return C[x].notificationsCount=r?1:0,C});var Te=e(42258),le=e.n(Te),et=e(45619),we=e.n(et),st=e(20223),ve=e.n(st),Re=e(79613);const ge={generalSectionLinks:[{icon:we(),intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:Re.Z.marketplace.main},{icon:ve(),intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:Re.Z.marketplace.main},{icon:le(),intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0},ct=(d=ge,a)=>(0,P.default)(d,r=>{switch(a.type){case"SET_SECTION_LINKS":{const{authorizedGeneralSectionLinks:S,authorizedPluginSectionLinks:A}=a.data;r.generalSectionLinks=S,r.pluginsSectionLinks=A;break}case"UNSET_IS_LOADING":{r.isLoading=!1;break}default:return r}});var xe=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const vt=()=>{const[d,a]=(0,p.useReducer)(ct,ge),{allPermissions:r}=(0,i.useRBACProvider)(),{shouldUpdateStrapi:S}=(0,i.useAppInfos)(),{menu:A}=(0,i.useStrapiApp)(),W=(0,p.useRef)(d.generalSectionLinks),x=(0,p.useRef)(S),C=(...w)=>xe(void 0,[...w],function*(Ue=r){const mt=yield Ve(Ue,A),lt=yield se(Ue,W.current,x.current);a({type:"SET_SECTION_LINKS",data:{authorizedGeneralSectionLinks:lt,authorizedPluginSectionLinks:mt}}),a({type:"UNSET_IS_LOADING"})}),h=(0,p.useRef)(C);return(0,p.useEffect)(()=>{h.current(r)},[r,a]),d};var At=e(33795),bt=e.n(At),ce=e(81999),Zt=Object.defineProperty,Qe=Object.defineProperties,_e=Object.getOwnPropertyDescriptors,pe=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,pt=(d,a,r)=>a in d?Zt(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,vs=(d,a)=>{for(var r in a||(a={}))je.call(a,r)&&pt(d,r,a[r]);if(pe)for(var r of pe(a))tt.call(a,r)&&pt(d,r,a[r]);return d},yt=(d,a)=>Qe(d,_e(a));const _t=(d,a)=>yt(vs({},d),{isLoading:a}),Gt={roles:[],isLoading:!0},it=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"GET_DATA":{r.isLoading=!0,r.roles=[];break}case"GET_DATA_SUCCEEDED":{r.roles=a.data,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}default:return r}});var Ps=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const Tt=(d=!0)=>{const a=(0,i.useNotification)(),[{roles:r,isLoading:S},A]=(0,p.useReducer)(it,Gt,()=>_t(Gt,d));(0,p.useEffect)(()=>{d&&W()},[d]);const W=(0,p.useCallback)(()=>Ps(void 0,null,function*(){try{A({type:"GET_DATA"});const{data:{data:x}}=yield ce.be.get("/admin/roles");A({type:"GET_DATA_SUCCEEDED",data:x})}catch(x){const C=bt()(x,["response","payload","message"],"An error occured");A({type:"GET_DATA_ERROR"}),C!=="Forbidden"&&a({type:"warning",message:C})}}),[a]);return{roles:r,isLoading:S,getData:W}};var Be=e(92891);const Mt={menu:[],isLoading:!0},Os=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"CHECK_PERMISSIONS_SUCCEEDED":{a.data.forEach(S=>{S.hasPermission&&(0,Be.set)(r,["menu",...S.path.split("."),"isDisplayed"],S.hasPermission)}),r.menu.forEach((S,A)=>{r.menu[A].links=S.links.filter(W=>W.isDisplayed===!0)}),r.isLoading=!1;break}default:return r}});var Rs=e(9086),As=e.n(Rs),Ms=e(98978),Ht=e.n(Ms);const Ss=d=>Ht()(d,a=>a.id);var Js=Object.defineProperty,Cs=Object.defineProperties,Ds=Object.getOwnPropertyDescriptors,$t=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Ls=Object.prototype.propertyIsEnumerable,jt=(d,a,r)=>a in d?Js(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,Is=(d,a)=>{for(var r in a||(a={}))qs.call(a,r)&&jt(d,r,a[r]);if($t)for(var r of $t(a))Ls.call(a,r)&&jt(d,r,a[r]);return d},zt=(d,a)=>Cs(d,Ds(a));const bs=d=>d.map(a=>{const r=a.links.map(S=>zt(Is({},S),{isDisplayed:!1}));return zt(Is({},a),{links:r})});var Vt=e(46053);const _s=[{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:Re.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:Re.Z.settings["api-tokens"].main}];var Xt=function(){return window&&window.strapi&&window.strapi.isEE?e(6387).Z:e(34671).Z}();const js=[].concat((0,Vt.Z)(_s),(0,Vt.Z)(Xt));var Bs=Object.defineProperty,Qt=Object.defineProperties,Yt=Object.getOwnPropertyDescriptors,Bt=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,Us=Object.prototype.propertyIsEnumerable,qt=(d,a,r)=>a in d?Bs(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,Ut=(d,a)=>{for(var r in a||(a={}))Jt.call(a,r)&&qt(d,r,a[r]);if(Bt)for(var r of Bt(a))Us.call(a,r)&&qt(d,r,a[r]);return d},wt=(d,a)=>Qt(d,Yt(a));const es=(d,{settings:a,shouldUpdateStrapi:r})=>{const S=a.global.links,A=Ss([...S,...js]).map(C=>wt(Ut({},C),{hasNotification:C.id==="000-application-infos"&&r})),W=Object.values(As()(a,"global")),x=[wt(Ut({},a.global),{links:A}),{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles",isDisplayed:!1,permissions:Re.Z.settings.roles.main},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users",isDisplayed:!1,permissions:Re.Z.settings.users.main}]},...W];return wt(Ut({},d),{menu:bs(x)})};var ts=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const ws=(d=!1)=>{const{allPermissions:a}=(0,i.useRBACProvider)(),{shouldUpdateStrapi:r}=(0,i.useAppInfos)(),{settings:S}=(0,i.useStrapiApp)(),[{isLoading:A,menu:W},x]=(0,p.useReducer)(Os,Mt,()=>es(Mt,{settings:S,shouldUpdateStrapi:r}));return(0,p.useEffect)(()=>{d||(()=>ts(void 0,null,function*(){const h=(mt,lt)=>ts(this,null,function*(){return{hasPermission:yield(0,i.hasPermissions)(a,mt),path:lt}}),Ue=(mt=>mt.reduce((lt,xt,kt)=>{const ms=Wt=>Wt.map((ft,ke)=>h(Wt[ke].permissions,`${kt}.links.${ke}`));return[...lt,...ms(xt.links)]},[]))(W),ht=yield Promise.all(Ue);x({type:"CHECK_PERMISSIONS_SUCCEEDED",data:ht})}))()},[a,d]),{isLoading:A,menu:W}};var ns=e(81430);const rs={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},os=(d,a)=>(0,P.default)(d,r=>{switch(a.type){case"GET_DATA_SUCCEEDED":{r.isLoading=!1,r.showHeaderLoader=!1,r.initialData=(0,Be.pick)(a.data,d.fieldsToPick),r.modifiedData=(0,Be.pick)(a.data,d.fieldsToPick);break}case"ON_CANCEL":{r.modifiedData=d.initialData,r.formErrors={};break}case"ON_CHANGE":{a.inputType==="password"&&!a.value?(0,Be.unset)(r.modifiedData,a.keys.split(".")):a.keys.includes("username")&&!a.value?(0,Be.set)(r.modifiedData,a.keys.split("."),null):(0,Be.set)(r.modifiedData,a.keys.split("."),a.value);break}case"ON_SUBMIT":{r.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{r.initialData=(0,Be.pick)(a.data,d.fieldsToPick),r.modifiedData=(0,Be.pick)(a.data,d.fieldsToPick),r.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{r.formErrors=a.errors,r.showHeaderButtonLoader=!1;break}default:return r}});var xs=Object.defineProperty,nn=Object.defineProperties,as=Object.getOwnPropertyDescriptors,ks=Object.getOwnPropertySymbols,Ws=Object.prototype.hasOwnProperty,Fs=Object.prototype.propertyIsEnumerable,is=(d,a,r)=>a in d?xs(d,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):d[a]=r,Ks=(d,a)=>{for(var r in a||(a={}))Ws.call(a,r)&&is(d,r,a[r]);if(ks)for(var r of ks(a))Fs.call(a,r)&&is(d,r,a[r]);return d},ls=(d,a)=>nn(d,as(a));const Ns=(d,a)=>ls(Ks({},d),{fieldsToPick:a});var us=e(98399),ds=(d,a,r)=>new Promise((S,A)=>{var W=h=>{try{C(r.next(h))}catch(w){A(w)}},x=h=>{try{C(r.throw(h))}catch(w){A(w)}},C=h=>h.done?S(h.value):Promise.resolve(h.value).then(W,x);C((r=r.apply(d,a)).next())});const cs=(d,a,r,S)=>{const[{formErrors:A,initialData:W,isLoading:x,modifiedData:C,showHeaderButtonLoader:h,showHeaderLoader:w},Ue]=(0,p.useReducer)(os,rs,()=>Ns(rs,S)),ht=(0,i.useNotification)(),{lockApp:mt,unlockApp:lt}=(0,i.useOverlayBlocker)();return(0,p.useEffect)(()=>{d&&(()=>ds(void 0,null,function*(){try{const{data:ke}=yield(0,i.request)(d,{method:"GET"});Ue({type:"GET_DATA_SUCCEEDED",data:ke,fieldsToPick:S})}catch(ke){us.error(ke.response),ht({type:"warning",message:{id:"notification.error"}})}}))()},[d]),[{formErrors:A,initialData:W,isLoading:x,modifiedData:C,showHeaderButtonLoader:h,showHeaderLoader:w},Ue,{handleCancel:()=>{Ue({type:"ON_CANCEL"})},handleChange:({target:{name:ft,value:ke,type:nt}})=>{Ue({type:"ON_CHANGE",inputType:nt,keys:ft,value:ke})},handleSubmit:ft=>ds(void 0,null,function*(){ft.preventDefault();const ke=yield(0,ns.R6)(C,a);if(Ue({type:"SET_ERRORS",errors:ke||{}}),!ke)try{mt(),Ue({type:"ON_SUBMIT"});const nt=(0,Be.omit)(C,["confirmPassword","registrationToken"]);nt.roles&&(nt.roles=nt.roles.map(Ft=>Ft.id));const{data:ut}=yield(0,i.request)(d,{method:"PUT",body:nt});r(ut),Ue({type:"ON_SUBMIT_SUCCEEDED",data:ut}),ht({type:"success",message:{id:"notification.success.saved"}})}catch(nt){const ut=(0,Be.get)(nt,"response.payload",{data:{}});(0,Be.has)(ut,"data")&&typeof ut.data=="string"?ht({type:"warning",message:ut.data}):ht({type:"warning",message:ut.message});const Ft=(0,ns.Iz)(ut);Ue({type:"SET_ERRORS",errors:Ft})}finally{lt()}}),setField:(ft,ke)=>{Ue({type:"ON_CHANGE",keys:ft,value:ke})}}]};var Zs=e(64564);const ps=()=>(0,p.useContext)(Zs.$l),Gs=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),Cn=()=>{const{latestStrapiReleaseTag:d,shouldUpdateStrapi:a}=useAppInfos(),r=useNotification();return useEffect(()=>{a&&Gs&&r({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,a,r]),null},ln=null,Hs=()=>(0,p.useContext)(Zs.Rj)},15015:(z,R,e)=>{"use strict";e.d(R,{Z:()=>P});var t=e(32735),p=e(64564);const P=()=>(0,t.useContext)(p._5)},34671:(z,R,e)=>{"use strict";e.d(R,{Z:()=>t});const t=[]},80144:(z,R,e)=>{"use strict";e.d(R,{sg:()=>F,bU:()=>T,ZP:()=>L});var t=e(32735),p=e(19615),i=e(60216),P=e.n(i),I=e(9808),O=e(19192),k=e(5636),X=e(12611),q=e(76573);const D=()=>{const{changeLocale:N,localeNames:H}=(0,q.Z)(),{locale:Y}=(0,k.useIntl)();return t.createElement(X.SimpleMenu,{label:H[Y]},Object.keys(H).map(y=>t.createElement(X.MenuItem,{onClick:()=>N(y),key:y},H[y])))},V=(0,p.default)(I.Box)`
70
- margin: 0 auto;
71
- width: 552px;
72
- `,F=(0,p.default)(O.Flex)`
73
- flex-direction: column;
74
- `,T=({children:N})=>t.createElement(V,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},N);T.propTypes={children:P().node.isRequired};const j=({children:N})=>t.createElement("div",null,t.createElement(O.Flex,{as:"header",justifyContent:"flex-end"},t.createElement(I.Box,{paddingTop:6,paddingRight:8},t.createElement(D,null))),t.createElement(I.Box,{paddingTop:2,paddingBottom:11},N));j.propTypes={children:P().node.isRequired};const L=j},70653:(z,R,e)=>{"use strict";e.d(R,{Z:()=>p});const p=[]},46148:(z,R,e)=>{"use strict";e.d(R,{Z:()=>I});var t=e(19615),p=e(20001),i=e.n(p);const I=(0,t.default)(p.FieldAction)`
75
- svg {
76
- height: 1rem;
77
- width: 1rem;
78
- path {
79
- fill: ${({theme:O})=>O.colors.neutral600};
80
- }
81
- }
82
- `},61901:(z,R,e)=>{"use strict";e.d(R,{Z:()=>M});var t=e(32735),p=e(37341),i=e.n(p),P=e(33912),I=e.n(P),O=e(9808),k=e.n(O),X=e(90662),q=e.n(X),Q=e(16540),D=e.n(Q),V=e(19192),F=e.n(V),T=e(58434),j=e.n(T),L=e(44526),N=e.n(L),H=e(37178),Y=e.n(H),y=e(52111),b=e.n(y),ee=e(95602),Fe=e.n(ee),l=e(10938),ze=e.n(l),Ie=e(60216),be=e.n(Ie),Me=e(5636),Je=e.n(Me),re=e(19615),de=e(83281),te=e(80144),oe=e(83586),J=e(46148);const ne=(0,re.default)(H.TextInput)`
83
- ::-ms-reveal {
84
- display: none;
85
- }
86
- `,U=({onSubmit:_,schema:ie,children:me})=>{const[Oe,Pe]=(0,t.useState)(!1),{formatMessage:B}=(0,Me.useIntl)();return t.createElement(Q.Main,null,t.createElement(te.bU,null,t.createElement(de.Formik,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:_,validationSchema:ie,validateOnChange:!1},({values:ae,errors:fe,handleChange:Ve})=>t.createElement(l.Form,{noValidate:!0},t.createElement(te.sg,null,t.createElement(oe.Z,null),t.createElement(O.Box,{paddingTop:6,paddingBottom:1},t.createElement(ee.Typography,{variant:"alpha",as:"h1"},B({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),t.createElement(O.Box,{paddingBottom:7},t.createElement(ee.Typography,{variant:"epsilon",textColor:"neutral600"},B({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),fe.errorMessage&&t.createElement(ee.Typography,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},fe.errorMessage)),t.createElement(X.Stack,{spacing:6},t.createElement(H.TextInput,{error:fe.email?B({id:fe.email,defaultMessage:"This value is required."}):"",value:ae.email,onChange:Ve,label:B({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:B({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),t.createElement(ne,{error:fe.password?B({id:fe.password,defaultMessage:"This value is required."}):"",onChange:Ve,value:ae.password,label:B({id:"global.password",defaultMessage:"Password"}),name:"password",type:Oe?"text":"password",endAction:t.createElement(J.Z,{onClick:qe=>{qe.stopPropagation(),Pe(gt=>!gt)},label:B(Oe?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Oe?t.createElement(I(),null):t.createElement(i(),null)),required:!0}),t.createElement(y.Checkbox,{onValueChange:qe=>{Ve({target:{value:qe,name:"rememberMe"}})},value:ae.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},B({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),t.createElement(L.Button,{fullWidth:!0,type:"submit"},B({id:"Auth.form.button.login",defaultMessage:"Login"}))))),me),t.createElement(V.Flex,{justifyContent:"center"},t.createElement(O.Box,{paddingTop:4},t.createElement(T.Link,{to:"/auth/forgot-password"},B({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};U.defaultProps={children:null,onSubmit:()=>{}},U.propTypes={children:be().node,onSubmit:be().func,schema:be().shape({type:be().string.isRequired}).isRequired};const M=U},28055:(z,R,e)=>{"use strict";e.d(R,{Z:()=>F});var t=e(32735),p=e(60216),i=e.n(p),P=e(61901),I=e(80144),O=Object.defineProperty,k=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Q=(T,j,L)=>j in T?O(T,j,{enumerable:!0,configurable:!0,writable:!0,value:L}):T[j]=L,D=(T,j)=>{for(var L in j||(j={}))X.call(j,L)&&Q(T,L,j[L]);if(k)for(var L of k(j))q.call(j,L)&&Q(T,L,j[L]);return T};const V=T=>t.createElement(I.ZP,null,t.createElement(P.Z,D({},T)));V.defaultProps={onSubmit:T=>T.preventDefault()},V.propTypes={onSubmit:i().func};const F=V},6437:(z,R,e)=>{"use strict";e.r(R),e.d(R,{default:()=>Y});var t=e(32735),p=e(10938),i=e.n(p),P=e(16540),I=e.n(P),O=e(74064),k=e.n(O),X=e(11856),q=e.n(X),Q=e(64354),D=e.n(Q),V=e(70733),F=e.n(V),T=e(30345),j=e.n(T),L=e(5636),N=e.n(L);const Y=()=>{const{formatMessage:y}=(0,L.useIntl)();return(0,p.useFocusWhenNavigate)(),t.createElement(P.Main,{labelledBy:"title"},t.createElement(X.HeaderLayout,{id:"title",title:y({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),t.createElement(X.ContentLayout,null,t.createElement(Q.EmptyStateLayout,{action:t.createElement(O.LinkButton,{variant:"secondary",endIcon:t.createElement(j(),null),to:"/"},y({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:y({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:t.createElement(F(),{width:"10rem"}),shadow:"tableShadow"})))}},99970:(z,R,e)=>{"use strict";e.d(R,{Z:()=>t});const t={}},21460:(z,R,e)=>{"use strict";e.d(R,{Z:()=>p});const p=({data:i})=>{try{return Object.keys(i).reduce((P,I)=>{const O=i[I][0];return P[I]={id:O,defaultMessage:O},P},{})}catch(P){return{}}}},81430:(z,R,e)=>{"use strict";e.d(R,{R6:()=>P,ot:()=>F,Iz:()=>T.Z,Pp:()=>ne,IF:()=>J,WW:()=>Me});var t=e(10938),p=(U,M,_)=>new Promise((ie,me)=>{var Oe=ae=>{try{B(_.next(ae))}catch(fe){me(fe)}},Pe=ae=>{try{B(_.throw(ae))}catch(fe){me(fe)}},B=ae=>ae.done?ie(ae.value):Promise.resolve(ae.value).then(Oe,Pe);B((_=_.apply(U,M)).next())});const P=(U,M)=>p(void 0,null,function*(){let _=null;try{yield M.validate(U,{abortEarly:!1})}catch(ie){_=(0,t.getYupInnerErrors)(ie)}return _});var I=e(32735),O=e(60216),k=e.n(O),X=e(5141),q=e(98399),Q=(U,M,_)=>new Promise((ie,me)=>{var Oe=ae=>{try{B(_.next(ae))}catch(fe){me(fe)}},Pe=ae=>{try{B(_.throw(ae))}catch(fe){me(fe)}},B=ae=>ae.done?ie(ae.value):Promise.resolve(ae.value).then(Oe,Pe);B((_=_.apply(U,M)).next())});const D=({loadComponent:U})=>{const[M,_]=(0,I.useState)(null);return(0,I.useEffect)(()=>{(()=>Q(void 0,null,function*(){try{const me=yield U();_(()=>me.default)}catch(me){q.log(me)}}))()},[U]),M?I.createElement(M,null):I.createElement(t.LoadingIndicatorPage,null)},V=(U,M,_)=>I.createElement(X.Route,{render:()=>I.createElement(D,{loadComponent:U}),key:M,path:M,exact:_||!1});D.propTypes={loadComponent:k().func.isRequired};const F=V;var T=e(21460),j=e(92891),L=Object.defineProperty,N=Object.defineProperties,H=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,y=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,ee=(U,M,_)=>M in U?L(U,M,{enumerable:!0,configurable:!0,writable:!0,value:_}):U[M]=_,Fe=(U,M)=>{for(var _ in M||(M={}))y.call(M,_)&&ee(U,_,M[_]);if(Y)for(var _ of Y(M))b.call(M,_)&&ee(U,_,M[_]);return U},l=(U,M)=>N(U,H(M));const ze=U=>{const M=get(U,["options","timestamps"]);let _=Array.isArray(M)?M:[];const me=[...["id","_id"],..._,"publishedAt"],Oe=get(U,["attributes"],{});return Object.keys(Oe).reduce((Pe,B)=>(me.includes(B)||Pe.push(l(Fe({},Oe[B]),{attributeName:B})),Pe),[])},Ie=null,Me=U=>U.filter((M,_,ie)=>ie.findIndex(me=>me.key===M.key)===_),Je=U=>sortBy(U,M=>M.name),re=null,de=U=>Array.from(new Set(Object.entries(U).reduce((M,_)=>{const ie=me=>me.reduce((Oe,Pe)=>{let B=Oe;return Pe.actions&&(B=[...B,...Pe.actions]),typeof Pe=="object"&&!Pe.actions&&(B=[...B,...Object.keys(Pe)]),B},[]);return[...M,...ie([...Object.values(_[1].attributes||{}),get(_[1],"contentTypeActions",{})])]},[]))),te=null,J=U=>`/admin/${U}`,ne=(U,M="")=>[U,M].filter(_=>_).join(" ")},39361:(z,R,e)=>{"use strict";e.d(R,{p:()=>D});var t=e(32735),p=e(10938),i=e(81430),P=e(49415);const I={data:[],isLoading:!0},k=(V,F)=>(0,P.default)(V,T=>{switch(F.type){case"GET_DATA_SUCCEEDED":{T.data=F.data,T.isLoading=!1;break}case"GET_DATA_ERROR":{T.isLoading=!1;break}default:return T}});var X=e(98399),q=(V,F,T)=>new Promise((j,L)=>{var N=y=>{try{Y(T.next(y))}catch(b){L(b)}},H=y=>{try{Y(T.throw(y))}catch(b){L(b)}},Y=y=>y.done?j(y.value):Promise.resolve(y.value).then(N,H);Y((T=T.apply(V,F)).next())});const D=({ssoEnabled:V})=>{const[F,T]=(0,t.useReducer)(k,I),j=(0,p.useNotification)();(0,t.useEffect)(()=>{L()},[]);const L=()=>q(void 0,null,function*(){try{if(!V){T({type:"GET_DATA_SUCCEEDED",data:[]});return}const N=(0,i.IF)("providers"),H=yield(0,p.request)(N,{method:"GET"});T({type:"GET_DATA_SUCCEEDED",data:H})}catch(N){X.error(N),T({type:"GET_DATA_ERROR"}),j({type:"warning",message:{id:"notification.error"}})}});return F}},6387:(z,R,e)=>{"use strict";e.d(R,{Z:()=>P});var t=e(79613);const P=[...strapi.features.isEnabled(strapi.features.SSO)?[{intlLabel:{id:"Settings.sso.title",defaultMessage:"Single Sign-On"},to:"/settings/single-sign-on",id:"sso",isDisplayed:!1,permissions:t.Z.settings.sso.main}]:[]]},13030:(z,R,e)=>{"use strict";e.d(R,{Z:()=>V});var t=e(32735),p=e(5141),i=e(5636),P=e(49189),I=e.n(P),O=e(10938),k=e(81430),X=(F,T,j)=>new Promise((L,N)=>{var H=b=>{try{y(j.next(b))}catch(ee){N(ee)}},Y=b=>{try{y(j.throw(b))}catch(ee){N(ee)}},y=b=>b.done?L(b.value):Promise.resolve(b.value).then(H,Y);y((j=j.apply(F,T)).next())});const Q=()=>{const{params:{authResponse:F}}=(0,p.useRouteMatch)("/auth/login/:authResponse"),{formatMessage:T}=(0,i.useIntl)(),{push:j}=(0,p.useHistory)(),L=(0,t.useRef)(T);let N=(0,t.useCallback)(()=>{j(`/auth/oops?info=${encodeURIComponent(L.current({id:"Auth.form.button.login.providers.error",defaultMessage:"We cannot connect you through the selected provider."}))}`)},[j]);const H=(0,t.useCallback)(()=>X(void 0,null,function*(){try{const Y=I().get("jwtToken");if(O.auth.clearAppStorage(),Y){O.auth.setToken(Y,!0);const y=(0,k.IF)("users/me"),{data:b}=yield(0,O.request)(y,{method:"GET"});O.auth.setUserInfo(b,!0),I().remove("jwtToken"),j("/auth/login")}}catch(Y){N()}}),[j,N]);return(0,t.useEffect)(()=>{F==="error"&&N(),F==="success"&&H()},[F,H,N]),t.createElement(O.LoadingIndicatorPage,null)},V=[{Component:()=>({default:Q}),to:"/auth/login/:authResponse",exact:!0}]},34970:(z,R,e)=>{"use strict";e.d(R,{Z:()=>Je});var t=e(32735),p=e(60216),i=e.n(p),P=e(19615),I=e(9808),O=e.n(I),k=e(19192),X=e.n(k),q=e(27635),Q=e.n(q),D=e(90662),V=e.n(D),F=e(95602),T=e.n(F),j=e(5636),L=e.n(j),N=e(61901),H=e(39361),Y=e(80144),y=e(77876),b=Object.defineProperty,ee=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable,ze=(re,de,te)=>de in re?b(re,de,{enumerable:!0,configurable:!0,writable:!0,value:te}):re[de]=te,Ie=(re,de)=>{for(var te in de||(de={}))Fe.call(de,te)&&ze(re,te,de[te]);if(ee)for(var te of ee(de))l.call(de,te)&&ze(re,te,de[te]);return re};const be=(0,P.default)(q.Divider)`
87
- flex: 1;
88
- `,Me=re=>{const de=strapi.features.isEnabled(strapi.features.SSO),{isLoading:te,data:oe}=(0,H.p)({ssoEnabled:de}),{formatMessage:J}=(0,j.useIntl)();return!de||!te&&oe.length===0?t.createElement(Y.ZP,null,t.createElement(N.Z,Ie({},re))):t.createElement(Y.ZP,null,t.createElement(N.Z,Ie({},re),t.createElement(I.Box,{paddingTop:7},t.createElement(D.Stack,{spacing:7},t.createElement(k.Flex,null,t.createElement(be,null),t.createElement(I.Box,{paddingLeft:3,paddingRight:3},t.createElement(F.Typography,{variant:"sigma",textColor:"neutral600"},J({id:"Auth.login.sso.divider"}))),t.createElement(be,null)),t.createElement(y.Z,{providers:oe,displayAllProviders:!1})))))};Me.defaultProps={onSubmit:re=>re.preventDefault(),requestError:null},Me.propTypes={formErrors:i().object.isRequired,modifiedData:i().object.isRequired,onChange:i().func.isRequired,onSubmit:i().func,requestError:i().object};const Je=Me},77876:(z,R,e)=>{"use strict";e.d(R,{Z:()=>y});var t=e(32735),p=e(60216),i=e.n(p),P=e(78330),I=e.n(P),O=e(19192),k=e.n(O),X=e(95602),q=e.n(X),Q=e(44826),D=e.n(Q),V=e(19615),F=e(5636),T=e.n(F),j=e(5141);const L=V.default.a`
89
- width: ${136/16}rem;
90
- display: flex;
91
- justify-content: center;
92
- align-items: center;
93
- height: ${48/16}rem;
94
- border: 1px solid ${({theme:b})=>b.colors.neutral150};
95
- border-radius: ${({theme:b})=>b.borderRadius};
96
- text-decoration: inherit;
97
- &:link {
98
- text-decoration: none;
99
- }
100
- color: ${({theme:b})=>b.colors.neutral600};
101
- `,N=(0,V.default)(O.Flex)`
102
- & a:not(:first-child):not(:last-child) {
103
- margin: 0 ${({theme:b})=>b.spaces[2]};
104
- }
105
- & a:first-child {
106
- margin-right: ${({theme:b})=>b.spaces[2]};
107
- }
108
- & a:last-child {
109
- margin-left: ${({theme:b})=>b.spaces[2]};
110
- }
111
- `,H=({provider:b})=>t.createElement(Q.Tooltip,{label:b.displayName},t.createElement(L,{href:`${strapi.backendURL}/admin/connect/${b.uid}`},b.icon?t.createElement("img",{src:b.icon,"aria-hidden":!0,alt:"",height:"32px"}):t.createElement(X.Typography,null,b.displayName)));H.propTypes={provider:i().shape({icon:i().string,displayName:i().string.isRequired,uid:i().string.isRequired}).isRequired};const Y=({providers:b,displayAllProviders:ee})=>{const{formatMessage:Fe}=(0,F.useIntl)();return ee?t.createElement(P.Grid,{gap:4},b.map(l=>t.createElement(P.GridItem,{key:l.uid,col:4},t.createElement(H,{provider:l})))):b.length>2&&!ee?t.createElement(P.Grid,{gap:4},b.slice(0,2).map(l=>t.createElement(P.GridItem,{key:l.uid,col:4},t.createElement(H,{provider:l}))),t.createElement(P.GridItem,{col:4},t.createElement(Q.Tooltip,{label:Fe({id:"global.see-more"})},t.createElement(L,{as:j.Link,to:"/auth/providers"},t.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):t.createElement(N,{justifyContent:"center"},b.map(l=>t.createElement(H,{key:l.uid,provider:l})))};Y.defaultProps={displayAllProviders:!0},Y.propTypes={providers:i().arrayOf(i().object).isRequired,displayAllProviders:i().bool};const y=Y},97010:(z,R,e)=>{"use strict";e.d(R,{Z:()=>te});var t=e(32735),p=e(5141),i=e(19615),P=e(27635),I=e(90662),O=e(19192),k=e(9808),X=e(44526),q=e(58434),Q=e(82910),D=e(95602),V=e(16540),F=e(5636),T=e(39361),j=e(80144),L=e(77876),N=e(83586);const H=(0,i.default)(P.Divider)`
112
- flex: 1;
113
- `,y=()=>{const oe=strapi.features.isEnabled(strapi.features.SSO),{push:J}=(0,p.useHistory)(),{formatMessage:ne}=(0,F.useIntl)(),{isLoading:U,data:M}=(0,T.p)({ssoEnabled:oe}),_=()=>{J("/auth/login")};return!oe||!U&&M.length===0?t.createElement(p.Redirect,{to:"/auth/login"}):t.createElement(j.ZP,null,t.createElement(V.Main,null,t.createElement(j.bU,null,t.createElement(j.sg,null,t.createElement(N.Z,null),t.createElement(k.Box,{paddingTop:6,paddingBottom:1},t.createElement(D.Typography,{as:"h1",variant:"alpha"},ne({id:"Auth.form.welcome.title"}))),t.createElement(k.Box,{paddingBottom:7},t.createElement(D.Typography,{variant:"epsilon",textColor:"neutral600"},ne({id:"Auth.login.sso.subtitle"})))),t.createElement(I.Stack,{spacing:7},U?t.createElement(O.Flex,{justifyContent:"center"},t.createElement(Q.Loader,null,ne({id:"Auth.login.sso.loading"}))):t.createElement(L.Z,{providers:M}),t.createElement(O.Flex,null,t.createElement(H,null),t.createElement(k.Box,{paddingLeft:3,paddingRight:3},t.createElement(D.Typography,{variant:"sigma",textColor:"neutral600"},ne({id:"or"}))),t.createElement(H,null)),t.createElement(X.Button,{fullWidth:!0,size:"L",onClick:_},ne({id:"Auth.form.button.login.strapi"})))),t.createElement(O.Flex,{justifyContent:"center"},t.createElement(k.Box,{paddingTop:4},t.createElement(q.Link,{to:"/auth/forgot-password"},t.createElement(D.Typography,{variant:"pi"},ne({id:"Auth.link.forgot-password"})))))))};var b=e(49760),ee=Object.defineProperty,Fe=Object.defineProperties,l=Object.getOwnPropertyDescriptors,ze=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,be=Object.prototype.propertyIsEnumerable,Me=(oe,J,ne)=>J in oe?ee(oe,J,{enumerable:!0,configurable:!0,writable:!0,value:ne}):oe[J]=ne,Je=(oe,J)=>{for(var ne in J||(J={}))Ie.call(J,ne)&&Me(oe,ne,J[ne]);if(ze)for(var ne of ze(J))be.call(J,ne)&&Me(oe,ne,J[ne]);return oe},re=(oe,J)=>Fe(oe,l(J));const te=re(Je({},b.Z),{providers:{Component:y,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""}})},8848:(z,R,e)=>{"use strict";e.d(R,{Z:()=>p});const p={settings:{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}]}}}},68507:(z,R,e)=>{"use strict";z.exports=e.p+"fde9b1ad0670d29a2516.png"},84084:(z,R,e)=>{"use strict";z.exports=e.p+"15026a3d58aeb2828134.png"},19419:(z,R,e)=>{"use strict";z.exports=e.p+"b997a22a2e0b87ef1fa2.ico"}}]);
@@ -1,80 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[801],{72298:(K,R,n)=>{n.r(R),n.d(R,{default:()=>en});var e=n(32735),i=n(10938),B=n(84968),P=n(33795),Q=n.n(P);const S={i8:"4.1.9"};var W=n(28492),f=n(5141),V=n(74506),x=n(51968),C=n(19615),F=n(60216),s=n.n(F),T=n(5636),G=n(27635),v=n(18403),b=n(54742),l=n(9808),d=n(95602),E=n(90662),M=n(82926),Be=n.n(M),be=n(70258),Ge=n.n(be),Ue=n(15015);const Fe=(0,C.default)(l.Box)`
2
- width: ${150/16}rem;
3
- position: absolute;
4
- bottom: ${({theme:t})=>t.spaces[9]};
5
- left: ${({theme:t})=>t.spaces[5]};
6
- `,te=(0,C.default)(f.NavLink)`
7
- display: flex;
8
- justify-content: space-between;
9
- align-items: center;
10
- text-decoration: none;
11
- padding: ${({theme:t})=>`${t.spaces[2]} ${t.spaces[4]}`};
12
- border-radius: ${({theme:t})=>t.spaces[1]};
13
-
14
- &:hover {
15
- background: ${({theme:t,logout:a})=>a?t.colors.danger100:t.colors.primary100};
16
- text-decoration: none;
17
- }
18
-
19
- svg {
20
- path {
21
- fill: ${({theme:t})=>t.colors.danger600};
22
- }
23
- }
24
- `,ne=({generalSectionLinks:t,pluginsSectionLinks:a})=>{const o=(0,e.useRef)(),[r,c]=(0,e.useState)(!1),{menuLogo:u}=(0,Ue.Z)(),[g,y]=(0,i.usePersistentState)("navbar-condensed",!1),{userDisplayName:h}=(0,i.useAppInfos)(),{formatMessage:m}=(0,T.useIntl)(),L=h.split(" ").map(p=>p.substring(0,1)).join("").substring(0,2),D=()=>c(p=>!p),j=()=>{i.auth.clearAppStorage(),D()},$=p=>{var A,I;!p.currentTarget.contains(p.relatedTarget)&&((I=(A=p.relatedTarget)==null?void 0:A.parentElement)==null?void 0:I.id)!=="main-nav-user-button"&&c(!1)},U=m({id:"app.components.LeftMenu.navbrand.title",defaultMessage:"Strapi Dashboard"});return e.createElement(v.MainNav,{condensed:g},e.createElement(v.NavBrand,{workplace:m({id:"app.components.LeftMenu.navbrand.workplace",defaultMessage:"Workplace"}),title:U,icon:e.createElement("img",{src:u,alt:U})}),e.createElement(G.Divider,null),e.createElement(v.NavSections,null,e.createElement(v.NavLink,{to:"/content-manager",icon:e.createElement(Be(),null)},m({id:"global.content-manager",defaultMessage:"Content manager"})),a.length>0?e.createElement(v.NavSection,{label:"Plugins"},a.map(p=>{const A=p.icon;return e.createElement(v.NavLink,{to:p.to,key:p.to,icon:e.createElement(A,null)},m(p.intlLabel))})):null,t.length>0?e.createElement(v.NavSection,{label:"General"},t.map(p=>{const A=p.icon;return e.createElement(v.NavLink,{badgeContent:p.notificationsCount>0&&p.notificationsCount.toString()||void 0,to:p.to,key:p.to,icon:e.createElement(A,null)},m(p.intlLabel))})):null),e.createElement(v.NavUser,{id:"main-nav-user-button",ref:o,onClick:D,initials:L},h),r&&e.createElement(Fe,{onBlur:$,padding:1,shadow:"tableShadow",background:"neutral0",hasRadius:!0},e.createElement(b.FocusTrap,{onEscape:D},e.createElement(E.Stack,{spacing:0},e.createElement(te,{tabIndex:0,onClick:D,to:"/me"},e.createElement(d.Typography,null,m({id:"global.profile",defaultMessage:"Profile"}))),e.createElement(te,{tabIndex:0,onClick:j,logout:"logout",to:"/auth/login"},e.createElement(d.Typography,{textColor:"danger600"},m({id:"app.components.LeftMenu.logout",defaultMessage:"Logout"})),e.createElement(Ge(),null))))),e.createElement(v.NavCondense,{onClick:()=>y(p=>!p)},m(g?{id:"app.components.LeftMenu.expand",defaultMessage:"Expand the navbar"}:{id:"app.components.LeftMenu.collapse",defaultMessage:"Collapse the navbar"})))};ne.propTypes={generalSectionLinks:s().array.isRequired,pluginsSectionLinks:s().array.isRequired};const Ne=ne;var O=n(19192),We=n(16540);const je=(0,C.default)(l.Box)`
25
- flex: 1;
26
- `,ae=({children:t,sideNav:a})=>{const{formatMessage:o}=(0,T.useIntl)();return e.createElement(l.Box,{background:"neutral100"},e.createElement(We.SkipToContent,null,o({id:"skipToContent",defaultMessage:"Skip to content"})),e.createElement(O.Flex,{alignItems:"flex-start"},a,e.createElement(je,null,t)))};ae.propTypes={children:s().node.isRequired,sideNav:s().node.isRequired};const $e=ae;var Y=n(16925),oe=n(28257);const Ke=(0,C.default)(l.Box)`
27
- position: fixed;
28
- bottom: ${({theme:t})=>t.spaces[2]};
29
- right: ${({theme:t})=>t.spaces[2]};
30
- `,Ve=C.default.button`
31
- width: ${({theme:t})=>t.spaces[8]};
32
- height: ${({theme:t})=>t.spaces[8]};
33
- background: ${({theme:t})=>t.colors.primary600};
34
- box-shadow: ${({theme:t})=>t.shadows.tableShadow};
35
- border-radius: 50%;
36
- svg {
37
- color: ${({theme:t})=>t.colors.buttonNeutral0};
38
- }
39
- `,ze=(0,C.default)(l.Box)`
40
- position: absolute;
41
- bottom: ${({theme:t})=>`${t.spaces[9]}`};
42
- right: 0;
43
- width: ${200/16}rem;
44
- `,He=C.default.a`
45
- display: flex;
46
- align-items: center;
47
- text-decoration: none;
48
- padding: ${({theme:t})=>t.spaces[2]};
49
- padding-left: ${({theme:t})=>t.spaces[5]};
50
-
51
- svg {
52
- color: ${({theme:t})=>t.colors.neutral600};
53
- margin-right: ${({theme:t})=>t.spaces[2]};
54
- }
55
-
56
- &:hover {
57
- background: ${({theme:t})=>t.colors.neutral100};
58
- color: ${({theme:t})=>t.colors.neutral500};
59
-
60
- svg {
61
- color: ${({theme:t})=>t.colors.neutral700};
62
- }
63
-
64
- ${[d.Typography]} {
65
- color: ${({theme:t})=>t.colors.neutral700};
66
- }
67
- }
68
-
69
- ${[d.Typography]} {
70
- color: ${({theme:t})=>t.colors.neutral600};
71
- }
72
- `,ke=()=>{const[t,a]=(0,e.useState)(!1),{formatMessage:o}=(0,T.useIntl)(),{showTutorials:r}=(0,W.um)();if(!r)return null;const c=[{icon:"book",label:o({id:"global.documentation",defaultMessage:"Documentation"}),destination:"https://docs.strapi.io"},{icon:"file",label:o({id:"app.static.links.cheatsheet",defaultMessage:"CheatSheet"}),destination:"https://strapi-showcase.s3-us-west-2.amazonaws.com/CheatSheet.pdf"}],u=()=>{a(g=>!g)};return e.createElement(Ke,{as:"aside"},e.createElement(Ve,{id:"onboarding","aria-label":o({id:"app.components.Onboarding.help.button",defaultMessage:"Help button"}),onClick:u},!t&&e.createElement(Y.G,{icon:oe.faQuestion}),t&&e.createElement(Y.G,{icon:oe.faTimes})),t&&e.createElement(b.FocusTrap,{onEscape:u},e.createElement(ze,{background:"neutral0",hasRadius:!0,shadow:"tableShadow",paddingBottom:2,paddingTop:2},c.map(g=>e.createElement(He,{key:g.label,rel:"nofollow noreferrer noopener",target:"_blank",href:g.destination},e.createElement(Y.G,{icon:g.icon}),e.createElement(d.Typography,null,g.label))))))};var se=n(81430),Ze=n(88311),re=n.n(Ze),Qe=n(70620),Ye=n(64410),Xe=n(20763),ie=n(44526),Je=n(94009),we=n.n(Je);const qe=(0,C.default)(O.Flex)`
73
- position: fixed;
74
- z-index: 4;
75
- inset: 0;
76
- /* this is theme.colors.neutral800 with opacity */
77
- background: ${({theme:t})=>`${t.colors.neutral800}1F`};
78
- `,le=({onClose:t,onSkip:a,children:o,hideSkip:r})=>{const{formatMessage:c}=(0,T.useIntl)();return e.createElement(Ye.Portal,null,e.createElement(qe,{onClick:t,padding:8,justifyContent:"center"},e.createElement(b.FocusTrap,{onEscape:t},e.createElement(E.Stack,{background:"neutral0",width:(0,i.pxToRem)(660),shadow:"popupShadow",hasRadius:!0,padding:4,spacing:8,role:"dialog","aria-modal":!0,onClick:u=>u.stopPropagation()},e.createElement(O.Flex,{justifyContent:"flex-end"},e.createElement(Xe.IconButton,{onClick:t,"aria-label":c({id:"app.utils.close-label",defaultMessage:"Close"}),icon:e.createElement(we(),null)})),e.createElement(l.Box,{paddingLeft:7,paddingRight:7,paddingBottom:r?8:0},o),!r&&e.createElement(O.Flex,{justifyContent:"flex-end"},e.createElement(ie.Button,{variant:"tertiary",onClick:a},c({id:"app.components.GuidedTour.skip",defaultMessage:"Skip the tour"})))))))};le.propTypes={children:s().node.isRequired,onClose:s().func.isRequired,onSkip:s().func.isRequired,hideSkip:s().bool.isRequired};const _e=le;var de=n(49415);const ce={stepContent:null,sectionIndex:null,stepIndex:null,hasSectionAfter:!1,hasStepAfter:!1},et=(t=ce,a)=>(0,de.default)(t,o=>{switch(a.type){case"UPDATE_MODAL":{o.stepContent=a.content,o.sectionIndex=a.newSectionIndex,o.stepIndex=a.newStepIndex,o.hasSectionAfter=a.newHasSectionAfter,o.hasStepAfter=a.newHasStepAfter;break}default:return o}});var tt=n(74064),nt=n(30345),ue=n.n(nt);const at=C.default.li`
79
- list-style: disc;
80
- `,pe=({id:t,defaultMessage:a})=>{const{formatMessage:o}=(0,T.useIntl)();return e.createElement(E.Stack,{spacing:4,paddingBottom:6},o({id:t,defaultMessage:a},{documentationLink:r=>e.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/developer-resources/database-apis-reference/rest-api.html#api-parameters"},r),b:r=>e.createElement(d.Typography,{fontWeight:"semiBold"},r),p:r=>e.createElement(d.Typography,null,r),light:r=>e.createElement(d.Typography,{textColor:"neutral600"},r),ul:r=>e.createElement(l.Box,{paddingLeft:6},e.createElement("ul",null,r)),li:r=>e.createElement(at,null,r)}))};pe.propTypes={id:s().string.isRequired,defaultMessage:s().string.isRequired};const ot=pe;var X=n(29470),st=n(48634);const J=({number:t,last:a,type:o})=>e.createElement(l.Box,{paddingTop:3,paddingBottom:a?0:3},e.createElement(st.Z,{number:t,type:o}));J.defaultProps={number:void 0,last:!1,type:""},J.propTypes={number:s().number,last:s().bool,type:s().string};const me=J;var N=n(66358),rt=Object.defineProperty,ge=Object.getOwnPropertySymbols,it=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable,fe=(t,a,o)=>a in t?rt(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,dt=(t,a)=>{for(var o in a||(a={}))it.call(a,o)&&fe(t,o,a[o]);if(ge)for(var o of ge(a))lt.call(a,o)&&fe(t,o,a[o]);return t};const w=({title:t,content:a,cta:o,onCtaClick:r,sectionIndex:c,stepIndex:u,hasSectionAfter:g})=>{const{formatMessage:y}=(0,T.useIntl)(),h=c>0,m=u>0,L=c+1;return e.createElement(e.Fragment,null,e.createElement(O.Flex,{alignItems:"stretch"},e.createElement(O.Flex,{marginRight:8,justifyContent:"center",minWidth:(0,i.pxToRem)(30)},h&&e.createElement(X.Z,{type:N.hx,minHeight:(0,i.pxToRem)(24)})),e.createElement(d.Typography,{variant:"sigma",textColor:"primary600"},y({id:"app.components.GuidedTour.title",defaultMessage:"3 steps to get started"}))),e.createElement(O.Flex,null,e.createElement(O.Flex,{marginRight:8,minWidth:(0,i.pxToRem)(30)},e.createElement(me,{number:c+1,type:m?N.hx:N.lW})),e.createElement(d.Typography,{variant:"alpha",fontWeight:"bold",textColor:"neutral800",as:"h3",id:"title"},y(t))),e.createElement(O.Flex,{alignItems:"stretch"},e.createElement(O.Flex,{marginRight:8,direction:"column",justifyContent:"center",minWidth:(0,i.pxToRem)(30)},g&&e.createElement(e.Fragment,null,e.createElement(X.Z,{type:N.hx}),m&&e.createElement(me,{number:L+1,type:N.lW,last:!0}))),e.createElement(l.Box,null,e.createElement(ot,dt({},a)),o&&(o.target?e.createElement(tt.LinkButton,{endIcon:e.createElement(ue(),null),onClick:r,to:o.target},y(o.title)):e.createElement(ie.Button,{endIcon:e.createElement(ue(),null),onClick:r},y(o.title))))),m&&g&&e.createElement(l.Box,{paddingTop:3},e.createElement(O.Flex,{marginRight:8,justifyContent:"center",width:(0,i.pxToRem)(30)},e.createElement(X.Z,{type:N.hx,minHeight:(0,i.pxToRem)(24)}))))};w.defaultProps={currentStep:null,cta:void 0},w.propTypes={sectionIndex:s().number.isRequired,stepIndex:s().number.isRequired,hasSectionAfter:s().bool.isRequired,content:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired}).isRequired,cta:s().shape({target:s().string,title:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired})}),currentStep:s().string,onCtaClick:s().func.isRequired,title:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired}).isRequired};const ct=w;var ut=Object.defineProperty,pt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,gt=Object.prototype.hasOwnProperty,ft=Object.prototype.propertyIsEnumerable,Ee=(t,a,o)=>a in t?ut(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,ht=(t,a)=>{for(var o in a||(a={}))gt.call(a,o)&&Ee(t,o,a[o]);if(he)for(var o of he(a))ft.call(a,o)&&Ee(t,o,a[o]);return t},Et=(t,a)=>pt(t,mt(a));const yt=()=>{const{currentStep:t,guidedTourState:a,setCurrentStep:o,setStepState:r,isGuidedTourVisible:c,setSkipped:u}=(0,i.useGuidedTour)(),[g,y]=(0,e.useState)(t),[{stepContent:h,sectionIndex:m,stepIndex:L,hasSectionAfter:D,hasStepAfter:j},$]=(0,e.useReducer)(et,ce),{trackUsage:U}=(0,i.useTracking)();(0,e.useEffect)(()=>{if(!t){y(!1);return}const[I]=re()(a,t);y(!I&&c)},[t,a,c]),(0,e.useEffect)(()=>{if(t){const[I]=re()(Qe.Z,t),H=Object.keys(a),[k,De]=t.split("."),ee=H.indexOf(k),Z=Object.keys(a[k]).indexOf(De),tn=ee<H.length-1,nn=Z<Object.keys(a[k]).length-1;$({type:"UPDATE_MODAL",content:I,newSectionIndex:ee,newStepIndex:Z,newHasSectionAfter:tn,newHasStepAfter:nn})}},[t,a]);const p=()=>{r(t,!0),U(h.trackingEvent),o(null)},A=()=>{u(!0),o(null),U("didSkipGuidedtour")};return g&&h?e.createElement(_e,{hideSkip:!j&&!D,onSkip:A,onClose:p},e.createElement(ct,Et(ht({},h),{onCtaClick:p,currentStep:t,sectionIndex:m,stepIndex:L,hasSectionAfter:D}))):null},vt=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(6404),n.e(4982),n.e(948),n.e(9298),n.e(994)]).then(n.bind(n,19415))),Tt=(0,e.lazy)(()=>Promise.all([n.e(4800),n.e(3981)]).then(n.bind(n,5085))),Pt=(0,e.lazy)(()=>n.e(3677).then(n.bind(n,73204))),Ct=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(5516)]).then(n.bind(n,19214))),ye=(0,e.lazy)(()=>Promise.resolve().then(n.bind(n,6437))),Mt=(0,e.lazy)(()=>n.e(9115).then(n.bind(n,69115))),Ot=(0,e.lazy)(()=>n.e(9497).then(n.bind(n,63072))),ve=(0,e.lazy)(()=>Promise.all([n.e(8469),n.e(6404),n.e(4982),n.e(2758),n.e(5895)]).then(n.bind(n,44289))),Rt=()=>{const{trackUsage:t}=(0,i.useTracking)();(0,e.useEffect)(()=>{t("didAccessAuthenticatedAdministration")},[])},St=()=>{Rt();const{isLoading:t,generalSectionLinks:a,pluginsSectionLinks:o}=(0,W.H9)(),{menu:r}=(0,i.useStrapiApp)(),c=(0,e.useMemo)(()=>r.filter(u=>u.Component).map(({to:u,Component:g,exact:y})=>(0,se.ot)(g,u,y)),[r]);return t?e.createElement(i.LoadingIndicatorPage,null):e.createElement(V.DndProvider,{backend:x.PD},e.createElement($e,{sideNav:e.createElement(Ne,{generalSectionLinks:a,pluginsSectionLinks:o})},e.createElement(e.Suspense,{fallback:e.createElement(i.LoadingIndicatorPage,null)},e.createElement(f.Switch,null,e.createElement(f.Route,{path:"/",component:Tt,exact:!0}),e.createElement(f.Route,{path:"/me",component:Ot,exact:!0}),e.createElement(f.Route,{path:"/content-manager",component:vt}),c,e.createElement(f.Route,{path:"/settings/:settingId",component:ve}),e.createElement(f.Route,{path:"/settings",component:ve,exact:!0}),e.createElement(f.Route,{path:"/marketplace"},e.createElement(Ct,null)),e.createElement(f.Route,{path:"/list-plugins",exact:!0},e.createElement(Pt,null)),e.createElement(f.Route,{path:"/404",component:ye}),e.createElement(f.Route,{path:"/500",component:Mt}),e.createElement(f.Route,{path:"",component:ye}))),e.createElement(yt,null),e.createElement(ke,null)))};var At=Object.defineProperty,Te=Object.getOwnPropertySymbols,It=Object.prototype.hasOwnProperty,xt=Object.prototype.propertyIsEnumerable,Pe=(t,a,o)=>a in t?At(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,Lt=(t,a)=>{for(var o in a||(a={}))It.call(a,o)&&Pe(t,o,a[o]);if(Te)for(var o of Te(a))xt.call(a,o)&&Pe(t,o,a[o]);return t};const Dt=t=>({plugins:Object.keys(t).reduce((a,o)=>(a[o]=Lt({},t[o]),a),{})});var Bt=n(3040),bt=n.n(Bt);const Ce={plugins:null},Gt=(t=Ce,a)=>(0,de.default)(t,o=>{switch(a.type){case"SET_PLUGIN_READY":{bt()(o,["plugins",a.pluginId,"isReady"],!0);break}default:return o}}),Ut=()=>{const{plugins:t}=(0,i.useStrapiApp)(),[{plugins:a},o]=(0,e.useReducer)(Gt,Ce,()=>Dt(t)),r=(0,e.useRef)(u=>{o({type:"SET_PLUGIN_READY",pluginId:u})});if(Object.keys(a).some(u=>a[u].isReady===!1)){const u=Object.keys(a).reduce((g,y)=>{const h=a[y].initializer;if(h){const m=a[y].pluginId;g.push(e.createElement(h,{key:m,setPlugin:r.current}))}return g},[]);return e.createElement(e.Fragment,null,u,e.createElement(i.LoadingIndicatorPage,null))}return e.createElement(St,null)};var Me=n(4409),Oe=n(3828);const Ft=()=>({type:Oe.l}),Nt=t=>({type:Oe.m,permissions:t}),Re=({children:t,permissions:a,refetchPermissions:o})=>{const{allPermissions:r}=(0,Me.v9)(u=>u.rbacProvider),c=(0,Me.I0)();return(0,e.useEffect)(()=>(c(Nt(a)),()=>{c(Ft())}),[a,c]),r?e.createElement(i.RBACProviderContext.Provider,{value:{allPermissions:r,refetchPermissions:o}},t):e.createElement(i.LoadingIndicatorPage,null)};Re.propTypes={children:s().element.isRequired,permissions:s().array.isRequired,refetchPermissions:s().func.isRequired};const Wt=Re;var jt=n(43653),$t=n.n(jt),Kt=n(12551),q=n.n(Kt);const Se=(t,a)=>!q().valid(t)||!q().valid(a)?!1:q().lt(t,a);var _=n(81999),z=(t,a,o)=>new Promise((r,c)=>{var u=h=>{try{y(o.next(h))}catch(m){c(m)}},g=h=>{try{y(o.throw(h))}catch(m){c(m)}},y=h=>h.done?r(h.value):Promise.resolve(h.value).then(u,g);y((o=o.apply(t,a)).next())});const Ae=S.i8,Vt=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),zt=t=>z(void 0,null,function*(){try{const{data:{tag_name:a}}=yield $t().get("https://api.github.com/repos/strapi/strapi/releases/latest");return Se(Ae,a)&&Vt&&t({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${a}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)}),a}catch(a){return Ae}}),Ht=()=>z(void 0,null,function*(){try{const{data:t,headers:a}=yield _.be.get("/admin/information");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}}),kt=()=>z(void 0,null,function*(){try{const{data:t,headers:a}=yield _.be.get("/admin/users/me/permissions");if(!a["content-type"].includes("application/json"))throw new Error("Not found");return t.data}catch(t){throw new Error(t)}}),Zt=()=>z(void 0,null,function*(){try{const{data:{data:{roles:t}}}=yield _.be.get("/admin/users/me");return t}catch(t){throw new Error(t)}});var Qt=Object.defineProperty,Yt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,Jt=Object.prototype.hasOwnProperty,wt=Object.prototype.propertyIsEnumerable,xe=(t,a,o)=>a in t?Qt(t,a,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[a]=o,qt=(t,a)=>{for(var o in a||(a={}))Jt.call(a,o)&&xe(t,o,a[o]);if(Ie)for(var o of Ie(a))wt.call(a,o)&&xe(t,o,a[o]);return t},_t=(t,a)=>Yt(t,Xt(a));const Le=S.i8,en=()=>{const{setGuidedTourVisibility:t}=(0,i.useGuidedTour)(),a=(0,i.useNotification)(),o=(0,e.useRef)(t),r=i.auth.getUserInfo(),c=Q()(r,"username")||(0,se.Pp)(r.firstname,r.lastname),[u,g]=(0,e.useState)(c),{showReleaseNotification:y}=(0,W.um)(),[{data:h,status:m},{data:L,isLoading:D},{data:j,status:$,refetch:U,isFetched:p,isFetching:A},{data:I}]=(0,B.useQueries)([{queryKey:"app-infos",queryFn:Ht},{queryKey:"strapi-release",queryFn:()=>zt(a),enabled:y,initialData:Le},{queryKey:"admin-users-permission",queryFn:kt,initialData:[]},{queryKey:"user-roles",queryFn:Zt}]),H=(0,e.useMemo)(()=>Se(Le,L),[L]);return(0,e.useEffect)(()=>{I&&I.find(({code:Z})=>Z==="strapi-super-admin")&&o.current(!0)},[I]),D||(A&&p||m==="loading"||$==="loading")?e.createElement(i.LoadingIndicatorPage,null):m==="error"?e.createElement("div",null,"error..."):e.createElement(i.AppInfosContext.Provider,{value:_t(qt({},h),{latestStrapiReleaseTag:L,setUserDisplayName:g,shouldUpdateStrapi:H,userDisplayName:u})},e.createElement(Wt,{permissions:j,refetchPermissions:U},e.createElement(Ut,null)))}},29470:(K,R,n)=>{n.d(R,{Z:()=>b});var e=n(32735),i=n(60216),B=n.n(i),P=n(10938),Q=n.n(P),S=n(9808),W=n.n(S),f=n(66358),V=Object.defineProperty,x=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,s=(l,d,E)=>d in l?V(l,d,{enumerable:!0,configurable:!0,writable:!0,value:E}):l[d]=E,T=(l,d)=>{for(var E in d||(d={}))C.call(d,E)&&s(l,E,d[E]);if(x)for(var E of x(d))F.call(d,E)&&s(l,E,d[E]);return l},G=(l,d)=>{var E={};for(var M in l)C.call(l,M)&&d.indexOf(M)<0&&(E[M]=l[M]);if(l!=null&&x)for(var M of x(l))d.indexOf(M)<0&&F.call(l,M)&&(E[M]=l[M]);return E};const v=l=>{var d=l,{type:E}=d,M=G(d,["type"]);return e.createElement(S.Box,T({width:(0,P.pxToRem)(2),height:"100%",background:E===f.VM?"neutral300":"primary500",hasRadius:!0},M))};v.defaultProps={type:f.VM},v.propTypes={type:B().oneOf([f.lW,f.hx,f.VM])};const b=v},48634:(K,R,n)=>{n.d(R,{Z:()=>v});var e=n(32735),i=n(60216),B=n.n(i),P=n(10938),Q=n.n(P),S=n(19192),W=n.n(S),f=n(95602),V=n.n(f),x=n(78752),C=n.n(x),F=n(88677),s=n.n(F),T=n(66358);const G=({type:b,number:l})=>b===T.hx?e.createElement(S.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(x.Icon,{as:s(),"aria-hidden":!0,width:(0,P.pxToRem)(16),color:"neutral0"})):b===T.lW?e.createElement(S.Flex,{background:"primary600",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(f.Typography,{fontWeight:"semiBold",textColor:"neutral0"},l)):e.createElement(S.Flex,{borderColor:"neutral500",borderWidth:"1px",borderStyle:"solid",padding:2,borderRadius:"50%",width:(0,P.pxToRem)(30),height:(0,P.pxToRem)(30),justifyContent:"center"},e.createElement(f.Typography,{fontWeight:"semiBold",textColor:"neutral600"},l));G.defaultProps={number:void 0,type:T.VM},G.propTypes={number:B().number,type:B().oneOf([T.lW,T.hx,T.VM])};const v=G},66358:(K,R,n)=>{n.d(R,{lW:()=>e,hx:()=>i,VM:()=>B});const e="isActive",i="isDone",B="isNotDone"},70620:(K,R,n)=>{n.d(R,{Z:()=>i});const i={contentTypeBuilder:{home:{title:{id:"app.components.GuidedTour.home.CTB.title",defaultMessage:"\u{1F9E0} Build the content structure"},cta:{title:{id:"app.components.GuidedTour.home.CTB.cta.title",defaultMessage:"Go to the Content type Builder"},type:"REDIRECT",target:"/plugins/content-type-builder"},trackingEvent:"didClickGuidedTourHomepageContentTypeBuilder"},create:{title:{id:"app.components.GuidedTour.CTB.create.title",defaultMessage:"\u{1F9E0} Create a first Collection type"},content:{id:"app.components.GuidedTour.CTB.create.content",defaultMessage:"<p>Collection types help you manage several entries, Single types are suitable to manage only one entry.</p> <p>Ex: For a Blog website, Articles would be a Collection type whereas a Homepage would be a Single type.</p>"},cta:{title:{id:"app.components.GuidedTour.CTB.create.cta.title",defaultMessage:"Build a Collection type"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep1CollectionType"},success:{title:{id:"app.components.GuidedTour.CTB.success.title",defaultMessage:"Step 1: Completed \u2705"},content:{id:"app.components.GuidedTour.CTB.success.content",defaultMessage:"<p>Good going!</p><b>\u26A1\uFE0F What would you like to share with the world?</b>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didCreateGuidedTourCollectionType"}},contentManager:{home:{title:{id:"app.components.GuidedTour.home.CM.title",defaultMessage:"\u26A1\uFE0F What would you like to share with the world?"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"REDIRECT",target:"/content-manager"},trackingEvent:"didClickGuidedTourHomepageContentManager"},create:{title:{id:"app.components.GuidedTour.CM.create.title",defaultMessage:"\u26A1\uFE0F Create content"},content:{id:"app.components.GuidedTour.CM.create.content",defaultMessage:"<p>Create and manage all the content here in the Content Manager.</p><p>Ex: Taking the Blog website example further, one can write an Article, save and publish it as they like.</p><p>\u{1F4A1} Quick tip - Don't forget to hit publish on the content you create.</p>"},cta:{title:{id:"app.components.GuidedTour.create-content",defaultMessage:"Create content"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep2ContentManager"},success:{title:{id:"app.components.GuidedTour.CM.success.title",defaultMessage:"Step 2: Completed \u2705"},content:{id:"app.components.GuidedTour.CM.success.content",defaultMessage:"<p>Awesome, one last step to go!</p><b>\u{1F680} See content in action</b>"},cta:{title:{id:"app.components.GuidedTour.CM.success.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didCreateGuidedTourEntry"}},apiTokens:{home:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},cta:{title:{id:"app.components.GuidedTour.home.apiTokens.cta.title",defaultMessage:"Test the API"},type:"REDIRECT",target:"/settings/api-tokens"},trackingEvent:"didClickGuidedTourHomepageApiTokens"},create:{title:{id:"app.components.GuidedTour.apiTokens.create.title",defaultMessage:"\u{1F680} See content in action"},content:{id:"app.components.GuidedTour.apiTokens.create.content",defaultMessage:"<p>Generate an authentication token here and retrieve the content you just created.</p>"},cta:{title:{id:"app.components.GuidedTour.apiTokens.create.cta.title",defaultMessage:"Generate an API Token"},type:"CLOSE"},trackingEvent:"didClickGuidedTourStep3ApiTokens"},success:{title:{id:"app.components.GuidedTour.apiTokens.success.title",defaultMessage:"Step 3: Completed \u2705"},content:{id:"app.components.GuidedTour.apiTokens.success.content",defaultMessage:"<p>See content in action by making an HTTP request:</p><ul><li><p>To this URL: <light>https://'<'YOUR_DOMAIN'>'/api/'<'YOUR_CT'>'</light></p></li><li><p>With the header: <light>Authorization: bearer '<'YOUR_API_TOKEN'>'</light></p></li></ul><p>For more ways to interact with content, see the <documentationLink>documentation</documentationLink>.</p>"},trackingEvent:"didGenerateGuidedTourApiTokens"}}}}}]);