@strapi/admin 4.11.0-exp.9xg4-3qfm-9w8f.1 → 4.11.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.
- package/admin/src/components/Providers/index.js +32 -32
- package/admin/src/components/Theme/index.js +5 -3
- package/admin/src/content-manager/components/ComponentIcon/ComponentIcon.js +16 -26
- package/admin/src/content-manager/components/ComponentIcon/constants.js +133 -0
- package/admin/src/content-manager/components/DynamicTable/BulkActionsBar/index.js +307 -0
- package/admin/src/content-manager/components/DynamicTable/index.js +20 -4
- package/admin/src/content-manager/components/DynamicZone/components/AddComponentButton.js +32 -95
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +10 -2
- package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +63 -15
- package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker.js +50 -63
- package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +132 -58
- package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +29 -37
- package/admin/src/content-manager/components/DynamicZone/index.js +131 -83
- package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +12 -4
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +18 -6
- package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/index.js +0 -1
- package/admin/src/content-manager/components/Inputs/index.js +18 -11
- package/admin/src/content-manager/components/Inputs/utils/index.js +0 -1
- package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +7 -1
- package/admin/src/content-manager/pages/EditView/index.js +1 -1
- package/admin/src/content-manager/pages/ListView/index.js +118 -2
- package/admin/src/content-manager/utils/index.js +2 -0
- package/admin/src/content-manager/{components/EditViewDataManagerProvider/utils → utils}/schema.js +1 -1
- package/admin/src/injectionZones.js +6 -1
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableCE.js +13 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +3 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/Events/index.js +331 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/Combobox.js +54 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/index.js +12 -23
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +129 -116
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/utils/makeWebhookValidationSchema.js +62 -0
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +59 -64
- package/admin/src/translations/en.json +11 -1
- package/build/3562.e0b1a0b3.chunk.js +50 -0
- package/build/371.6e4e2c1f.chunk.js +71 -0
- package/build/5297.31c9ffdc.chunk.js +39 -0
- package/build/{5563.79950369.chunk.js → 5563.badbffde.chunk.js} +2 -2
- package/build/{3081.7e9329cb.chunk.js → 6691.f7a3b5ac.chunk.js} +2 -2
- package/build/6970.d456705f.chunk.js +1 -0
- package/build/{7259.5cc67413.chunk.js → 7259.5d0de931.chunk.js} +1 -1
- package/build/8976.0022f5a3.chunk.js +50 -0
- package/build/{1657.3f2b2c11.chunk.js → 9932.5ef475c5.chunk.js} +54 -54
- package/build/Admin-authenticatedApp.ab2b5910.chunk.js +79 -0
- package/build/{Admin_InternalErrorPage.96ceaae1.chunk.js → Admin_InternalErrorPage.f25f04f3.chunk.js} +1 -1
- package/build/{Admin_homePage.94dc81b1.chunk.js → Admin_homePage.05063e43.chunk.js} +16 -16
- package/build/{Admin_marketplace.1b0c3d3b.chunk.js → Admin_marketplace.005d2d5b.chunk.js} +11 -11
- package/build/{Admin_pluginsPage.a28b96d5.chunk.js → Admin_pluginsPage.5d9d4060.chunk.js} +1 -1
- package/build/{Admin_profilePage.a8fa3a56.chunk.js → Admin_profilePage.ab7b94d7.chunk.js} +2 -2
- package/build/{Admin_settingsPage.ee76d19e.chunk.js → Admin_settingsPage.07a6a5f0.chunk.js} +2 -2
- package/build/{Upload_ConfigureTheView.aa64ed9a.chunk.js → Upload_ConfigureTheView.121deffb.chunk.js} +1 -1
- package/build/{admin-app.bd209f08.chunk.js → admin-app.7cc667be.chunk.js} +10 -10
- package/build/{admin-edit-roles-page.0d12b741.chunk.js → admin-edit-roles-page.bfe3304d.chunk.js} +3 -3
- package/build/{admin-edit-users.f9ce7844.chunk.js → admin-edit-users.6efe0382.chunk.js} +2 -2
- package/build/{admin-roles-list.af53b372.chunk.js → admin-roles-list.b2577370.chunk.js} +1 -1
- package/build/{admin-users.0fc77b35.chunk.js → admin-users.4af49ccf.chunk.js} +2 -2
- package/build/{api-tokens-create-page.973d2816.chunk.js → api-tokens-create-page.65411a36.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.29725c5e.chunk.js → api-tokens-edit-page.60312cb6.chunk.js} +1 -1
- package/build/{api-tokens-list-page.66c4fbdd.chunk.js → api-tokens-list-page.01a4d5cd.chunk.js} +2 -2
- package/build/audit-logs-settings-page.b165679b.chunk.js +16 -0
- package/build/content-manager.8cc6c3f9.chunk.js +1094 -0
- package/build/content-type-builder-list-view.58f9ed20.chunk.js +211 -0
- package/build/{content-type-builder-translation-en-json.af293c9e.chunk.js → content-type-builder-translation-en-json.f592325b.chunk.js} +1 -1
- package/build/content-type-builder.baeb0413.chunk.js +132 -0
- package/build/{email-settings-page.63f269ff.chunk.js → email-settings-page.8caad83f.chunk.js} +1 -1
- package/build/en-json.a8f34002.chunk.js +1 -0
- package/build/i18n-settings-page.579d5eab.chunk.js +9 -0
- package/build/i18n-translation-en-json.1ec7becf.chunk.js +1 -0
- package/build/index.html +1 -1
- package/build/main.1d678f7b.js +2926 -0
- package/build/{review-workflows-settings.56cab253.chunk.js → review-workflows-settings.3a7bae25.chunk.js} +2 -2
- package/build/{runtime~main.0dfc909e.js → runtime~main.9dbd4553.js} +2 -2
- package/build/{sso-settings-page.265e3d72.chunk.js → sso-settings-page.4bb073e0.chunk.js} +1 -1
- package/build/{transfer-tokens-create-page.170acee6.chunk.js → transfer-tokens-create-page.9ec277d7.chunk.js} +1 -1
- package/build/{transfer-tokens-edit-page.6cf23295.chunk.js → transfer-tokens-edit-page.fa5ade14.chunk.js} +1 -1
- package/build/{transfer-tokens-list-page.c3fec4c1.chunk.js → transfer-tokens-list-page.5d68d590.chunk.js} +2 -2
- package/build/{upload-settings.1d187578.chunk.js → upload-settings.2c1565d6.chunk.js} +1 -1
- package/build/{upload.bc340679.chunk.js → upload.257b2aef.chunk.js} +1 -1
- package/build/{users-advanced-settings-page.7b4bf63a.chunk.js → users-advanced-settings-page.ddd29040.chunk.js} +1 -1
- package/build/{users-email-settings-page.035a026c.chunk.js → users-email-settings-page.717e2a51.chunk.js} +1 -1
- package/build/{users-providers-settings-page.6873dce9.chunk.js → users-providers-settings-page.c7eae829.chunk.js} +1 -1
- package/build/{users-roles-settings-page.2549794b.chunk.js → users-roles-settings-page.63cf2838.chunk.js} +1 -1
- package/build/webhook-edit-page.8576742e.chunk.js +31 -0
- package/build/{webhook-list-page.0861d3e9.chunk.js → webhook-list-page.abf5747c.chunk.js} +1 -1
- package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/EventTableEE.js +23 -0
- package/ee/admin/pages/SettingsPage/pages/Webhooks/EditView/components/EventTable/index.js +3 -0
- package/package.json +13 -13
- package/admin/src/content-manager/components/DynamicTable/ConfirmDialogDeleteAll/index.js +0 -73
- package/admin/src/content-manager/components/DynamicZone/utils/connect.js +0 -12
- package/admin/src/content-manager/components/DynamicZone/utils/select.js +0 -53
- package/admin/src/content-manager/components/Inputs/utils/getStep.js +0 -13
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/EventRow.js +0 -70
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/EventInput/index.js +0 -174
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/HeadersInput/keys.js +0 -39
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/fieldsRegex.js +0 -4
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/utils/schema.js +0 -35
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/reducer.js +0 -100
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +0 -20
- package/build/462.6f8cbd19.chunk.js +0 -71
- package/build/617.0518c0ba.chunk.js +0 -155
- package/build/6858.85d76858.chunk.js +0 -50
- package/build/6970.6a329e15.chunk.js +0 -1
- package/build/9036.f7ce35cc.chunk.js +0 -211
- package/build/Admin-authenticatedApp.e7ca2959.chunk.js +0 -79
- package/build/audit-logs-settings-page.6bc76e7d.chunk.js +0 -121
- package/build/content-manager.8bfce7f0.chunk.js +0 -1123
- package/build/content-type-builder-list-view.26aab6f3.chunk.js +0 -215
- package/build/content-type-builder.b10576e7.chunk.js +0 -126
- package/build/en-json.ba3290b8.chunk.js +0 -1
- package/build/i18n-settings-page.2ac4ca58.chunk.js +0 -114
- package/build/i18n-translation-en-json.60af6722.chunk.js +0 -1
- package/build/main.aca47de6.js +0 -2633
- package/build/webhook-edit-page.0bc97587.chunk.js +0 -128
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{78834:function(D,m,e){"use strict";e.d(m,{Z:function(){return nt}});var t=e(24346),i=e(
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{78834:function(D,m,e){"use strict";e.d(m,{Z:function(){return nt}});var t=e(24346),i=e(69262),n=e(32735),E=e(67879),C=e(60216),u=e.n(C),P=e(27649),T=e(72850),R=e(49372),I=e(87933),O=e(10369),f=e(41415),L=e(92802),v=e(954),b=e(10190);const y=({onSubmit:N,schema:Ae})=>{const{formatMessage:ne}=(0,E.Z)();return n.createElement(v.ZP,null,n.createElement(P.o,null,n.createElement(v.bU,null,n.createElement(L.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:N,validationSchema:Ae,validateOnChange:!1},({values:X,errors:fe,handleChange:He})=>n.createElement(i.l0,{noValidate:!0},n.createElement(v.sg,null,n.createElement(b.Z,null),n.createElement(T.x,{paddingTop:6,paddingBottom:7},n.createElement(R.Z,{as:"h1",variant:"alpha"},ne({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),fe.errorMessage&&n.createElement(R.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ne({id:fe.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(I.k,{direction:"column",alignItems:"stretch",gap:6},n.createElement(O.o,{error:fe.email?ne({id:fe.email,defaultMessage:"This email is invalid."}):"",value:X.email,onChange:He,label:ne({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:ne({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),n.createElement(f.z,{type:"submit",fullWidth:!0},ne({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),n.createElement(I.k,{justifyContent:"center"},n.createElement(T.x,{paddingTop:4},n.createElement(i.rU,{to:"/auth/login"},ne({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};y.defaultProps={onSubmit:N=>N.preventDefault()},y.propTypes={onSubmit:u().func,schema:u().shape({type:u().string.isRequired}).isRequired};var k=y,U=()=>{const{formatMessage:N}=(0,E.Z)();return n.createElement(v.ZP,null,n.createElement(P.o,null,n.createElement(v.bU,null,n.createElement(v.sg,null,n.createElement(b.Z,null),n.createElement(T.x,{paddingTop:6,paddingBottom:7},n.createElement(R.Z,{as:"h1",variant:"alpha"},N({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),n.createElement(R.Z,null,N({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),n.createElement(T.x,{paddingTop:4},n.createElement(R.Z,null,N({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),n.createElement(I.k,{justifyContent:"center"},n.createElement(T.x,{paddingTop:4},n.createElement(i.rU,{to:"/auth/login"},N({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},se=()=>{const{formatMessage:N}=(0,E.Z)(),ne=(0,i.aM)().get("info")||N({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return n.createElement(v.ZP,null,n.createElement(P.o,null,n.createElement(v.bU,null,n.createElement(v.sg,null,n.createElement(b.Z,null),n.createElement(T.x,{paddingTop:6,paddingBottom:7},n.createElement(R.Z,{as:"h1",variant:"alpha"},N({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),n.createElement(R.Z,null,ne),n.createElement(T.x,{paddingTop:4},n.createElement(R.Z,null,N({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),n.createElement(I.k,{justifyContent:"center"},n.createElement(T.x,{paddingTop:4},n.createElement(i.rU,{to:"/auth/login"},N({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},M=e(8471),h=e(9086),Q=e.n(h),F=e(53038),oe=e(15335),o=e(5803),Re=e(8284),$=e(54894),pe=e(60492),Ie=e(72218);const Ge=M.ZP.a`
|
|
2
2
|
color: ${({theme:N})=>N.colors.primary600};
|
|
3
3
|
`,lt=(0,M.ZP)(O.o)`
|
|
4
4
|
::-ms-reveal {
|
|
5
5
|
display: none;
|
|
6
6
|
}
|
|
7
|
-
`,Ve=({authType:N,fieldsToDisable:Ae,noSignin:ne,onSubmit:X,schema:fe})=>{const He=(0,i.lm)(),{push:ie}=(0,
|
|
7
|
+
`,Ve=({authType:N,fieldsToDisable:Ae,noSignin:ne,onSubmit:X,schema:fe})=>{const He=(0,i.lm)(),{push:ie}=(0,F.k6)(),[Ue,me]=(0,n.useState)(!1),[je,Ce]=(0,n.useState)(!1),[Oe,ut]=(0,n.useState)(0),[Qe,Je]=(0,n.useState)({}),{trackUsage:pt}=(0,i.rS)(),{formatMessage:H}=(0,E.Z)(),dt=(0,i.aM)(),{formatAPIError:ct}=(0,i.So)(),{get:ft}=(0,i.kY)(),Ze=dt.get("registrationToken");(0,n.useEffect)(()=>{Ze&&(async()=>{try{const{data:{data:z}}=await ft(`/admin/registration-info?registrationToken=${Ze}`);z&&Je(z)}catch(z){const _=ct(z);He({type:"warning",message:_}),ie(`/auth/oops?info=${encodeURIComponent(_)}`)}})()},[Ze]);function Xe(re){return Object.entries(re).reduce((z,[_,ve])=>{let Pe=ve;return!["password","confirmPassword"].includes(_)&&typeof ve=="string"&&(Pe=Pe.trim()),z[_]=Pe,z},{})}return n.createElement(v.ZP,null,n.createElement(v.bU,null,n.createElement(L.J9,{enableReinitialize:!0,initialValues:{firstname:Qe.firstname||"",lastname:Qe.lastname||"",email:Qe.email||"",password:"",confirmPassword:"",registrationToken:Ze||void 0,news:!1},onSubmit:async(re,z)=>{const _=Xe(re);try{await fe.validate(_,{abortEarly:!1}),Oe>0&&N==="register-admin"&&pt("didSubmitWithErrorsFirstAdmin",{count:Oe.toString()}),X(Ze?{userInfo:Q()(_,["registrationToken"]),registrationToken:Ze}:_,z)}catch(ve){const Pe=(0,i.CJ)(ve);ut(Oe+1),z.setErrors(Pe)}},validateOnChange:!1},({values:re,errors:z,handleChange:_})=>n.createElement(i.l0,{noValidate:!0},n.createElement(P.o,null,n.createElement(I.k,{direction:"column",alignItems:"center",gap:3},n.createElement(b.Z,null),n.createElement(R.Z,{as:"h1",variant:"alpha",textAlign:"center"},H({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),n.createElement(R.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},H({id:"Auth.form.register.subtitle",defaultMessage:"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."}))),n.createElement(I.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},n.createElement(oe.r,{gap:4},n.createElement(o.P,{col:6},n.createElement(O.o,{name:"firstname",required:!0,value:re.firstname,error:z.firstname?H(z.firstname):void 0,onChange:_,label:H({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),n.createElement(o.P,{col:6},n.createElement(O.o,{name:"lastname",value:re.lastname,onChange:_,label:H({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),n.createElement(O.o,{name:"email",disabled:Ae.includes("email"),value:re.email,onChange:_,error:z.email?H(z.email):void 0,required:!0,label:H({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),n.createElement(lt,{name:"password",onChange:_,value:re.password,error:z.password?H(z.password):void 0,endAction:n.createElement(Ie.Z,{onClick:ve=>{ve.preventDefault(),me(Pe=>!Pe)},label:H(Ue?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Ue?n.createElement($.Z,null):n.createElement(pe.Z,null)),hint:H({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:H({id:"global.password",defaultMessage:"Password"}),type:Ue?"text":"password"}),n.createElement(lt,{name:"confirmPassword",onChange:_,value:re.confirmPassword,error:z.confirmPassword?H(z.confirmPassword):void 0,endAction:n.createElement(Ie.Z,{onClick:ve=>{ve.preventDefault(),Ce(Pe=>!Pe)},label:H(je?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},je?n.createElement($.Z,null):n.createElement(pe.Z,null)),required:!0,label:H({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:je?"text":"password"}),n.createElement(Re.X,{onValueChange:ve=>{_({target:{value:ve,name:"news"}})},value:re.news,name:"news","aria-label":"news"},H({id:"Auth.form.register.news.label",defaultMessage:"Keep me updated about new features & upcoming improvements (by doing this you accept the {terms} and the {policy})."},{terms:n.createElement(Ge,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},H({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:n.createElement(Ge,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},H({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),n.createElement(f.z,{fullWidth:!0,size:"L",type:"submit"},H({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!ne&&n.createElement(T.x,{paddingTop:4},n.createElement(I.k,{justifyContent:"center"},n.createElement(i.rU,{label:"Auth.link.signin",to:"/auth/login"},H({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Ve.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:N=>N.preventDefault()},Ve.propTypes={authType:u().string.isRequired,fieldsToDisable:u().array,noSignin:u().bool,onSubmit:u().func,schema:u().shape({validate:u().func.isRequired,type:u().string.isRequired}).isRequired};var et=Ve;const ke=(0,M.ZP)(O.o)`
|
|
8
8
|
::-ms-reveal {
|
|
9
9
|
display: none;
|
|
10
10
|
}
|
|
11
|
-
`,tt=({onSubmit:N,schema:Ae})=>{const[ne,X]=(0,n.useState)(!1),[fe,He]=(0,n.useState)(!1),{formatMessage:ie}=(0,E.Z)();return n.createElement(v.ZP,null,n.createElement(P.o,null,n.createElement(v.bU,null,n.createElement(L.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:N,validationSchema:Ae,validateOnChange:!1},({values:Ue,errors:me,handleChange:je})=>n.createElement(i.l0,{noValidate:!0},n.createElement(v.sg,null,n.createElement(b.Z,null),n.createElement(T.x,{paddingTop:6,paddingBottom:7},n.createElement(R.Z,{as:"h1",variant:"alpha"},ie({id:"global.reset-password",defaultMessage:"Reset password"}))),me.errorMessage&&n.createElement(R.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ie({id:me.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(I.k,{direction:"column",alignItems:"stretch",gap:6},n.createElement(ke,{name:"password",onChange:je,value:Ue.password,error:me.password?ie({id:me.password,defaultMessage:"This field is required."}):void 0,endAction:n.createElement(Ie.Z,{onClick:Ce=>{Ce.preventDefault(),X(Oe=>!Oe)},label:ie(ne?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},ne?n.createElement($.Z,null):n.createElement(pe.Z,null)),hint:ie({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:ie({id:"global.password",defaultMessage:"Password"}),type:ne?"text":"password"}),n.createElement(ke,{name:"confirmPassword",onChange:je,value:Ue.confirmPassword,error:me.confirmPassword?ie({id:me.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:n.createElement(Ie.Z,{onClick:Ce=>{Ce.preventDefault(),He(Oe=>!Oe)},label:ie(ne?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},fe?n.createElement($.Z,null):n.createElement(pe.Z,null)),required:!0,label:ie({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:fe?"text":"password"}),n.createElement(f.z,{fullwidth:!0,type:"submit"},ie({id:"global.change-password",defaultMessage:"Change password"})))))),n.createElement(I.k,{justifyContent:"center"},n.createElement(T.x,{paddingTop:4},n.createElement(i.rU,{to:"/auth/login"},ie({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};tt.defaultProps={onSubmit:N=>N.preventDefault()},tt.propTypes={onSubmit:u().func,schema:u().shape({type:u().string.isRequired}).isRequired};var Ye=tt;const Fe=(()=>window&&window.strapi&&window.strapi.isEE?e(98768).Z:e(5365).Z)();var nt={"forgot-password":{Component:k,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:t.Ry().shape({email:t.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:U,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:Fe,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:t.Ry().shape({email:t.Z_().email(i.I0.email).required(i.I0.required),password:t.Z_().required(i.I0.required),rememberMe:t.Xg().nullable()}),inputsPrefix:""},oops:{Component:se,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:et,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:t.Ry().shape({firstname:t.Z_().trim().required(i.I0.required),lastname:t.Z_(),password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:t.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:et,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:t.Ry().shape({firstname:t.Z_().trim().required(i.I0.required),lastname:t.Z_(),password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),email:t.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:Ye,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:t.Ry().shape({password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}}},83983:function(D,m,e){"use strict";e.d(m,{Z:function(){return P}});var t=e(86349),i=e.n(t),E={contentManager:{main:[],collectionTypesConfigurations:[{action:"plugin::content-manager.collection-types.configure-view",subject:null}],componentsConfigurations:[{action:"plugin::content-manager.components.configure-layout",subject:null}],singleTypesConfigurations:[{action:"plugin::content-manager.single-types.configure-view",subject:null}]},marketplace:{main:[{action:"admin::marketplace.read",subject:null}],read:[{action:"admin::marketplace.read",subject:null}]},settings:{roles:{main:[{action:"admin::roles.create",subject:null},{action:"admin::roles.update",subject:null},{action:"admin::roles.read",subject:null},{action:"admin::roles.delete",subject:null}],create:[{action:"admin::roles.create",subject:null}],delete:[{action:"admin::roles.delete",subject:null}],read:[{action:"admin::roles.read",subject:null}],update:[{action:"admin::roles.update",subject:null}]},users:{main:[{action:"admin::users.create",subject:null},{action:"admin::users.read",subject:null},{action:"admin::users.update",subject:null},{action:"admin::users.delete",subject:null}],create:[{action:"admin::users.create",subject:null}],delete:[{action:"admin::users.delete",subject:null}],read:[{action:"admin::users.read",subject:null}],update:[{action:"admin::users.update",subject:null}]},webhooks:{main:[{action:"admin::webhooks.create",subject:null},{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],create:[{action:"admin::webhooks.create",subject:null}],delete:[{action:"admin::webhooks.delete",subject:null}],read:[{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],update:[{action:"admin::webhooks.update",subject:null}]},"api-tokens":{main:[{action:"admin::api-tokens.access",subject:null}],create:[{action:"admin::api-tokens.create",subject:null}],delete:[{action:"admin::api-tokens.delete",subject:null}],read:[{action:"admin::api-tokens.read",subject:null}],update:[{action:"admin::api-tokens.update",subject:null}],regenerate:[{action:"admin::api-tokens.regenerate",subject:null}]},"transfer-tokens":{main:[{action:"admin::transfer.tokens.access",subject:null}],create:[{action:"admin::transfer.tokens.create",subject:null}],delete:[{action:"admin::transfer.tokens.delete",subject:null}],read:[{action:"admin::transfer.tokens.read",subject:null}],update:[{action:"admin::transfer.tokens.update",subject:null}],regenerate:[{action:"admin::transfer.tokens.regenerate",subject:null}]},"project-settings":{read:[{action:"admin::project-settings.read",subject:null}],update:[{action:"admin::project-settings.update",subject:null}]}}};const C=(()=>window&&window.strapi&&window.strapi.isEE?e(99568).Z:e(26123).Z)();var P=i()(E,C)},39691:function(D,m,e){"use strict";e.r(m),e.d(m,{default:function(){return us}});var t=e(32735),i=e(14911),n=e(12301),E=e(65810),C=e(86349),u=e.n(C),P=e(88423),T=e.n(P),R=e(93839),I=e.n(R),O=e(56784),f=e.n(O),L=e(74758),v=e(78246),y=()=>{const c=[];return{register(s){c.push(s)},delete(s){c.splice(c.indexOf(s),1)},runWaterfall(s,a){return c.reduce((l,g)=>g(l,a),s)},async runWaterfallAsync(s,a){let l=s;for(const g of c)l=await g(l,a);return l},runSeries(...s){return c.map(a=>a(...s))},async runSeriesAsync(...s){const a=[];for(const l of c)a.push(await l(...s));return a},runParallel(...s){return Promise.all(c.map(a=>a(...s)))}}},k=e(6680);const Z=(c,s)=>{let a=k.compose;const l=[];c.forEach(A=>{l.push(A())});const g=(0,k.createStore)(U(s,{}),{},a((0,k.applyMiddleware)(...l)));return g.asyncReducers={},g.injectReducer=(A,S)=>{g.asyncReducers[A]=S,g.replaceReducer(U(s,g.asyncReducers))},g},U=(c,s)=>(0,k.combineReducers)({...c,...s});var te=Z,se=e(20284),M=e(53038),h=e(24989),Q=e(10728),z=e(67879),oe=e(60216),o=e.n(oe);const Re=({component:c,path:s,...a})=>{const{pathname:l,search:g}=(0,M.TH)();return t.createElement(M.AW,{path:s,render:A=>h.I8.getToken()!==null?t.createElement(c,{...a,...A}):t.createElement(M.l_,{to:{pathname:"/auth/login",search:l!=="/"&&`?redirectTo=${encodeURIComponent(`${l}${g}`)}`}})})};Re.propTypes={component:o().any.isRequired,path:o().string.isRequired};var $=(0,t.memo)(Re),pe=e(8997),Ie=e(20011),Ge=e(84306),lt=e(39935),Ve=e.n(lt),et=e(33795),ke=e.n(et),tt=e(9086),Ye=e.n(tt);const Fe="GUIDED_TOUR_CURRENT_STEP",st="GUIDED_TOUR_COMPLETED_STEPS",nt="GUIDED_TOUR_SKIPPED",N=JSON.parse,Ae=JSON.stringify;var X={clear(){localStorage.removeItem(Fe),localStorage.removeItem(st)},addCompletedStep(c){const s=N(localStorage.getItem(st))?.slice()||[];s.includes(c)||(s.push(c),localStorage.setItem(st,Ae(s)))},addCurrentStep(c){localStorage.setItem(Fe,Ae(c))},setSkipped(c){localStorage.setItem(nt,Ae(c))},get(c){return N(localStorage.getItem(c))}},fe=e(20139),He=e(41832),Ue=c=>c,me=e(97889),je=e(3040),Ce=e.n(je);const Oe={formErrors:{},modifiedData:{},requestError:null},ut=(c,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"ON_CHANGE":{Ce()(a.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Oe;case"SET_DATA":{a.modifiedData=s.data;break}case"SET_ERRORS":{a.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{a.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return a}}),Qe=(()=>window&&window.strapi&&window.strapi.isEE?e(7277).Z:e(78834).Z)(),Je=c=>{let{hasAdmin:s,setHasAdmin:a}=c;const{push:l,location:{search:g}}=(0,M.k6)(),{changeLocale:A}=(0,fe.Z)(),{setSkipped:S}=(0,h.c1)(),{trackUsage:j}=(0,h.rS)(),{params:{authType:W}}=(0,M.$B)("/auth/:authType"),q=(0,h.aM)(),{Component:le,endPoint:K,fieldsToDisable:ue,fieldsToOmit:he,inputsPrefix:de,schema:ye,...Ee}=ke()(Qe,W,{}),[{formErrors:we,modifiedData:Se,requestError:gt},it]=(0,t.useReducer)(ut,Oe,Ue),$e=Ge.default.CancelToken.source();(0,t.useEffect)(()=>()=>{$e.cancel("Component unmounted")},[]);const{post:qe}=(0,h.kY)();(0,t.useEffect)(()=>{it({type:"RESET_PROPS"})},[W]);const ds=ee=>{let{target:{name:Te,value:ge}}=ee;it({type:"ON_CHANGE",keys:Te,value:ge})},cs=async(ee,Te)=>{let{setSubmitting:ge,setErrors:De}=Te;ge(!0);const Be=Ye()(ee,he),Y=`/admin/${K}`;W==="login"&&await gs(ee,Y,{setSubmitting:ge,setErrors:De}),(W==="register"||W==="register-admin")&&await ps(ee,Y,{setSubmitting:ge,setErrors:De}),W==="forgot-password"&&await ms(Be,Y,{setSubmitting:ge,setErrors:De}),W==="reset-password"&&await fs(Be,Y,{setSubmitting:ge,setErrors:De})},ms=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{await qe(Te,ee,{cancelToken:$e.token}),l("/auth/forgot-password-success")}catch(Y){console.error(Y),Be({errorMessage:"notification.error"})}finally{De(!1)}},gs=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{const{data:{data:{token:Y,user:ce}}}=await qe(Te,Ye()(ee,he),{cancelToken:$e.token});ce.preferedLanguage&&A(ce.preferedLanguage),h.I8.setToken(Y,ee.rememberMe),h.I8.setUserInfo(ce,ee.rememberMe),Vt()}catch(Y){if(Y.response){const ce=ke()(Y,["response","data","error","message"],"Something went wrong");if(Ve()(ce).toLowerCase()==="usernotactive"){l("/auth/oops"),it({type:"RESET_PROPS"});return}Be({errorMessage:ce})}}finally{De(!1)}},ps=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{j("willCreateFirstAdmin");const{data:{data:{token:Y,user:ce}}}=await qe(Te,Ye()(ee,he),{cancelToken:$e.token});h.I8.setToken(Y,!1),h.I8.setUserInfo(ce,!1),De(!1),a(!0);const{roles:rt}=ce;if(rt&&rt.find(hs=>{let{code:Es}=hs;return Es==="strapi-super-admin"})&&(X.setSkipped(!1),S(!1),j("didLaunchGuidedtour")),W==="register"&&ee.userInfo.news===!0||W==="register-admin"&&ee.news===!0){l({pathname:"/usecase",search:`?hasAdmin=${s}`});return}Vt()}catch(Y){if(j("didNotCreateFirstAdmin"),Y.response){const{data:ce}=Y.response,rt=(0,He.Z)(ce);Be({apiErrors:rt})}}},fs=async(ee,Te,ge)=>{let{setErrors:De,setSubmitting:Be}=ge;try{const{data:{data:{token:Y,user:ce}}}=await qe(Te,{...ee,resetPasswordToken:q.get("code")},{cancelToken:$e.token});h.I8.setToken(Y,!1),h.I8.setUserInfo(ce,!1),l("/")}catch(Y){if(Y.response){const ce=ke()(Y,["response","data","message"],"Something went wrong"),rt=ke()(Y,["response","data","statusCode"],400);it({type:"SET_REQUEST_ERROR",errorMessage:ce,errorStatus:rt}),De({errorMessage:ce})}}finally{Be(!1)}},Vt=()=>{if(W==="login"){const ee=q.get("redirectTo"),Te=ee?decodeURIComponent(ee):"/";l(Te)}else l("/")};return!Qe[W]||s&&W==="register-admin"||h.I8.getToken()?t.createElement(M.l_,{to:"/"}):!s&&W!=="register-admin"?t.createElement(M.l_,{to:{pathname:"/auth/register-admin",search:g}}):t.createElement(le,(0,Ie.Z)({},Ee,{authType:W,fieldsToDisable:ue,formErrors:we,inputsPrefix:de,modifiedData:Se,onChange:ds,onSubmit:cs,requestError:gt,schema:ye}))};Je.defaultProps={hasAdmin:!1},Je.propTypes={hasAdmin:o().bool,setHasAdmin:o().func.isRequired};var pt=Je,F=e(53951),dt=e(8471),ct=e(33348),ft=e(49372),Ze=e(27649),Xe=e(87933),re=e(72850),H=e(68465),_=e(84967),ve=e(10369),Pe=e(41415),ht=e(7563),Rt=e(10190),_e=e(954);const At=[{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"}],Ct=(0,dt.ZP)(ft.Z)`
|
|
11
|
+
`,tt=({onSubmit:N,schema:Ae})=>{const[ne,X]=(0,n.useState)(!1),[fe,He]=(0,n.useState)(!1),{formatMessage:ie}=(0,E.Z)();return n.createElement(v.ZP,null,n.createElement(P.o,null,n.createElement(v.bU,null,n.createElement(L.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:N,validationSchema:Ae,validateOnChange:!1},({values:Ue,errors:me,handleChange:je})=>n.createElement(i.l0,{noValidate:!0},n.createElement(v.sg,null,n.createElement(b.Z,null),n.createElement(T.x,{paddingTop:6,paddingBottom:7},n.createElement(R.Z,{as:"h1",variant:"alpha"},ie({id:"global.reset-password",defaultMessage:"Reset password"}))),me.errorMessage&&n.createElement(R.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ie({id:me.errorMessage,defaultMessage:"An error occurred"}))),n.createElement(I.k,{direction:"column",alignItems:"stretch",gap:6},n.createElement(ke,{name:"password",onChange:je,value:Ue.password,error:me.password?ie({id:me.password,defaultMessage:"This field is required."}):void 0,endAction:n.createElement(Ie.Z,{onClick:Ce=>{Ce.preventDefault(),X(Oe=>!Oe)},label:ie(ne?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},ne?n.createElement($.Z,null):n.createElement(pe.Z,null)),hint:ie({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:ie({id:"global.password",defaultMessage:"Password"}),type:ne?"text":"password"}),n.createElement(ke,{name:"confirmPassword",onChange:je,value:Ue.confirmPassword,error:me.confirmPassword?ie({id:me.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:n.createElement(Ie.Z,{onClick:Ce=>{Ce.preventDefault(),He(Oe=>!Oe)},label:ie(ne?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},fe?n.createElement($.Z,null):n.createElement(pe.Z,null)),required:!0,label:ie({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:fe?"text":"password"}),n.createElement(f.z,{fullwidth:!0,type:"submit"},ie({id:"global.change-password",defaultMessage:"Change password"})))))),n.createElement(I.k,{justifyContent:"center"},n.createElement(T.x,{paddingTop:4},n.createElement(i.rU,{to:"/auth/login"},ie({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};tt.defaultProps={onSubmit:N=>N.preventDefault()},tt.propTypes={onSubmit:u().func,schema:u().shape({type:u().string.isRequired}).isRequired};var Ye=tt;const Fe=(()=>window&&window.strapi&&window.strapi.isEE?e(98768).Z:e(5365).Z)();var nt={"forgot-password":{Component:k,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:t.Ry().shape({email:t.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:U,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:Fe,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:t.Ry().shape({email:t.Z_().email(i.I0.email).required(i.I0.required),password:t.Z_().required(i.I0.required),rememberMe:t.Xg().nullable()}),inputsPrefix:""},oops:{Component:se,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:et,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:t.Ry().shape({firstname:t.Z_().trim().required(i.I0.required),lastname:t.Z_(),password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:t.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:et,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:t.Ry().shape({firstname:t.Z_().trim().required(i.I0.required),lastname:t.Z_(),password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),email:t.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:Ye,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:t.Ry().shape({password:t.Z_().min(8,i.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number").required(i.I0.required),confirmPassword:t.Z_().oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}}},83983:function(D,m,e){"use strict";e.d(m,{Z:function(){return P}});var t=e(86349),i=e.n(t),E={contentManager:{main:[],collectionTypesConfigurations:[{action:"plugin::content-manager.collection-types.configure-view",subject:null}],componentsConfigurations:[{action:"plugin::content-manager.components.configure-layout",subject:null}],singleTypesConfigurations:[{action:"plugin::content-manager.single-types.configure-view",subject:null}]},marketplace:{main:[{action:"admin::marketplace.read",subject:null}],read:[{action:"admin::marketplace.read",subject:null}]},settings:{roles:{main:[{action:"admin::roles.create",subject:null},{action:"admin::roles.update",subject:null},{action:"admin::roles.read",subject:null},{action:"admin::roles.delete",subject:null}],create:[{action:"admin::roles.create",subject:null}],delete:[{action:"admin::roles.delete",subject:null}],read:[{action:"admin::roles.read",subject:null}],update:[{action:"admin::roles.update",subject:null}]},users:{main:[{action:"admin::users.create",subject:null},{action:"admin::users.read",subject:null},{action:"admin::users.update",subject:null},{action:"admin::users.delete",subject:null}],create:[{action:"admin::users.create",subject:null}],delete:[{action:"admin::users.delete",subject:null}],read:[{action:"admin::users.read",subject:null}],update:[{action:"admin::users.update",subject:null}]},webhooks:{main:[{action:"admin::webhooks.create",subject:null},{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],create:[{action:"admin::webhooks.create",subject:null}],delete:[{action:"admin::webhooks.delete",subject:null}],read:[{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],update:[{action:"admin::webhooks.update",subject:null}]},"api-tokens":{main:[{action:"admin::api-tokens.access",subject:null}],create:[{action:"admin::api-tokens.create",subject:null}],delete:[{action:"admin::api-tokens.delete",subject:null}],read:[{action:"admin::api-tokens.read",subject:null}],update:[{action:"admin::api-tokens.update",subject:null}],regenerate:[{action:"admin::api-tokens.regenerate",subject:null}]},"transfer-tokens":{main:[{action:"admin::transfer.tokens.access",subject:null}],create:[{action:"admin::transfer.tokens.create",subject:null}],delete:[{action:"admin::transfer.tokens.delete",subject:null}],read:[{action:"admin::transfer.tokens.read",subject:null}],update:[{action:"admin::transfer.tokens.update",subject:null}],regenerate:[{action:"admin::transfer.tokens.regenerate",subject:null}]},"project-settings":{read:[{action:"admin::project-settings.read",subject:null}],update:[{action:"admin::project-settings.update",subject:null}]}}};const C=(()=>window&&window.strapi&&window.strapi.isEE?e(99568).Z:e(26123).Z)();var P=i()(E,C)},39691:function(D,m,e){"use strict";e.r(m),e.d(m,{default:function(){return us}});var t=e(32735),i=e(14911),n=e(12301),E=e(65810),C=e(86349),u=e.n(C),P=e(88423),T=e.n(P),R=e(93839),I=e.n(R),O=e(56784),f=e.n(O),L=e(74758),v=e(78246),y=()=>{const c=[];return{register(s){c.push(s)},delete(s){c.splice(c.indexOf(s),1)},runWaterfall(s,a){return c.reduce((l,g)=>g(l,a),s)},async runWaterfallAsync(s,a){let l=s;for(const g of c)l=await g(l,a);return l},runSeries(...s){return c.map(a=>a(...s))},async runSeriesAsync(...s){const a=[];for(const l of c)a.push(await l(...s));return a},runParallel(...s){return Promise.all(c.map(a=>a(...s)))}}},k=e(6680);const Z=(c,s)=>{let a=k.compose;const l=[];c.forEach(A=>{l.push(A())});const g=(0,k.createStore)(U(s,{}),{},a((0,k.applyMiddleware)(...l)));return g.asyncReducers={},g.injectReducer=(A,S)=>{g.asyncReducers[A]=S,g.replaceReducer(U(s,g.asyncReducers))},g},U=(c,s)=>(0,k.combineReducers)({...c,...s});var te=Z,se=e(20284),M=e(53038),h=e(69262),Q=e(10728),F=e(67879),oe=e(60216),o=e.n(oe);const Re=({component:c,path:s,...a})=>{const{pathname:l,search:g}=(0,M.TH)();return t.createElement(M.AW,{path:s,render:A=>h.I8.getToken()!==null?t.createElement(c,{...a,...A}):t.createElement(M.l_,{to:{pathname:"/auth/login",search:l!=="/"&&`?redirectTo=${encodeURIComponent(`${l}${g}`)}`}})})};Re.propTypes={component:o().any.isRequired,path:o().string.isRequired};var $=(0,t.memo)(Re),pe=e(8997),Ie=e(20011),Ge=e(84306),lt=e(39935),Ve=e.n(lt),et=e(33795),ke=e.n(et),tt=e(9086),Ye=e.n(tt);const Fe="GUIDED_TOUR_CURRENT_STEP",st="GUIDED_TOUR_COMPLETED_STEPS",nt="GUIDED_TOUR_SKIPPED",N=JSON.parse,Ae=JSON.stringify;var X={clear(){localStorage.removeItem(Fe),localStorage.removeItem(st)},addCompletedStep(c){const s=N(localStorage.getItem(st))?.slice()||[];s.includes(c)||(s.push(c),localStorage.setItem(st,Ae(s)))},addCurrentStep(c){localStorage.setItem(Fe,Ae(c))},setSkipped(c){localStorage.setItem(nt,Ae(c))},get(c){return N(localStorage.getItem(c))}},fe=e(20139),He=e(41832),Ue=c=>c,me=e(97889),je=e(3040),Ce=e.n(je);const Oe={formErrors:{},modifiedData:{},requestError:null},ut=(c,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"ON_CHANGE":{Ce()(a.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Oe;case"SET_DATA":{a.modifiedData=s.data;break}case"SET_ERRORS":{a.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{a.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return a}}),Qe=(()=>window&&window.strapi&&window.strapi.isEE?e(7277).Z:e(78834).Z)(),Je=c=>{let{hasAdmin:s,setHasAdmin:a}=c;const{push:l,location:{search:g}}=(0,M.k6)(),{changeLocale:A}=(0,fe.Z)(),{setSkipped:S}=(0,h.c1)(),{trackUsage:j}=(0,h.rS)(),{params:{authType:W}}=(0,M.$B)("/auth/:authType"),q=(0,h.aM)(),{Component:le,endPoint:K,fieldsToDisable:ue,fieldsToOmit:he,inputsPrefix:de,schema:ye,...Ee}=ke()(Qe,W,{}),[{formErrors:we,modifiedData:Se,requestError:gt},it]=(0,t.useReducer)(ut,Oe,Ue),$e=Ge.default.CancelToken.source();(0,t.useEffect)(()=>()=>{$e.cancel("Component unmounted")},[]);const{post:qe}=(0,h.kY)();(0,t.useEffect)(()=>{it({type:"RESET_PROPS"})},[W]);const ds=ee=>{let{target:{name:Te,value:ge}}=ee;it({type:"ON_CHANGE",keys:Te,value:ge})},cs=async(ee,Te)=>{let{setSubmitting:ge,setErrors:De}=Te;ge(!0);const Be=Ye()(ee,he),Y=`/admin/${K}`;W==="login"&&await gs(ee,Y,{setSubmitting:ge,setErrors:De}),(W==="register"||W==="register-admin")&&await ps(ee,Y,{setSubmitting:ge,setErrors:De}),W==="forgot-password"&&await ms(Be,Y,{setSubmitting:ge,setErrors:De}),W==="reset-password"&&await fs(Be,Y,{setSubmitting:ge,setErrors:De})},ms=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{await qe(Te,ee,{cancelToken:$e.token}),l("/auth/forgot-password-success")}catch(Y){console.error(Y),Be({errorMessage:"notification.error"})}finally{De(!1)}},gs=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{const{data:{data:{token:Y,user:ce}}}=await qe(Te,Ye()(ee,he),{cancelToken:$e.token});ce.preferedLanguage&&A(ce.preferedLanguage),h.I8.setToken(Y,ee.rememberMe),h.I8.setUserInfo(ce,ee.rememberMe),Vt()}catch(Y){if(Y.response){const ce=ke()(Y,["response","data","error","message"],"Something went wrong");if(Ve()(ce).toLowerCase()==="usernotactive"){l("/auth/oops"),it({type:"RESET_PROPS"});return}Be({errorMessage:ce})}}finally{De(!1)}},ps=async(ee,Te,ge)=>{let{setSubmitting:De,setErrors:Be}=ge;try{j("willCreateFirstAdmin");const{data:{data:{token:Y,user:ce}}}=await qe(Te,Ye()(ee,he),{cancelToken:$e.token});h.I8.setToken(Y,!1),h.I8.setUserInfo(ce,!1),De(!1),a(!0);const{roles:rt}=ce;if(rt&&rt.find(hs=>{let{code:Es}=hs;return Es==="strapi-super-admin"})&&(X.setSkipped(!1),S(!1),j("didLaunchGuidedtour")),W==="register"&&ee.userInfo.news===!0||W==="register-admin"&&ee.news===!0){l({pathname:"/usecase",search:`?hasAdmin=${s}`});return}Vt()}catch(Y){if(j("didNotCreateFirstAdmin"),Y.response){const{data:ce}=Y.response,rt=(0,He.Z)(ce);Be({apiErrors:rt})}}},fs=async(ee,Te,ge)=>{let{setErrors:De,setSubmitting:Be}=ge;try{const{data:{data:{token:Y,user:ce}}}=await qe(Te,{...ee,resetPasswordToken:q.get("code")},{cancelToken:$e.token});h.I8.setToken(Y,!1),h.I8.setUserInfo(ce,!1),l("/")}catch(Y){if(Y.response){const ce=ke()(Y,["response","data","message"],"Something went wrong"),rt=ke()(Y,["response","data","statusCode"],400);it({type:"SET_REQUEST_ERROR",errorMessage:ce,errorStatus:rt}),De({errorMessage:ce})}}finally{Be(!1)}},Vt=()=>{if(W==="login"){const ee=q.get("redirectTo"),Te=ee?decodeURIComponent(ee):"/";l(Te)}else l("/")};return!Qe[W]||s&&W==="register-admin"||h.I8.getToken()?t.createElement(M.l_,{to:"/"}):!s&&W!=="register-admin"?t.createElement(M.l_,{to:{pathname:"/auth/register-admin",search:g}}):t.createElement(le,(0,Ie.Z)({},Ee,{authType:W,fieldsToDisable:ue,formErrors:we,inputsPrefix:de,modifiedData:Se,onChange:ds,onSubmit:cs,requestError:gt,schema:ye}))};Je.defaultProps={hasAdmin:!1},Je.propTypes={hasAdmin:o().bool,setHasAdmin:o().func.isRequired};var pt=Je,H=e(53951),dt=e(8471),ct=e(33348),ft=e(49372),Ze=e(27649),Xe=e(87933),re=e(72850),z=e(68465),_=e(84967),ve=e(10369),Pe=e(41415),ht=e(7563),Rt=e(10190),_e=e(954);const At=[{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"}],Ct=(0,dt.ZP)(ft.Z)`
|
|
12
12
|
text-align: center;
|
|
13
|
-
`;var Mt=()=>{const c=(0,h.lm)(),{push:s,location:a}=(0,M.k6)(),{formatMessage:l}=(0,
|
|
13
|
+
`;var Mt=()=>{const c=(0,h.lm)(),{push:s,location:a}=(0,M.k6)(),{formatMessage:l}=(0,F.Z)(),[g,A]=(0,t.useState)(),[S,j]=(0,t.useState)(""),{post:W}=(0,h.kY)(),{firstname:q,email:le}=h.I8.getUserInfo(),{hasAdmin:K}=(0,ct.parse)(a?.search,{ignoreQueryPrefix:!0}),ue=g==="other",he=async(de,ye)=>{de.preventDefault();try{await W("https://analytics.strapi.io/register",{email:le,username:q,firstAdmin:Boolean(!K),persona:{role:ye?void 0:g,otherRole:ye?void 0:S}}),c({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return t.createElement(_e.ZP,null,t.createElement(Ze.o,{labelledBy:"usecase-title"},t.createElement(_e.bU,null,t.createElement("form",{onSubmit:de=>he(de,!1)},t.createElement(Xe.k,{direction:"column",paddingBottom:7},t.createElement(Rt.Z,null),t.createElement(re.x,{paddingTop:6,paddingBottom:1,width:(0,h.Q1)(250)},t.createElement(Ct,{variant:"alpha",as:"h1",id:"usecase-title"},l({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),t.createElement(Xe.k,{direction:"column",alignItems:"stretch",gap:6},t.createElement(z.P,{id:"usecase","data-testid":"usecase",label:l({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:A,value:g},At.map(({intlLabel:de,value:ye})=>t.createElement(_.W,{key:ye,value:ye},l(de)))),ue&&t.createElement(ve.o,{name:"other",label:l({id:"Usecase.other",defaultMessage:"Other"}),value:S,onChange:de=>j(de.target.value),"data-testid":"other"}),t.createElement(Pe.z,{type:"submit",size:"L",fullWidth:!0,disabled:!g},l({id:"global.finish",defaultMessage:"Finish"}))))),t.createElement(Xe.k,{justifyContent:"center"},t.createElement(re.x,{paddingTop:4},t.createElement(ht.A,{onClick:()=>he(!0)},l({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},kt=e(73307),jt=async()=>`web-fingerprint-${(await(await kt.ZP.load()).get()).visitorId}`,xt=[],St=[...(()=>window&&window.strapi&&window.strapi.isEE?e(68944).Z:e(56761).Z)(),...xt],Dt=e(32308);const Wt=(0,t.lazy)(()=>Promise.all([e.e(6691),e.e(801)]).then(e.bind(e,29761)));function Nt(){const c=(0,h.lm)(),{updateProjectSettings:s}=(0,Dt.um)(),{formatMessage:a}=(0,F.Z)(),[{isLoading:l,hasAdmin:g,uuid:A,deviceId:S},j]=(0,t.useState)({isLoading:!0,hasAdmin:!1}),W=(0,h.L7)(),{get:q,post:le}=(0,h.kY)(),K=(0,t.useMemo)(()=>(0,pe.WW)(St.map(({to:Ee,Component:we,exact:Se})=>(0,pe.ot)(we,Ee,Se))),[]),[ue,he]=(0,t.useState)(null);(0,t.useEffect)(()=>{const Ee=h.I8.getToken();Ee&&(async()=>{try{const{data:{data:{token:Se}}}=await le("/admin/renew-token",{token:Ee});h.I8.updateToken(Se)}catch{h.I8.clearAppStorage(),window.location.reload()}})()},[le]),(0,t.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:we,uuid:Se,menuLogo:gt,authLogo:it}}}=await q("/admin/init");s({menuLogo:(0,h.CR)(gt),authLogo:(0,h.CR)(it)});const wt=await jt();if(Se){const{data:{data:$e}}=await q("/admin/telemetry-properties",{validateStatus:qe=>qe<500});he($e);try{await le("https://analytics.strapi.io/api/v2/track",{event:"didInitializeAdministration",userId:"",deviceId:wt,eventPropeties:{},userProperties:{environment:W.currentEnvironment},groupProperties:{...$e,projectId:Se}})}catch{}}j({isLoading:!1,hasAdmin:we,uuid:Se,deviceId:wt})}catch{c({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[c,s]);const de=Ee=>j(we=>({...we,hasAdmin:Ee})),ye=(0,t.useMemo)(()=>({uuid:A,telemetryProperties:ue,deviceId:S}),[A,ue,S]);return l?t.createElement(h.dO,null):t.createElement(t.Suspense,{fallback:t.createElement(h.dO,null)},t.createElement(Q.z,null,a({id:"skipToContent"})),t.createElement(h.L8,{value:ye},t.createElement(M.rs,null,K,t.createElement(M.AW,{path:"/auth/:authType",render:Ee=>t.createElement(pt,{...Ee,setHasAdmin:de,hasAdmin:g}),exact:!0}),t.createElement($,{path:"/usecase",component:Mt}),t.createElement($,{path:"/",component:Wt}),t.createElement(M.AW,{path:"",component:H.default}))))}var It=Nt,Ot=e(47750),Et=e(20108),p=e(15062),d=e(66694);const r={menuLogo:null,authLogo:null};var x=(c=r,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(a,s.values);break}default:return a}});const B=({children:c,authLogo:s,menuLogo:a,showReleaseNotification:l,showTutorials:g})=>{const[{menuLogo:A,authLogo:S},j]=(0,t.useReducer)(x,r),W=(0,t.useCallback)(({menuLogo:le,authLogo:K})=>j({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:le||a,authLogo:K||s}}),[s,a]),q=(0,t.useMemo)(()=>({logos:{menu:{custom:A,default:a},auth:{custom:S,default:s}},updateProjectSettings:W,showReleaseNotification:l,showTutorials:g}),[A,a,S,s,W,l,g]);return t.createElement(d._5.Provider,{value:q},c)};B.propTypes={authLogo:o().string.isRequired,children:o().element.isRequired,menuLogo:o().string.isRequired,showReleaseNotification:o().bool.isRequired,showTutorials:o().bool.isRequired};var V=B,G=e(78023),ae=e(58732),Le=e.n(ae),J=e(5985);const be=({changeLocale:c,children:s,localeNames:a})=>t.createElement(J.Z.Provider,{value:{changeLocale:c,localeNames:a}},s);be.propTypes={changeLocale:o().func.isRequired,children:o().element.isRequired,localeNames:o().object.isRequired};var We=be,ze="strapi-admin-language",Pt=c=>{const s=window.localStorage.getItem(ze);return{locale:c[s]?s:"en",localeNames:c}};const ot={localeNames:{en:"English"},locale:"en"};var mt=(c=ot,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:a}=s;return c.localeNames[a]?{...c,locale:a}:c}default:return c}};const Ne=({children:c,localeNames:s,messages:a})=>{const[{locale:l},g]=(0,t.useReducer)(mt,ot,()=>Pt(s));(0,t.useEffect)(()=>{window.localStorage.setItem(ze,l),document.documentElement.setAttribute("lang",l)},[l]);const A=j=>{g({type:"CHANGE_LOCALE",locale:j})},S=Le()(a[l],a.en);return t.createElement(G.Z,{locale:l,defaultLocale:"en",messages:S,textComponent:"span"},t.createElement(We,{changeLocale:A,localeNames:s},c))};Ne.propTypes={children:o().element.isRequired,localeNames:o().objectOf(o().string).isRequired,messages:o().object.isRequired};var Me=Ne,xe=(c,s)=>{const a=Object.entries(s),l=a.findIndex(([A])=>A===c);return a.slice(0,l).every(([,A])=>Object.values(A).every(Boolean))},Yt=(c,s)=>{const a=c.split("."),l=a[1],g=Object.entries(s[a[0]]),A=g.findIndex(([j])=>j===l);return g.slice(0,A).every(([,j])=>j)};const Gt={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var Qt=(c=Gt,s)=>(0,me.ZP)(c,a=>{switch(s.type){case"SET_CURRENT_STEP":{a.currentStep=s.step;break}case"SET_STEP_STATE":{const[l,g]=s.currentStep.split(".");a.guidedTourState[l][g]=s.value;break}case"SET_SKIPPED":{a.isSkipped=s.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{a.isGuidedTourVisible=s.value;break}default:return a}}),Jt=c=>{const s={...c},a=X.get(st),l=X.get(Fe),g=X.get(nt);if(a&&a.forEach(A=>{const[S,j]=A.split(".");Ce()(s,["guidedTourState",S,j],!0)}),l){const[A,S]=l.split(".");Ce()(s,["guidedTourState",A,S],!0),X.addCompletedStep(l),X.addCurrentStep(null)}return g!==null&&Ce()(s,"isSkipped",g),s};const Ft=({children:c})=>{const[{currentStep:s,guidedTourState:a,isGuidedTourVisible:l,isSkipped:g},A]=(0,t.useReducer)(Qt,Gt,Jt),S=K=>{if(K!==null){const ue=ke()(a,K),he=Yt(K,a);if(ue||g||!he)return null}return X.addCurrentStep(K),A({type:"SET_CURRENT_STEP",step:K})},j=K=>{A({type:"SET_GUIDED_TOUR_VISIBILITY",value:K})},W=(K,ue)=>{X.addCompletedStep(K),A({type:"SET_STEP_STATE",currentStep:K,value:ue})},q=K=>{const ue=a[K];if(ue){const he=xe(K,a),de=Object.keys(ue)[0],ye=ue[de];if(he&&!s&&!ye)return S(`${K}.${de}`)}return null},le=K=>{X.setSkipped(K),A({type:"SET_SKIPPED",value:K})};return t.createElement(h.Zc,{guidedTourState:a,currentStep:s,setCurrentStep:S,setGuidedTourVisibility:j,setSkipped:le,setStepState:W,startSection:q,isGuidedTourVisible:l,isSkipped:g},c)};Ft.propTypes={children:o().element.isRequired};var Xt=Ft;const bt="STRAPI_THEME",_t=()=>{const c=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(bt);return s||localStorage.setItem(bt,c),s||c},Ht=({children:c,themes:s})=>{const[a,l]=(0,t.useState)(_t()),g=(0,t.useCallback)(S=>{l(S),localStorage.setItem(bt,S)},[l]),A=(0,t.useMemo)(()=>({currentTheme:a,onChangeTheme:g,themes:s}),[a,g,s]);return t.createElement(d.Rj.Provider,{value:A},c)};Ht.propTypes={children:o().node.isRequired,themes:o().shape({light:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,dark:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,custom:o().object}).isRequired};var qt=Ht,es=e(24854),ts=dt.vJ`
|
|
14
14
|
body {
|
|
15
15
|
background: ${({theme:c})=>c.colors.neutral100};
|
|
16
16
|
}
|
|
17
|
-
`;const zt=({children:c})=>{const{currentTheme:s,themes:a}=(0,Dt.M1)();return t.createElement(es.f,{theme:a[s]||a.light},c,t.createElement(ts,null))};zt.propTypes={children:o().element.isRequired};var ss=zt;const ns=new Et.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),$t=({authLogo:c,children:s,components:a,customFields:l,fields:g,getAdminInjectedComponents:A,getPlugin:S,localeNames:j,menu:W,menuLogo:q,messages:le,plugins:K,runHookParallel:ue,runHookSeries:he,runHookWaterfall:de,settings:ye,showReleaseNotification:Ee,showTutorials:we,store:Se,themes:gt})=>t.createElement(qt,{themes:gt},t.createElement(ss,null,t.createElement(Et.QueryClientProvider,{client:ns},t.createElement(p.zt,{store:Se},t.createElement(d.ux.Provider,{value:{getAdminInjectedComponents:A}},t.createElement(V,{authLogo:c,menuLogo:q,showReleaseNotification:Ee,showTutorials:we},t.createElement(h._Y,{getPlugin:S,menu:W,plugins:K,runHookParallel:ue,runHookWaterfall:de,runHookSeries:he,settings:ye},t.createElement(h.rt,{components:a,fields:g},t.createElement(h.MG,{customFields:l},t.createElement(Me,{messages:le,localeNames:j},t.createElement(h.m$,null,t.createElement(h.w7,null,t.createElement(Xt,null,t.createElement(h.N$,null,s))))))))))))));$t.propTypes={authLogo:o().oneOfType([o().string,o().any]).isRequired,children:o().element.isRequired,components:o().object.isRequired,customFields:o().object.isRequired,fields:o().object.isRequired,getAdminInjectedComponents:o().func.isRequired,getPlugin:o().func.isRequired,localeNames:o().objectOf(o().string).isRequired,menu:o().arrayOf(o().shape({to:o().string.isRequired,icon:o().func.isRequired,intlLabel:o().shape({id:o().string.isRequired,defaultMessage:o().string.isRequired}).isRequired,permissions:o().array,Component:o().func})).isRequired,menuLogo:o().oneOfType([o().string,o().any]).isRequired,messages:o().object.isRequired,plugins:o().object.isRequired,runHookParallel:o().func.isRequired,runHookWaterfall:o().func.isRequired,runHookSeries:o().func.isRequired,settings:o().object.isRequired,showReleaseNotification:o().bool.isRequired,showTutorials:o().bool.isRequired,store:o().object.isRequired,themes:o().shape({light:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,dark:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,custom:o().object}).isRequired};var as=$t,os={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",ca:"Catal\xE0",cs:"\u010Ce\u0161tina",de:"Deutsch",dk:"Dansk",en:"English",es:"Espa\xF1ol",eu:"Euskara",fr:"Fran\xE7ais",gu:"Gujarati",he:"\u05E2\u05D1\u05E8\u05D9\u05EA",hu:"Magyar",id:"Indonesian",it:"Italiano",ja:"\u65E5\u672C\u8A9E",ko:"\uD55C\uAD6D\uC5B4",ml:"Malayalam",ms:"Melayu",nl:"Nederlands",no:"Norwegian",pl:"Polski","pt-BR":"Portugu\xEAs (Brasil)",pt:"Portugu\xEAs (Portugal)",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",sk:"Sloven\u010Dina",sv:"Swedish",th:"\u0E44\u0E17\u0E22",tr:"T\xFCrk\xE7e",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",vi:"Ti\u1EBFng Vi\u1EC7t","zh-Hans":"\u4E2D\u6587 (\u7B80\u4F53)",zh:"\u4E2D\u6587 (\u7E41\u9AD4)",sa:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924",hi:"\u0939\u093F\u0928\u094D\u0926\u0940"},Tt=e(46339),is={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[]}}},rs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=";class ls{constructor({adminConfig:s,appPlugins:a,library:l,middlewares:g,reducers:A}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:Ot,head:{favicon:rs},locales:["en"],menuLogo:Ot,notifications:{releases:!0},themes:{light:n.W,dark:E.$},translations:{},tutorials:!0},this.appPlugins=a||{},this.library=l,this.middlewares=g,this.plugins={},this.reducers=A,this.translations={},this.hooksDict={},this.admin={injectionZones:is},this.customFields=se.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=s=>{Array.isArray(s)?s.map(a=>this.library.components.add(a)):this.library.components.add(s)};addCorePluginMenuLink=s=>{const a=JSON.stringify(s);f()(s.to,`link.to should be defined for ${a}`),f()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),f()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),this.menu.push(s)};addFields=s=>{Array.isArray(s)?s.map(a=>this.library.fields.add(a)):this.library.fields.add(s)};addMenuLink=s=>{const a=JSON.stringify(s);f()(s.to,`link.to should be defined for ${a}`),f()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),f()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),f()(s.icon&&typeof s.icon=="function","link.Icon should be a valid React Component"),this.menu.push(s)};addMiddlewares=s=>{s.forEach(a=>{this.middlewares.add(a)})};addReducers=s=>{Object.keys(s).forEach(a=>{this.reducers.add(a,s[a])})};addSettingsLink=(s,a)=>{f()(this.settings[s],"The section does not exist");const l=JSON.stringify(a);f()(a.id,`link.id should be defined for ${l}`),f()(a.intlLabel?.id&&a.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${l}`),f()(a.to,`link.to should be defined for ${l}`),f()(a.Component&&typeof a.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(a)};addSettingsLinks=(s,a)=>{f()(this.settings[s],"The section does not exist"),f()(Array.isArray(a),"TypeError expected links to be an array"),a.forEach(l=>{this.addSettingsLink(s,l)})};async bootstrap(){Object.keys(this.appPlugins).forEach(s=>{const a=this.appPlugins[s].bootstrap;a&&a({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),I()(this.customBootstrapConfiguration)&&this.customBootstrapConfiguration({addComponents:this.addComponents,addFields:this.addFields,addMenuLink:this.addMenuLink,addReducers:this.addReducers,addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}bootstrapAdmin=async()=>(await this.createCustomConfigurations(),this.createHook(Tt.No),this.createHook(Tt.LK),this.createHook(Tt.dV),this.createHook(Tt.Eo),Promise.resolve());createCustomConfigurations=async()=>{if(this.customConfigurations?.locales&&(this.configurations.locales=["en",...this.customConfigurations.locales?.filter(s=>s!=="en")||[]]),this.customConfigurations?.auth?.logo&&(this.configurations.authLogo=this.customConfigurations.auth.logo),this.customConfigurations?.menu?.logo&&(this.configurations.menuLogo=this.customConfigurations.menu.logo),this.customConfigurations?.head?.favicon&&(this.configurations.head.favicon=this.customConfigurations.head.favicon),this.customConfigurations?.theme){const s=this.customConfigurations.theme.dark,a=this.customConfigurations.theme.light;!s&&!a&&(console.warn("[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension."),u()(this.configurations.themes.light,this.customConfigurations.theme)),a&&u()(this.configurations.themes.light,a),s&&u()(this.configurations.themes.dark,s)}this.customConfigurations?.notifications?.releases!==void 0&&(this.configurations.notifications.releases=this.customConfigurations.notifications.releases),this.customConfigurations?.tutorials!==void 0&&(this.configurations.tutorials=this.customConfigurations.tutorials)};createHook=s=>{this.hooksDict[s]=y()};createSettingSection=(s,a)=>{f()(s.id,"section.id should be defined"),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),f()(Array.isArray(a),"TypeError expected links to be an array"),f()(this.settings[s.id]===void 0,"A similar section already exists"),this.settings[s.id]={...s,links:[]},a.forEach(l=>{this.addSettingsLink(s.id,l)})};createStore=()=>te(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(s,a,l)=>{try{return this.admin.injectionZones[s][a][l]||[]}catch(g){return console.error("Cannot get injected component",g),g}};getPlugin=s=>this.plugins[s];async initialize(){Object.keys(this.appPlugins).forEach(s=>{this.appPlugins[s].register(this)})}injectContentManagerComponent=(s,a,l)=>{f()(this.admin.injectionZones.contentManager[s]?.[a],`The ${s} ${a} zone is not defined in the content manager`),f()(l,"A Component must be provided"),this.admin.injectionZones.contentManager[s][a].push(l)};injectAdminComponent=(s,a,l)=>{f()(this.admin.injectionZones.admin[s]?.[a],`The ${s} ${a} zone is not defined in the admin`),f()(l,"A Component must be provided"),this.admin.injectionZones.admin[s][a].push(l)};async loadAdminTrads(){const s=this.configurations.locales.map(g=>e(48224)(`./${g}.json`).then(({default:A})=>({data:A,locale:g})).catch(()=>({data:null,locale:g})));return(await Promise.all(s)).reduce((g,A)=>(A.data&&(g[A.locale]=A.data),g),{})}async loadTrads(){const s=await this.loadAdminTrads(),a=Object.keys(this.appPlugins).map(S=>{const j=this.appPlugins[S].registerTrads;return j?j({locales:this.configurations.locales}):null}).filter(S=>S),g=(await Promise.all(a)).reduce((S,j)=>{const W=j.reduce((q,le)=>(q[le.locale]=le.data,q),{});return Object.keys(W).forEach(q=>{S[q]={...S[q],...W[q]}}),S},{}),A=this.configurations.locales.reduce((S,j)=>(S[j]={...s[j],...g[j]||{},...this.customConfigurations?.translations?.[j]},S),{});return this.configurations.translations=A,Promise.resolve()}registerHook=(s,a)=>{f()(this.hooksDict[s],`The hook ${s} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[s].register(a)};registerPlugin=s=>{const a=(0,se.Sy)(s);this.plugins[a.pluginId]=a};runHookSeries=(s,a=!1)=>a?this.hooksDict[s].runSeriesAsync():this.hooksDict[s].runSeries();runHookWaterfall=(s,a,l=!1,g)=>l?this.hooksDict[s].runWaterfallAsync(a,g):this.hooksDict[s].runWaterfall(a,g);runHookParallel=s=>this.hooksDict[s].runParallel();render(){const s=this.createStore(),a=T()(os,this.configurations.locales||[]),{components:{components:l},fields:{fields:g}}=this.library;return t.createElement(as,{authLogo:this.configurations.authLogo,components:l,fields:g,customFields:this.customFields,localeNames:a,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(A,S,j=!1)=>this.runHookWaterfall(A,S,j,s),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:s},t.createElement(t.Fragment,null,t.createElement(L.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(ze)||"en"}}),t.createElement(i.VK,{basename:v.Z},t.createElement(It,{store:s}))))}}var us=({adminConfig:c={},appPlugins:s,library:a,middlewares:l,reducers:g})=>new ls({adminConfig:c,appPlugins:s,library:a,middlewares:l,reducers:g})},5985:function(D,m,e){"use strict";var t=e(32735);const i=(0,t.createContext)();m.Z=i},20139:function(D,m,e){"use strict";var t=e(32735),i=e(5985);const n=()=>{const{changeLocale:E,localeNames:C,messages:u}=(0,t.useContext)(i.Z);return{changeLocale:E,localeNames:C,messages:u}};m.Z=n},10190:function(D,m,e){"use strict";var t=e(32735),i=e(8471),n=e(32308);const E=i.ZP.img`
|
|
17
|
+
`;const zt=({children:c})=>{const{currentTheme:s,themes:a}=(0,Dt.M1)(),{locale:l}=(0,F.Z)();return t.createElement(es.h,{locale:l,theme:a[s]||a.light},c,t.createElement(ts,null))};zt.propTypes={children:o().element.isRequired};var ss=zt;const ns=new Et.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),$t=({authLogo:c,children:s,components:a,customFields:l,fields:g,getAdminInjectedComponents:A,getPlugin:S,localeNames:j,menu:W,menuLogo:q,messages:le,plugins:K,runHookParallel:ue,runHookSeries:he,runHookWaterfall:de,settings:ye,showReleaseNotification:Ee,showTutorials:we,store:Se,themes:gt})=>t.createElement(Me,{messages:le,localeNames:j},t.createElement(qt,{themes:gt},t.createElement(ss,null,t.createElement(Et.QueryClientProvider,{client:ns},t.createElement(p.zt,{store:Se},t.createElement(d.ux.Provider,{value:{getAdminInjectedComponents:A}},t.createElement(V,{authLogo:c,menuLogo:q,showReleaseNotification:Ee,showTutorials:we},t.createElement(h._Y,{getPlugin:S,menu:W,plugins:K,runHookParallel:ue,runHookWaterfall:de,runHookSeries:he,settings:ye},t.createElement(h.rt,{components:a,fields:g},t.createElement(h.MG,{customFields:l},t.createElement(h.m$,null,t.createElement(h.w7,null,t.createElement(Xt,null,t.createElement(h.N$,null,s))))))))))))));$t.propTypes={authLogo:o().oneOfType([o().string,o().any]).isRequired,children:o().element.isRequired,components:o().object.isRequired,customFields:o().object.isRequired,fields:o().object.isRequired,getAdminInjectedComponents:o().func.isRequired,getPlugin:o().func.isRequired,localeNames:o().objectOf(o().string).isRequired,menu:o().arrayOf(o().shape({to:o().string.isRequired,icon:o().func.isRequired,intlLabel:o().shape({id:o().string.isRequired,defaultMessage:o().string.isRequired}).isRequired,permissions:o().array,Component:o().func})).isRequired,menuLogo:o().oneOfType([o().string,o().any]).isRequired,messages:o().object.isRequired,plugins:o().object.isRequired,runHookParallel:o().func.isRequired,runHookWaterfall:o().func.isRequired,runHookSeries:o().func.isRequired,settings:o().object.isRequired,showReleaseNotification:o().bool.isRequired,showTutorials:o().bool.isRequired,store:o().object.isRequired,themes:o().shape({light:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,dark:o().shape({colors:o().object.isRequired,shadows:o().object.isRequired,sizes:o().object.isRequired,zIndices:o().array.isRequired,spaces:o().array.isRequired,borderRadius:o().string.isRequired,mediaQueries:o().object.isRequired,fontSizes:o().array.isRequired,lineHeights:o().array.isRequired,fontWeights:o().object.isRequired}).isRequired,custom:o().object}).isRequired};var as=$t,os={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",ca:"Catal\xE0",cs:"\u010Ce\u0161tina",de:"Deutsch",dk:"Dansk",en:"English",es:"Espa\xF1ol",eu:"Euskara",fr:"Fran\xE7ais",gu:"Gujarati",he:"\u05E2\u05D1\u05E8\u05D9\u05EA",hu:"Magyar",id:"Indonesian",it:"Italiano",ja:"\u65E5\u672C\u8A9E",ko:"\uD55C\uAD6D\uC5B4",ml:"Malayalam",ms:"Melayu",nl:"Nederlands",no:"Norwegian",pl:"Polski","pt-BR":"Portugu\xEAs (Brasil)",pt:"Portugu\xEAs (Portugal)",ru:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",sk:"Sloven\u010Dina",sv:"Swedish",th:"\u0E44\u0E17\u0E22",tr:"T\xFCrk\xE7e",uk:"\u0423\u043A\u0440\u0430\u0457\u043D\u0441\u044C\u043A\u0430",vi:"Ti\u1EBFng Vi\u1EC7t","zh-Hans":"\u4E2D\u6587 (\u7B80\u4F53)",zh:"\u4E2D\u6587 (\u7E41\u9AD4)",sa:"\u0938\u0902\u0938\u094D\u0915\u0943\u0924",hi:"\u0939\u093F\u0928\u094D\u0926\u0940"},Tt=e(46339),is={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},rs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=";class ls{constructor({adminConfig:s,appPlugins:a,library:l,middlewares:g,reducers:A}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:Ot,head:{favicon:rs},locales:["en"],menuLogo:Ot,notifications:{releases:!0},themes:{light:n.W,dark:E.$},translations:{},tutorials:!0},this.appPlugins=a||{},this.library=l,this.middlewares=g,this.plugins={},this.reducers=A,this.translations={},this.hooksDict={},this.admin={injectionZones:is},this.customFields=se.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=s=>{Array.isArray(s)?s.map(a=>this.library.components.add(a)):this.library.components.add(s)};addCorePluginMenuLink=s=>{const a=JSON.stringify(s);f()(s.to,`link.to should be defined for ${a}`),f()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),f()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),this.menu.push(s)};addFields=s=>{Array.isArray(s)?s.map(a=>this.library.fields.add(a)):this.library.fields.add(s)};addMenuLink=s=>{const a=JSON.stringify(s);f()(s.to,`link.to should be defined for ${a}`),f()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${a}`),f()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),f()(s.icon&&typeof s.icon=="function","link.Icon should be a valid React Component"),this.menu.push(s)};addMiddlewares=s=>{s.forEach(a=>{this.middlewares.add(a)})};addReducers=s=>{Object.keys(s).forEach(a=>{this.reducers.add(a,s[a])})};addSettingsLink=(s,a)=>{f()(this.settings[s],"The section does not exist");const l=JSON.stringify(a);f()(a.id,`link.id should be defined for ${l}`),f()(a.intlLabel?.id&&a.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${l}`),f()(a.to,`link.to should be defined for ${l}`),f()(a.Component&&typeof a.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(a)};addSettingsLinks=(s,a)=>{f()(this.settings[s],"The section does not exist"),f()(Array.isArray(a),"TypeError expected links to be an array"),a.forEach(l=>{this.addSettingsLink(s,l)})};async bootstrap(){Object.keys(this.appPlugins).forEach(s=>{const a=this.appPlugins[s].bootstrap;a&&a({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),I()(this.customBootstrapConfiguration)&&this.customBootstrapConfiguration({addComponents:this.addComponents,addFields:this.addFields,addMenuLink:this.addMenuLink,addReducers:this.addReducers,addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}bootstrapAdmin=async()=>(await this.createCustomConfigurations(),this.createHook(Tt.No),this.createHook(Tt.LK),this.createHook(Tt.dV),this.createHook(Tt.Eo),Promise.resolve());createCustomConfigurations=async()=>{if(this.customConfigurations?.locales&&(this.configurations.locales=["en",...this.customConfigurations.locales?.filter(s=>s!=="en")||[]]),this.customConfigurations?.auth?.logo&&(this.configurations.authLogo=this.customConfigurations.auth.logo),this.customConfigurations?.menu?.logo&&(this.configurations.menuLogo=this.customConfigurations.menu.logo),this.customConfigurations?.head?.favicon&&(this.configurations.head.favicon=this.customConfigurations.head.favicon),this.customConfigurations?.theme){const s=this.customConfigurations.theme.dark,a=this.customConfigurations.theme.light;!s&&!a&&(console.warn("[deprecated] In future versions, Strapi will stop supporting this theme customization syntax. The theme configuration accepts a light and a dark key to customize each theme separately. See https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#theme-extension."),u()(this.configurations.themes.light,this.customConfigurations.theme)),a&&u()(this.configurations.themes.light,a),s&&u()(this.configurations.themes.dark,s)}this.customConfigurations?.notifications?.releases!==void 0&&(this.configurations.notifications.releases=this.customConfigurations.notifications.releases),this.customConfigurations?.tutorials!==void 0&&(this.configurations.tutorials=this.customConfigurations.tutorials)};createHook=s=>{this.hooksDict[s]=y()};createSettingSection=(s,a)=>{f()(s.id,"section.id should be defined"),f()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),f()(Array.isArray(a),"TypeError expected links to be an array"),f()(this.settings[s.id]===void 0,"A similar section already exists"),this.settings[s.id]={...s,links:[]},a.forEach(l=>{this.addSettingsLink(s.id,l)})};createStore=()=>te(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(s,a,l)=>{try{return this.admin.injectionZones[s][a][l]||[]}catch(g){return console.error("Cannot get injected component",g),g}};getPlugin=s=>this.plugins[s];async initialize(){Object.keys(this.appPlugins).forEach(s=>{this.appPlugins[s].register(this)})}injectContentManagerComponent=(s,a,l)=>{f()(this.admin.injectionZones.contentManager[s]?.[a],`The ${s} ${a} zone is not defined in the content manager`),f()(l,"A Component must be provided"),this.admin.injectionZones.contentManager[s][a].push(l)};injectAdminComponent=(s,a,l)=>{f()(this.admin.injectionZones.admin[s]?.[a],`The ${s} ${a} zone is not defined in the admin`),f()(l,"A Component must be provided"),this.admin.injectionZones.admin[s][a].push(l)};async loadAdminTrads(){const s=this.configurations.locales.map(g=>e(48224)(`./${g}.json`).then(({default:A})=>({data:A,locale:g})).catch(()=>({data:null,locale:g})));return(await Promise.all(s)).reduce((g,A)=>(A.data&&(g[A.locale]=A.data),g),{})}async loadTrads(){const s=await this.loadAdminTrads(),a=Object.keys(this.appPlugins).map(S=>{const j=this.appPlugins[S].registerTrads;return j?j({locales:this.configurations.locales}):null}).filter(S=>S),g=(await Promise.all(a)).reduce((S,j)=>{const W=j.reduce((q,le)=>(q[le.locale]=le.data,q),{});return Object.keys(W).forEach(q=>{S[q]={...S[q],...W[q]}}),S},{}),A=this.configurations.locales.reduce((S,j)=>(S[j]={...s[j],...g[j]||{},...this.customConfigurations?.translations?.[j]},S),{});return this.configurations.translations=A,Promise.resolve()}registerHook=(s,a)=>{f()(this.hooksDict[s],`The hook ${s} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[s].register(a)};registerPlugin=s=>{const a=(0,se.Sy)(s);this.plugins[a.pluginId]=a};runHookSeries=(s,a=!1)=>a?this.hooksDict[s].runSeriesAsync():this.hooksDict[s].runSeries();runHookWaterfall=(s,a,l=!1,g)=>l?this.hooksDict[s].runWaterfallAsync(a,g):this.hooksDict[s].runWaterfall(a,g);runHookParallel=s=>this.hooksDict[s].runParallel();render(){const s=this.createStore(),a=T()(os,this.configurations.locales||[]),{components:{components:l},fields:{fields:g}}=this.library;return t.createElement(as,{authLogo:this.configurations.authLogo,components:l,fields:g,customFields:this.customFields,localeNames:a,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(A,S,j=!1)=>this.runHookWaterfall(A,S,j,s),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:s},t.createElement(t.Fragment,null,t.createElement(L.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(ze)||"en"}}),t.createElement(i.VK,{basename:v.Z},t.createElement(It,{store:s}))))}}var us=({adminConfig:c={},appPlugins:s,library:a,middlewares:l,reducers:g})=>new ls({adminConfig:c,appPlugins:s,library:a,middlewares:l,reducers:g})},5985:function(D,m,e){"use strict";var t=e(32735);const i=(0,t.createContext)();m.Z=i},20139:function(D,m,e){"use strict";var t=e(32735),i=e(5985);const n=()=>{const{changeLocale:E,localeNames:C,messages:u}=(0,t.useContext)(i.Z);return{changeLocale:E,localeNames:C,messages:u}};m.Z=n},10190:function(D,m,e){"use strict";var t=e(32735),i=e(8471),n=e(32308);const E=i.ZP.img`
|
|
18
18
|
height: ${72/16}rem;
|
|
19
|
-
`,C=()=>{const{logos:{auth:u}}=(0,n.um)();return t.createElement(E,{src:u?.custom??u.default,"aria-hidden":!0,alt:""})};m.Z=C},66694:function(D,m,e){"use strict";e.d(m,{ux:function(){return n},_5:function(){return C},$l:function(){return P},Rj:function(){return R}});var t=e(32735),n=(0,t.createContext)({}),C=(0,t.createContext)({}),P=(0,t.createContext)({}),R=(0,t.createContext)({})},78246:function(D,m){"use strict";const e="/admin/".replace(window.location.origin,"");m.Z=e},46339:function(D,m,e){"use strict";e.d(m,{Eo:function(){return n},LK:function(){return i},No:function(){return t},dV:function(){return E}});const t="Admin/CM/pages/ListView/inject-column-in-table",i="Admin/CM/pages/App/mutate-collection-types-links",n="Admin/CM/pages/EditView/mutate-edit-view-layout",E="Admin/CM/pages/App/mutate-single-types-links"},32308:function(D,m,e){"use strict";e.d(m,{um:function(){return E},U_:function(){return f},Dq:function(){return k},H9:function(){return Ve},$_:function(){return Bt},rW:function(){return Et},bF:function(){return Ae},G4:function(){return Zt},Te:function(){return Pe},M1:function(){return It}});var t=e(32735),i=e(66694),E=()=>(0,t.useContext)(i._5),C=e(70166),u=e(24989),P=e(97889);const T={data:{},error:null,isLoading:!0};var I=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA":{r.isLoading=!0,r.data={},r.error=null;break}case"GET_DATA_SUCCEEDED":{r.data=d.data,r.isLoading=!1,r.error=null;break}case"GET_DATA_ERROR":{r.isLoading=!1,r.error=d.error;break}default:return r}}),f=p=>{const[{data:d,error:r,isLoading:w},x]=(0,t.useReducer)(I,T),{get:B}=(0,u.kY)();return(0,t.useEffect)(()=>{(async()=>{try{x({type:"GET_DATA"});const{data:{data:G}}=await B("/admin/permissions",{params:{role:p}});x({type:"GET_DATA_SUCCEEDED",data:G})}catch{}})()},[p,B]),{data:d,error:r,isLoading:w}};const L={role:{},permissions:{},isLoading:!0};var b=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA_SUCCEEDED":{r.role=d.role,r.permissions=d.permissions,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{r.role.name=d.name,r.role.description=d.description;break}default:return r}}),k=p=>{const d=(0,u.lm)(),[r,w]=(0,t.useReducer)(b,L),{get:x}=(0,u.kY)();(0,t.useEffect)(()=>{p?(async G=>{try{const[{data:{data:ae}},{data:{data:Le}}]=await Promise.all([`roles/${G}`,`roles/${G}/permissions`].map(J=>x(`/admin/${J}`)));w({type:"GET_DATA_SUCCEEDED",role:ae,permissions:Le})}catch(ae){console.error(ae),w({type:"GET_DATA_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}})(p):w({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[x,p,d]);const B=(0,t.useCallback)(V=>{w({type:"ON_SUBMIT_SUCCEEDED",...V})},[]);return{...r,onSubmitSucceeded:B}},U=(p,d)=>d.map(({permissions:r})=>(0,u.qX)(p,r)),se=async(p,d)=>{const r=U(p,d),w=await Promise.all(r);return d.filter((B,V)=>w[V])},M=e(99381),h=e.n(M),z=async(p,d,r)=>{const w=U(p,d),x=await Promise.all(w),B=d.filter((ae,Le)=>x[Le]),V=B.findIndex(ae=>ae.to==="/settings");if(V===-1)return[];const G=h()(B);return G[V].notificationsCount=r?1:0,G},oe=e(2287),o=e(36919),Re=e(45112),$=e(83983);const pe={generalSectionLinks:[{icon:oe.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:$.Z.marketplace.main},{icon:o.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:$.Z.marketplace.main},{icon:Re.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0};var Ge=(p=pe,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"SET_SECTION_LINKS":{const{authorizedGeneralSectionLinks:w,authorizedPluginSectionLinks:x}=d.data;r.generalSectionLinks=w,r.pluginsSectionLinks=x;break}case"UNSET_IS_LOADING":{r.isLoading=!1;break}default:return r}}),Ve=()=>{const[p,d]=(0,t.useReducer)(Ge,pe),{allPermissions:r}=(0,u.vn)(),{shouldUpdateStrapi:w}=(0,u.L7)(),{menu:x}=(0,u.j1)(),B=(0,t.useRef)(p.generalSectionLinks),V=(0,t.useRef)(w),G=async(Le=r)=>{const be=await se(Le,x),We=await z(Le,B.current,V.current);d({type:"SET_SECTION_LINKS",data:{authorizedGeneralSectionLinks:We,authorizedPluginSectionLinks:be}}),d({type:"UNSET_IS_LOADING"})},ae=(0,t.useRef)(G);return(0,t.useEffect)(()=>{ae.current(r)},[r,d]),p},et=e(33795),ke=e.n(et),Ye=(p,d)=>({...p,isLoading:d});const Fe={roles:[],isLoading:!0};var nt=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA":{r.isLoading=!0,r.roles=[];break}case"GET_DATA_SUCCEEDED":{r.roles=d.data,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}default:return r}}),Ae=(p=!0)=>{const d=(0,u.lm)(),[{roles:r,isLoading:w},x]=(0,t.useReducer)(nt,Fe,()=>Ye(Fe,p));(0,t.useEffect)(()=>{p&&B()},[p]);const B=(0,t.useCallback)(async()=>{const V=(0,u.tg)();try{x({type:"GET_DATA"});const{data:{data:G}}=await V.get("/admin/roles");x({type:"GET_DATA_SUCCEEDED",data:G})}catch(G){const ae=ke()(G,["response","payload","message"],"An error occured");x({type:"GET_DATA_ERROR"}),ae!=="Forbidden"&&d({type:"warning",message:ae})}},[d]);return{roles:r,isLoading:w,getData:B}},ne=e(3040),X=e.n(ne);const fe={menu:[],isLoading:!0};var ie=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"CHECK_PERMISSIONS_SUCCEEDED":{d.data.forEach(w=>{w.hasPermission&&X()(r,["menu",...w.path.split("."),"isDisplayed"],w.hasPermission)}),r.menu.forEach((w,x)=>{r.menu[x].links=w.links.filter(B=>B.isDisplayed===!0)}),r.isLoading=!1;break}default:return r}}),Ue=e(9086),me=e.n(Ue),je=e(98978),Ce=e.n(je),ut=p=>Ce()(p,d=>d.id),Je=p=>p.map(d=>{const r=d.links.map(w=>({...w,isDisplayed:!1}));return{...d,links:r}}),F=[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles",isDisplayed:!1,permissions:$.Z.settings.roles.main},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users",isDisplayed:!1,permissions:$.Z.settings.users.main}],ct=[...(()=>window&&window.strapi&&window.strapi.isEE?e(66334).Z:e(47950).Z)(),...F],Ze=[{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:$.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:$.Z.settings["api-tokens"].main},{intlLabel:{id:"Settings.transferTokens.title",defaultMessage:"Transfer Tokens"},to:"/settings/transfer-tokens?sort=name:ASC",id:"transfer-tokens",isDisplayed:!1,permissions:$.Z.settings["transfer-tokens"].main}];const Xe=(()=>window&&window.strapi&&window.strapi.isEE?e(11545).Z:e(73086).Z)();var re=[...Ze,...Xe],_=(p,{settings:d,shouldUpdateStrapi:r})=>{const w=d.global.links,x=ut([...w,...re]).map(G=>({...G,hasNotification:G.id==="000-application-infos"&&r})),B=Object.values(me()(d,"global")),V=[{...d.global,links:x},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:ct},...B];return{...p,menu:Je(V)}},Pe=(p=!1)=>{const{allPermissions:d}=(0,u.vn)(),{shouldUpdateStrapi:r}=(0,u.L7)(),{settings:w}=(0,u.j1)(),[{isLoading:x,menu:B},V]=(0,t.useReducer)(ie,fe,()=>_(fe,{settings:w,shouldUpdateStrapi:r}));return(0,t.useEffect)(()=>{p||(async()=>{const ae=async(We,at)=>({hasPermission:await(0,u.qX)(d,We),path:at}),J=(We=>We.reduce((at,ze,vt)=>{const Pt=ot=>ot.map((Kt,mt)=>ae(ot[mt].permissions,`${vt}.links.${mt}`));return[...at,...Pt(ze.links)]},[]))(B),be=await Promise.all(J);V({type:"CHECK_PERMISSIONS_SUCCEEDED",data:be})})()},[d,p]),{isLoading:x,menu:B}},ht=e(8997),Rt=e(88423),_e=e.n(Rt),At=e(56236),Ct=e.n(At);const Lt={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},Mt=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA_SUCCEEDED":{r.isLoading=!1,r.showHeaderLoader=!1,r.initialData=_e()(d.data,p.fieldsToPick),r.modifiedData=_e()(d.data,p.fieldsToPick);break}case"ON_CANCEL":{r.modifiedData=p.initialData,r.formErrors={};break}case"ON_CHANGE":{d.inputType==="password"&&!d.value?Ct()(r.modifiedData,d.keys.split(".")):d.keys.includes("username")&&!d.value?X()(r.modifiedData,d.keys.split("."),null):X()(r.modifiedData,d.keys.split("."),d.value);break}case"ON_SUBMIT":{r.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{r.initialData=_e()(d.data,p.fieldsToPick),r.modifiedData=_e()(d.data,p.fieldsToPick),r.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{r.formErrors=d.errors,r.showHeaderButtonLoader=!1;break}default:return r}});var Ut=(p,d)=>({...p,fieldsToPick:d}),Zt=(p,d,r,w)=>{const[{formErrors:x,initialData:B,isLoading:V,modifiedData:G,showHeaderButtonLoader:ae,showHeaderLoader:Le},J]=(0,t.useReducer)(Mt,Lt,()=>Ut(Lt,w)),be=(0,u.lm)(),{lockApp:We,unlockApp:at}=(0,u.o1)(),{get:ze,put:vt}=(0,u.kY)();return(0,t.useEffect)(()=>{p&&(async()=>{try{const{data:{data:Me}}=await ze(p);J({type:"GET_DATA_SUCCEEDED",data:Me,fieldsToPick:w})}catch(Me){console.error(Me.response),be({type:"warning",message:{id:"notification.error"}})}})()},[p]),[{formErrors:x,initialData:B,isLoading:V,modifiedData:G,showHeaderButtonLoader:ae,showHeaderLoader:Le},J,{handleCancel:()=>{J({type:"ON_CANCEL"})},handleChange:({target:{name:Ne,value:Me,type:Ke}})=>{J({type:"ON_CHANGE",inputType:Ke,keys:Ne,value:Me})},handleSubmit:async Ne=>{Ne.preventDefault();const Me=await(0,ht.R6)(G,d);if(J({type:"SET_ERRORS",errors:Me||{}}),!Me)try{We(),J({type:"ON_SUBMIT"});const Ke=me()(G,["confirmPassword","registrationToken"]);Ke.roles&&(Ke.roles=Ke.roles.map(yt=>yt.id));const{data:{data:xe}}=await vt(p,Ke);r(xe),J({type:"ON_SUBMIT_SUCCEEDED",data:xe}),be({type:"success",message:{id:"notification.success.saved"}})}catch(Ke){const xe=Ke?.response?.payload??{data:{}};xe?.data&&typeof xe.data=="string"?be({type:"warning",message:xe.data}):be({type:"warning",message:xe.message});const yt=(0,ht.Iz)(xe);J({type:"SET_ERRORS",errors:yt})}finally{at()}},setField:(Ne,Me)=>{J({type:"ON_CHANGE",keys:Ne,value:Me})}}]},Bt=()=>(0,t.useContext)(i.$l);const St=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),Dt=()=>{const{latestStrapiReleaseTag:p,shouldUpdateStrapi:d}=useAppInfo(),r=useNotification();return useEffect(()=>{d&&St&&r({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${p}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[p,d,r]),null};var Wt=null,It=()=>(0,t.useContext)(i.Rj),Et=(p,d,r,w)=>{const[x,B]=(0,t.useState)(!1),V=(0,u.lm)(),{post:G}=(0,u.kY)(),{formatAPIError:ae}=(0,u.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:J}}}=await G(`${p}${d}/regenerate`);B(!1),r(J)}catch(J){B(!1),w?w(J):V({type:"warning",message:ae(J)})}},isLoadingConfirmation:x}}},70166:function(D,m,e){"use strict";e.d(m,{G:function(){return n}});var t=e(24989),i=e(20108);function n(){const{get:E}=(0,t.kY)(),{formatAPIError:C}=(0,t.So)(),u=(0,t.lm)(),P=(0,i.useQueries)(["components","content-types"].map(L=>({queryKey:["content-manager",L],async queryFn(){const{data:{data:v}}=await E(`/content-manager/${L}`);return v},onError(v){u({type:"warning",message:C(v)})}}))),[T,R]=P,I=T.isLoading||R.isLoading,O=(R?.data??[]).filter(L=>L.kind==="collectionType"&&L.isDisplayed),f=(R?.data??[]).filter(L=>L.kind!=="collectionType"&&L.isDisplayed);return{isLoading:I,components:T?.data??[],collectionTypes:O,singleTypes:f}}},47950:function(D,m){"use strict";m.Z=[]},73086:function(D,m){"use strict";m.Z=[]},954:function(D,m,e){"use strict";e.d(m,{sg:function(){return L},bU:function(){return v},ZP:function(){return y}});var t=e(32735),i=e(8471),n=e(60216),E=e.n(n),C=e(72850),u=e(87933),P=e(67879),T=e(34853),R=e(20139),O=()=>{const{changeLocale:k,localeNames:Z}=(0,R.Z)(),{locale:U}=(0,P.Z)();return t.createElement(T.O,{label:Z[U]},Object.keys(Z).map(te=>t.createElement(T.s,{onClick:()=>k(te),key:te},Z[te])))};const f=(0,i.ZP)(C.x)`
|
|
19
|
+
`,C=()=>{const{logos:{auth:u}}=(0,n.um)();return t.createElement(E,{src:u?.custom??u.default,"aria-hidden":!0,alt:""})};m.Z=C},66694:function(D,m,e){"use strict";e.d(m,{ux:function(){return n},_5:function(){return C},$l:function(){return P},Rj:function(){return R}});var t=e(32735),n=(0,t.createContext)({}),C=(0,t.createContext)({}),P=(0,t.createContext)({}),R=(0,t.createContext)({})},78246:function(D,m){"use strict";const e="/admin/".replace(window.location.origin,"");m.Z=e},46339:function(D,m,e){"use strict";e.d(m,{Eo:function(){return n},LK:function(){return i},No:function(){return t},dV:function(){return E}});const t="Admin/CM/pages/ListView/inject-column-in-table",i="Admin/CM/pages/App/mutate-collection-types-links",n="Admin/CM/pages/EditView/mutate-edit-view-layout",E="Admin/CM/pages/App/mutate-single-types-links"},32308:function(D,m,e){"use strict";e.d(m,{um:function(){return E},U_:function(){return f},Dq:function(){return k},H9:function(){return Ve},$_:function(){return Bt},rW:function(){return Et},bF:function(){return Ae},G4:function(){return Zt},Te:function(){return Pe},M1:function(){return It}});var t=e(32735),i=e(66694),E=()=>(0,t.useContext)(i._5),C=e(70166),u=e(69262),P=e(97889);const T={data:{},error:null,isLoading:!0};var I=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA":{r.isLoading=!0,r.data={},r.error=null;break}case"GET_DATA_SUCCEEDED":{r.data=d.data,r.isLoading=!1,r.error=null;break}case"GET_DATA_ERROR":{r.isLoading=!1,r.error=d.error;break}default:return r}}),f=p=>{const[{data:d,error:r,isLoading:w},x]=(0,t.useReducer)(I,T),{get:B}=(0,u.kY)();return(0,t.useEffect)(()=>{(async()=>{try{x({type:"GET_DATA"});const{data:{data:G}}=await B("/admin/permissions",{params:{role:p}});x({type:"GET_DATA_SUCCEEDED",data:G})}catch{}})()},[p,B]),{data:d,error:r,isLoading:w}};const L={role:{},permissions:{},isLoading:!0};var b=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA_SUCCEEDED":{r.role=d.role,r.permissions=d.permissions,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{r.role.name=d.name,r.role.description=d.description;break}default:return r}}),k=p=>{const d=(0,u.lm)(),[r,w]=(0,t.useReducer)(b,L),{get:x}=(0,u.kY)();(0,t.useEffect)(()=>{p?(async G=>{try{const[{data:{data:ae}},{data:{data:Le}}]=await Promise.all([`roles/${G}`,`roles/${G}/permissions`].map(J=>x(`/admin/${J}`)));w({type:"GET_DATA_SUCCEEDED",role:ae,permissions:Le})}catch(ae){console.error(ae),w({type:"GET_DATA_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}})(p):w({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[x,p,d]);const B=(0,t.useCallback)(V=>{w({type:"ON_SUBMIT_SUCCEEDED",...V})},[]);return{...r,onSubmitSucceeded:B}},U=(p,d)=>d.map(({permissions:r})=>(0,u.qX)(p,r)),se=async(p,d)=>{const r=U(p,d),w=await Promise.all(r);return d.filter((B,V)=>w[V])},M=e(99381),h=e.n(M),F=async(p,d,r)=>{const w=U(p,d),x=await Promise.all(w),B=d.filter((ae,Le)=>x[Le]),V=B.findIndex(ae=>ae.to==="/settings");if(V===-1)return[];const G=h()(B);return G[V].notificationsCount=r?1:0,G},oe=e(2287),o=e(36919),Re=e(45112),$=e(83983);const pe={generalSectionLinks:[{icon:oe.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:$.Z.marketplace.main},{icon:o.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:$.Z.marketplace.main},{icon:Re.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0};var Ge=(p=pe,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"SET_SECTION_LINKS":{const{authorizedGeneralSectionLinks:w,authorizedPluginSectionLinks:x}=d.data;r.generalSectionLinks=w,r.pluginsSectionLinks=x;break}case"UNSET_IS_LOADING":{r.isLoading=!1;break}default:return r}}),Ve=()=>{const[p,d]=(0,t.useReducer)(Ge,pe),{allPermissions:r}=(0,u.vn)(),{shouldUpdateStrapi:w}=(0,u.L7)(),{menu:x}=(0,u.j1)(),B=(0,t.useRef)(p.generalSectionLinks),V=(0,t.useRef)(w),G=async(Le=r)=>{const be=await se(Le,x),We=await F(Le,B.current,V.current);d({type:"SET_SECTION_LINKS",data:{authorizedGeneralSectionLinks:We,authorizedPluginSectionLinks:be}}),d({type:"UNSET_IS_LOADING"})},ae=(0,t.useRef)(G);return(0,t.useEffect)(()=>{ae.current(r)},[r,d]),p},et=e(33795),ke=e.n(et),Ye=(p,d)=>({...p,isLoading:d});const Fe={roles:[],isLoading:!0};var nt=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA":{r.isLoading=!0,r.roles=[];break}case"GET_DATA_SUCCEEDED":{r.roles=d.data,r.isLoading=!1;break}case"GET_DATA_ERROR":{r.isLoading=!1;break}default:return r}}),Ae=(p=!0)=>{const d=(0,u.lm)(),[{roles:r,isLoading:w},x]=(0,t.useReducer)(nt,Fe,()=>Ye(Fe,p));(0,t.useEffect)(()=>{p&&B()},[p]);const B=(0,t.useCallback)(async()=>{const V=(0,u.tg)();try{x({type:"GET_DATA"});const{data:{data:G}}=await V.get("/admin/roles");x({type:"GET_DATA_SUCCEEDED",data:G})}catch(G){const ae=ke()(G,["response","payload","message"],"An error occured");x({type:"GET_DATA_ERROR"}),ae!=="Forbidden"&&d({type:"warning",message:ae})}},[d]);return{roles:r,isLoading:w,getData:B}},ne=e(3040),X=e.n(ne);const fe={menu:[],isLoading:!0};var ie=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"CHECK_PERMISSIONS_SUCCEEDED":{d.data.forEach(w=>{w.hasPermission&&X()(r,["menu",...w.path.split("."),"isDisplayed"],w.hasPermission)}),r.menu.forEach((w,x)=>{r.menu[x].links=w.links.filter(B=>B.isDisplayed===!0)}),r.isLoading=!1;break}default:return r}}),Ue=e(9086),me=e.n(Ue),je=e(98978),Ce=e.n(je),ut=p=>Ce()(p,d=>d.id),Je=p=>p.map(d=>{const r=d.links.map(w=>({...w,isDisplayed:!1}));return{...d,links:r}}),H=[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles",isDisplayed:!1,permissions:$.Z.settings.roles.main},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users",isDisplayed:!1,permissions:$.Z.settings.users.main}],ct=[...(()=>window&&window.strapi&&window.strapi.isEE?e(66334).Z:e(47950).Z)(),...H],Ze=[{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:$.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:$.Z.settings["api-tokens"].main},{intlLabel:{id:"Settings.transferTokens.title",defaultMessage:"Transfer Tokens"},to:"/settings/transfer-tokens?sort=name:ASC",id:"transfer-tokens",isDisplayed:!1,permissions:$.Z.settings["transfer-tokens"].main}];const Xe=(()=>window&&window.strapi&&window.strapi.isEE?e(11545).Z:e(73086).Z)();var re=[...Ze,...Xe],_=(p,{settings:d,shouldUpdateStrapi:r})=>{const w=d.global.links,x=ut([...w,...re]).map(G=>({...G,hasNotification:G.id==="000-application-infos"&&r})),B=Object.values(me()(d,"global")),V=[{...d.global,links:x},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:ct},...B];return{...p,menu:Je(V)}},Pe=(p=!1)=>{const{allPermissions:d}=(0,u.vn)(),{shouldUpdateStrapi:r}=(0,u.L7)(),{settings:w}=(0,u.j1)(),[{isLoading:x,menu:B},V]=(0,t.useReducer)(ie,fe,()=>_(fe,{settings:w,shouldUpdateStrapi:r}));return(0,t.useEffect)(()=>{p||(async()=>{const ae=async(We,at)=>({hasPermission:await(0,u.qX)(d,We),path:at}),J=(We=>We.reduce((at,ze,vt)=>{const Pt=ot=>ot.map((Kt,mt)=>ae(ot[mt].permissions,`${vt}.links.${mt}`));return[...at,...Pt(ze.links)]},[]))(B),be=await Promise.all(J);V({type:"CHECK_PERMISSIONS_SUCCEEDED",data:be})})()},[d,p]),{isLoading:x,menu:B}},ht=e(8997),Rt=e(88423),_e=e.n(Rt),At=e(56236),Ct=e.n(At);const Lt={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},Mt=(p,d)=>(0,P.ZP)(p,r=>{switch(d.type){case"GET_DATA_SUCCEEDED":{r.isLoading=!1,r.showHeaderLoader=!1,r.initialData=_e()(d.data,p.fieldsToPick),r.modifiedData=_e()(d.data,p.fieldsToPick);break}case"ON_CANCEL":{r.modifiedData=p.initialData,r.formErrors={};break}case"ON_CHANGE":{d.inputType==="password"&&!d.value?Ct()(r.modifiedData,d.keys.split(".")):d.keys.includes("username")&&!d.value?X()(r.modifiedData,d.keys.split("."),null):X()(r.modifiedData,d.keys.split("."),d.value);break}case"ON_SUBMIT":{r.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{r.initialData=_e()(d.data,p.fieldsToPick),r.modifiedData=_e()(d.data,p.fieldsToPick),r.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{r.formErrors=d.errors,r.showHeaderButtonLoader=!1;break}default:return r}});var Ut=(p,d)=>({...p,fieldsToPick:d}),Zt=(p,d,r,w)=>{const[{formErrors:x,initialData:B,isLoading:V,modifiedData:G,showHeaderButtonLoader:ae,showHeaderLoader:Le},J]=(0,t.useReducer)(Mt,Lt,()=>Ut(Lt,w)),be=(0,u.lm)(),{lockApp:We,unlockApp:at}=(0,u.o1)(),{get:ze,put:vt}=(0,u.kY)();return(0,t.useEffect)(()=>{p&&(async()=>{try{const{data:{data:Me}}=await ze(p);J({type:"GET_DATA_SUCCEEDED",data:Me,fieldsToPick:w})}catch(Me){console.error(Me.response),be({type:"warning",message:{id:"notification.error"}})}})()},[p]),[{formErrors:x,initialData:B,isLoading:V,modifiedData:G,showHeaderButtonLoader:ae,showHeaderLoader:Le},J,{handleCancel:()=>{J({type:"ON_CANCEL"})},handleChange:({target:{name:Ne,value:Me,type:Ke}})=>{J({type:"ON_CHANGE",inputType:Ke,keys:Ne,value:Me})},handleSubmit:async Ne=>{Ne.preventDefault();const Me=await(0,ht.R6)(G,d);if(J({type:"SET_ERRORS",errors:Me||{}}),!Me)try{We(),J({type:"ON_SUBMIT"});const Ke=me()(G,["confirmPassword","registrationToken"]);Ke.roles&&(Ke.roles=Ke.roles.map(yt=>yt.id));const{data:{data:xe}}=await vt(p,Ke);r(xe),J({type:"ON_SUBMIT_SUCCEEDED",data:xe}),be({type:"success",message:{id:"notification.success.saved"}})}catch(Ke){const xe=Ke?.response?.payload??{data:{}};xe?.data&&typeof xe.data=="string"?be({type:"warning",message:xe.data}):be({type:"warning",message:xe.message});const yt=(0,ht.Iz)(xe);J({type:"SET_ERRORS",errors:yt})}finally{at()}},setField:(Ne,Me)=>{J({type:"ON_CHANGE",keys:Ne,value:Me})}}]},Bt=()=>(0,t.useContext)(i.$l);const St=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),Dt=()=>{const{latestStrapiReleaseTag:p,shouldUpdateStrapi:d}=useAppInfo(),r=useNotification();return useEffect(()=>{d&&St&&r({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${p}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[p,d,r]),null};var Wt=null,It=()=>(0,t.useContext)(i.Rj),Et=(p,d,r,w)=>{const[x,B]=(0,t.useState)(!1),V=(0,u.lm)(),{post:G}=(0,u.kY)(),{formatAPIError:ae}=(0,u.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:J}}}=await G(`${p}${d}/regenerate`);B(!1),r(J)}catch(J){B(!1),w?w(J):V({type:"warning",message:ae(J)})}},isLoadingConfirmation:x}}},70166:function(D,m,e){"use strict";e.d(m,{G:function(){return n}});var t=e(69262),i=e(20108);function n(){const{get:E}=(0,t.kY)(),{formatAPIError:C}=(0,t.So)(),u=(0,t.lm)(),P=(0,i.useQueries)(["components","content-types"].map(L=>({queryKey:["content-manager",L],async queryFn(){const{data:{data:v}}=await E(`/content-manager/${L}`);return v},onError(v){u({type:"warning",message:C(v)})}}))),[T,R]=P,I=T.isLoading||R.isLoading,O=(R?.data??[]).filter(L=>L.kind==="collectionType"&&L.isDisplayed),f=(R?.data??[]).filter(L=>L.kind!=="collectionType"&&L.isDisplayed);return{isLoading:I,components:T?.data??[],collectionTypes:O,singleTypes:f}}},47950:function(D,m){"use strict";m.Z=[]},73086:function(D,m){"use strict";m.Z=[]},954:function(D,m,e){"use strict";e.d(m,{sg:function(){return L},bU:function(){return v},ZP:function(){return y}});var t=e(32735),i=e(8471),n=e(60216),E=e.n(n),C=e(72850),u=e(87933),P=e(67879),T=e(34853),R=e(20139),O=()=>{const{changeLocale:k,localeNames:Z}=(0,R.Z)(),{locale:U}=(0,P.Z)();return t.createElement(T.O,{label:Z[U]},Object.keys(Z).map(te=>t.createElement(T.s,{onClick:()=>k(te),key:te},Z[te])))};const f=(0,i.ZP)(C.x)`
|
|
20
20
|
margin: 0 auto;
|
|
21
21
|
width: 552px;
|
|
22
22
|
`,L=(0,i.ZP)(u.k)`
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
fill: ${({theme:E})=>E.colors.neutral600};
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
`;m.Z=n},1115:function(D,m,e){"use strict";var t=e(32735),i=e(
|
|
32
|
+
`;m.Z=n},1115:function(D,m,e){"use strict";var t=e(32735),i=e(69262),n=e(54894),E=e(60492),C=e(10369),u=e(27649),P=e(72850),T=e(49372),R=e(87933),I=e(8284),O=e(41415),f=e(60216),L=e.n(f),v=e(67879),b=e(8471),y=e(92802),k=e(954),Z=e(10190),U=e(72218);const te=(0,b.ZP)(C.o)`
|
|
33
33
|
::-ms-reveal {
|
|
34
34
|
display: none;
|
|
35
35
|
}
|
|
36
|
-
`,se=({onSubmit:M,schema:h,children:Q})=>{const[
|
|
36
|
+
`,se=({onSubmit:M,schema:h,children:Q})=>{const[F,oe]=(0,t.useState)(!1),{formatMessage:o}=(0,v.Z)();return t.createElement(u.o,null,t.createElement(k.bU,null,t.createElement(y.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:M,validationSchema:h,validateOnChange:!1},({values:Re,errors:$,handleChange:pe})=>t.createElement(i.l0,{noValidate:!0},t.createElement(k.sg,null,t.createElement(Z.Z,null),t.createElement(P.x,{paddingTop:6,paddingBottom:1},t.createElement(T.Z,{variant:"alpha",as:"h1"},o({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),t.createElement(P.x,{paddingBottom:7},t.createElement(T.Z,{variant:"epsilon",textColor:"neutral600"},o({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),$.errorMessage&&t.createElement(T.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},$.errorMessage)),t.createElement(R.k,{direction:"column",alignItems:"stretch",gap:6},t.createElement(C.o,{error:$.email?o({id:$.email,defaultMessage:"This value is required."}):"",value:Re.email,onChange:pe,label:o({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:o({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),t.createElement(te,{error:$.password?o({id:$.password,defaultMessage:"This value is required."}):"",onChange:pe,value:Re.password,label:o({id:"global.password",defaultMessage:"Password"}),name:"password",type:F?"text":"password",endAction:t.createElement(U.Z,{onClick:Ie=>{Ie.stopPropagation(),oe(Ge=>!Ge)},label:o(F?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},F?t.createElement(n.Z,null):t.createElement(E.Z,null)),required:!0}),t.createElement(I.X,{onValueChange:Ie=>{pe({target:{value:Ie,name:"rememberMe"}})},value:Re.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},o({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),t.createElement(O.z,{fullWidth:!0,type:"submit"},o({id:"Auth.form.button.login",defaultMessage:"Login"}))))),Q),t.createElement(R.k,{justifyContent:"center"},t.createElement(P.x,{paddingTop:4},t.createElement(i.rU,{to:"/auth/forgot-password"},o({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};se.defaultProps={children:null,onSubmit(){}},se.propTypes={children:L().node,onSubmit:L().func,schema:L().shape({type:L().string.isRequired}).isRequired},m.Z=se},5365:function(D,m,e){"use strict";var t=e(32735),i=e(60216),n=e.n(i),E=e(1115),C=e(954);const u=P=>t.createElement(C.ZP,null,t.createElement(E.Z,{...P}));u.defaultProps={onSubmit:P=>P.preventDefault()},u.propTypes={onSubmit:n().func},m.Z=u},53951:function(D,m,e){"use strict";e.r(m);var t=e(32735),i=e(69262),n=e(27649),E=e(82055),C=e(17e3),u=e(9695),P=e(8482),T=e(25386),R=e(67879);const I=()=>{const{formatMessage:O}=(0,R.Z)();return(0,i.go)(),t.createElement(n.o,{labelledBy:"title"},t.createElement(E.T,{id:"title",title:O({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),t.createElement(C.D,null,t.createElement(u.x,{action:t.createElement(i.Qj,{variant:"secondary",endIcon:t.createElement(P.Z,null),to:"/"},O({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:O({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:t.createElement(T.Z,{width:"10rem"}),shadow:"tableShadow"})))};m.default=I},26123:function(D,m){"use strict";m.Z={}},41832:function(D,m){"use strict";const e=({data:t})=>{try{return Object.keys(t).reduce((i,n)=>{const E=t[n][0];return i[n]={id:E,defaultMessage:E},i},{})}catch{return{}}};m.Z=e},8997:function(D,m,e){"use strict";e.d(m,{R6:function(){return n},ot:function(){return I},Iz:function(){return O.Z},Pp:function(){return U},IF:function(){return Z},Qy:function(){return se},WW:function(){return L}});var t=e(69262),n=async(M,h)=>{let Q=null;try{await h.validate(M,{abortEarly:!1})}catch(F){Q=(0,t.CJ)(F)}return Q},E=e(32735),C=e(60216),u=e.n(C),P=e(53038);const T=({loadComponent:M})=>{const[h,Q]=(0,E.useState)(null);return(0,E.useEffect)(()=>{(async()=>{try{const oe=await M();Q(()=>oe.default)}catch(oe){console.log(oe)}})()},[M]),h?E.createElement(h,null):E.createElement(t.dO,null)},R=(M,h,Q)=>E.createElement(P.AW,{render:()=>E.createElement(T,{loadComponent:M}),key:h,path:h,exact:Q||!1});T.propTypes={loadComponent:u().func.isRequired};var I=R,O=e(41832),L=M=>M.filter((h,Q,F)=>F.findIndex(oe=>oe.key===h.key)===Q),v=e(98978);const b=M=>sortBy(M,h=>h.name);var y=null,Z=M=>`/admin/${M}`,U=(M,h="")=>[M,h].filter(Q=>Q).join(" ");const te={bufferToHex(M){return[...new Uint8Array(M)].map(h=>h.toString(16).padStart(2,"0")).join("")},async digestMessage(M){const h=new TextEncoder().encode(M),Q=await crypto.subtle.digest("SHA-256",h);return this.bufferToHex(Q)}};async function se(M){if(!M)return null;try{return await te.digestMessage(M.email)}catch{return null}}},58414:function(D,m,e){"use strict";e.d(m,{pl:function(){return R},q5:function(){return O.Z}});var t=e(32735),i=e(69262),n=e(8997),E=e(97889);const C={data:[],isLoading:!0};var P=(f,L)=>(0,E.ZP)(f,v=>{switch(L.type){case"GET_DATA_SUCCEEDED":{v.data=L.data,v.isLoading=!1;break}case"GET_DATA_ERROR":{v.isLoading=!1;break}default:return v}}),R=({ssoEnabled:f})=>{const[L,v]=(0,t.useReducer)(P,C),b=(0,i.lm)(),{get:y}=(0,i.kY)();return(0,t.useEffect)(()=>{(async()=>{try{if(!f){v({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:Z}=await y((0,n.IF)("providers"));v({type:"GET_DATA_SUCCEEDED",data:Z})}catch(Z){console.error(Z),v({type:"GET_DATA_ERROR"}),b({type:"warning",message:{id:"notification.error"}})}})()},[y,f,b]),L},I=e(21306),O=e(2690)},21306:function(D,m,e){"use strict";var t=e(32735),i=e(67879),n=e(53038),E=e(69262),C=e(36866),u=e.n(C),P=e(2690);const T="strapi-notification-seat-limit",R="https://cloud.strapi.io/profile/billing",I="https://strapi.io/billing/request-seats",O=()=>{const{formatMessage:f}=(0,i.Z)();let{license:L}=(0,P.Z)();const v=(0,E.lm)(),{pathname:b}=(0,n.TH)();(0,t.useEffect)(()=>{if(!L?.data)return;const{enforcementUserCount:y,permittedSeats:k,licenseLimitStatus:Z,isHostedOnStrapiCloud:U}=L?.data??{},te=!u()(k)&&!window.sessionStorage.getItem(`${T}-${b}`)&&(Z==="AT_LIMIT"||Z==="OVER_LIMIT");let se;Z==="OVER_LIMIT"?se="warning":Z==="AT_LIMIT"&&(se="softWarning"),te&&v({type:se,message:f({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:Z}),title:f({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:Z,enforcementUserCount:y,permittedSeats:k}),link:{url:U?R:I,label:f({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:U})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${T}-${b}`,!0)}})},[v,L.data,b,f])};m.Z=O},2690:function(D,m,e){"use strict";var t=e(69262),i=e(20108),n=e(83983);const E=()=>{const C=(0,t.ss)(n.Z.settings.users),{isLoading:u,allowedActions:{canRead:P,canCreate:T,canUpdate:R,canDelete:I}}=C,O=P&&T&&R&&I,{get:f}=(0,t.kY)(),L=async()=>{const{data:{data:b}}=await f("/admin/license-limit-information");return b};return{license:(0,i.useQuery)(["ee","license-limit-info"],L,{enabled:!u&&O})}};m.Z=E},66334:function(D,m,e){"use strict";var t=e(83983);const i=[];window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)&&i.push({intlLabel:{id:"global.auditLogs",defaultMessage:"Audit Logs"},to:"/settings/audit-logs?pageSize=50&page=1&sort=date:DESC",id:"auditLogs",isDisplayed:!1,permissions:t.Z.settings.auditLogs.main});const n=i;m.Z=n},11545:function(D,m,e){"use strict";var t=e(83983);const i=[];window.strapi.features.isEnabled(window.strapi.features.SSO)&&i.push({intlLabel:{id:"Settings.sso.title",defaultMessage:"Single Sign-On"},to:"/settings/single-sign-on",id:"sso",isDisplayed:!1,permissions:t.Z.settings.sso.main}),window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)&&i.push({intlLabel:{id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"},to:"/settings/review-workflows",id:"review-workflows",isDisplayed:!1,permissions:t.Z.settings["review-workflows"].main}),m.Z=i},68944:function(D,m,e){"use strict";e.d(m,{Z:function(){return O}});var t=e(32735),i=e(53038),n=e(67879),E=e(49189),C=e.n(E),u=e(69262),P=e(8997),R=()=>{const{params:{authResponse:f}}=(0,i.$B)("/auth/login/:authResponse"),{formatMessage:L}=(0,n.Z)(),{push:v}=(0,i.k6)(),b=(0,t.useRef)(L);let y=(0,t.useCallback)(()=>{v(`/auth/oops?info=${encodeURIComponent(b.current({id:"Auth.form.button.login.providers.error",defaultMessage:"We cannot connect you through the selected provider."}))}`)},[v]);const{get:k}=(0,u.kY)(),Z=(0,t.useCallback)(async()=>{try{const U=C().get("jwtToken");if(u.I8.clearAppStorage(),U){u.I8.setToken(U,!0);const te=(0,P.IF)("users/me"),{data:{data:se}}=await k(te);u.I8.setUserInfo(se,!0),C().remove("jwtToken"),v("/auth/login")}}catch{y()}},[k,v,y]);return(0,t.useEffect)(()=>{f==="error"&&y(),f==="success"&&Z()},[f,Z,y]),t.createElement(u.dO,null)},O=[{Component:()=>({default:R}),to:"/auth/login/:authResponse",exact:!0}]},98768:function(D,m,e){"use strict";var t=e(32735),i=e(60216),n=e.n(i),E=e(8471),C=e(9026),u=e(72850),P=e(87933),T=e(49372),R=e(67879),I=e(1115),O=e(58414),f=e(954),L=e(33205);const v=(0,E.ZP)(C.i)`
|
|
37
37
|
flex: 1;
|
|
38
38
|
`,b=y=>{const k=window.strapi.features.isEnabled(window.strapi.features.SSO),{isLoading:Z,data:U}=(0,O.pl)({ssoEnabled:k}),{formatMessage:te}=(0,R.Z)();return!k||!Z&&U.length===0?t.createElement(f.ZP,null,t.createElement(I.Z,{...y})):t.createElement(f.ZP,null,t.createElement(I.Z,{...y},t.createElement(u.x,{paddingTop:7},t.createElement(P.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(P.k,null,t.createElement(v,null),t.createElement(u.x,{paddingLeft:3,paddingRight:3},t.createElement(T.Z,{variant:"sigma",textColor:"neutral600"},te({id:"Auth.login.sso.divider"}))),t.createElement(v,null)),t.createElement(L.Z,{providers:U,displayAllProviders:!1})))))};b.defaultProps={onSubmit:y=>y.preventDefault(),requestError:null},b.propTypes={formErrors:n().object.isRequired,modifiedData:n().object.isRequired,onChange:n().func.isRequired,onSubmit:n().func,requestError:n().object},m.Z=b},33205:function(D,m,e){"use strict";var t=e(32735),i=e(60216),n=e.n(i),E=e(87933),C=e(63919),u=e(49372),P=e(15335),T=e(5803),R=e(8471),I=e(67879),O=e(14911);const f=R.ZP.a`
|
|
39
39
|
width: ${136/16}rem;
|
|
@@ -58,6 +58,6 @@
|
|
|
58
58
|
& a:last-child {
|
|
59
59
|
margin-left: ${({theme:y})=>y.spaces[2]};
|
|
60
60
|
}
|
|
61
|
-
`,v=({provider:y})=>t.createElement(C.u,{label:y.displayName},t.createElement(f,{href:`${window.strapi.backendURL}/admin/connect/${y.uid}`},y.icon?t.createElement("img",{src:y.icon,"aria-hidden":!0,alt:"",height:"32px"}):t.createElement(u.Z,null,y.displayName)));v.propTypes={provider:n().shape({icon:n().string,displayName:n().string.isRequired,uid:n().string.isRequired}).isRequired};const b=({providers:y,displayAllProviders:k})=>{const{formatMessage:Z}=(0,I.Z)();return k?t.createElement(P.r,{gap:4},y.map(U=>t.createElement(T.P,{key:U.uid,col:4},t.createElement(v,{provider:U})))):y.length>2&&!k?t.createElement(P.r,{gap:4},y.slice(0,2).map(U=>t.createElement(T.P,{key:U.uid,col:4},t.createElement(v,{provider:U}))),t.createElement(T.P,{col:4},t.createElement(C.u,{label:Z({id:"global.see-more"})},t.createElement(f,{as:O.rU,to:"/auth/providers"},t.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):t.createElement(L,{justifyContent:"center"},y.map(U=>t.createElement(v,{key:U.uid,provider:U})))};b.defaultProps={displayAllProviders:!0},b.propTypes={providers:n().arrayOf(n().object).isRequired,displayAllProviders:n().bool},m.Z=b},7277:function(D,m,e){"use strict";e.d(m,{Z:function(){return M}});var t=e(32735),i=e(53038),n=e(8471),E=e(
|
|
61
|
+
`,v=({provider:y})=>t.createElement(C.u,{label:y.displayName},t.createElement(f,{href:`${window.strapi.backendURL}/admin/connect/${y.uid}`},y.icon?t.createElement("img",{src:y.icon,"aria-hidden":!0,alt:"",height:"32px"}):t.createElement(u.Z,null,y.displayName)));v.propTypes={provider:n().shape({icon:n().string,displayName:n().string.isRequired,uid:n().string.isRequired}).isRequired};const b=({providers:y,displayAllProviders:k})=>{const{formatMessage:Z}=(0,I.Z)();return k?t.createElement(P.r,{gap:4},y.map(U=>t.createElement(T.P,{key:U.uid,col:4},t.createElement(v,{provider:U})))):y.length>2&&!k?t.createElement(P.r,{gap:4},y.slice(0,2).map(U=>t.createElement(T.P,{key:U.uid,col:4},t.createElement(v,{provider:U}))),t.createElement(T.P,{col:4},t.createElement(C.u,{label:Z({id:"global.see-more"})},t.createElement(f,{as:O.rU,to:"/auth/providers"},t.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):t.createElement(L,{justifyContent:"center"},y.map(U=>t.createElement(v,{key:U.uid,provider:U})))};b.defaultProps={displayAllProviders:!0},b.propTypes={providers:n().arrayOf(n().object).isRequired,displayAllProviders:n().bool},m.Z=b},7277:function(D,m,e){"use strict";e.d(m,{Z:function(){return M}});var t=e(32735),i=e(53038),n=e(8471),E=e(69262),C=e(9026),u=e(27649),P=e(72850),T=e(49372),R=e(87933),I=e(23866),O=e(41415),f=e(67879),L=e(58414),v=e(954),b=e(33205),y=e(10190);const k=(0,n.ZP)(C.i)`
|
|
62
62
|
flex: 1;
|
|
63
|
-
`;var U=()=>{const h=window.strapi.features.isEnabled(window.strapi.features.SSO),{push:Q}=(0,i.k6)(),{formatMessage:
|
|
63
|
+
`;var U=()=>{const h=window.strapi.features.isEnabled(window.strapi.features.SSO),{push:Q}=(0,i.k6)(),{formatMessage:F}=(0,f.Z)(),{isLoading:oe,data:o}=(0,L.pl)({ssoEnabled:h}),Re=()=>{Q("/auth/login")};return!h||!oe&&o.length===0?t.createElement(i.l_,{to:"/auth/login"}):t.createElement(v.ZP,null,t.createElement(u.o,null,t.createElement(v.bU,null,t.createElement(v.sg,null,t.createElement(y.Z,null),t.createElement(P.x,{paddingTop:6,paddingBottom:1},t.createElement(T.Z,{as:"h1",variant:"alpha"},F({id:"Auth.form.welcome.title"}))),t.createElement(P.x,{paddingBottom:7},t.createElement(T.Z,{variant:"epsilon",textColor:"neutral600"},F({id:"Auth.login.sso.subtitle"})))),t.createElement(R.k,{direction:"column",alignItems:"stretch",gap:7},oe?t.createElement(R.k,{justifyContent:"center"},t.createElement(I.a,null,F({id:"Auth.login.sso.loading"}))):t.createElement(b.Z,{providers:o}),t.createElement(R.k,null,t.createElement(k,null),t.createElement(P.x,{paddingLeft:3,paddingRight:3},t.createElement(T.Z,{variant:"sigma",textColor:"neutral600"},F({id:"or"}))),t.createElement(k,null)),t.createElement(O.z,{fullWidth:!0,size:"L",onClick:Re},F({id:"Auth.form.button.login.strapi"})))),t.createElement(R.k,{justifyContent:"center"},t.createElement(P.x,{paddingTop:4},t.createElement(E.rU,{to:"/auth/forgot-password"},t.createElement(T.Z,{variant:"pi"},F({id:"Auth.link.forgot-password"})))))))},te=e(78834),M={...te.Z,providers:{Component:U,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""}}},99568:function(D,m){"use strict";const e={settings:{auditLogs:{main:[{action:"admin::audit-logs.read",subject:null}],read:[{action:"admin::audit-logs.read",subject:null}]},"review-workflows":{main:[{action:"admin::review-workflows.read",subject:null}]},sso:{main:[{action:"admin::provider-login.read",subject:null}],read:[{action:"admin::provider-login.read",subject:null}],update:[{action:"admin::provider-login.update",subject:null}]}}};m.Z=e},48224:function(D,m,e){var t={"./ar.json":[38677,7958],"./ca.json":[90169,3516],"./cs.json":[43186,7519],"./de.json":[8343,6901],"./dk.json":[65668,7898],"./en.json":[10329,320],"./es.json":[45445,8367],"./eu.json":[69511,8360],"./fr.json":[8399,8006],"./gu.json":[10182,2248],"./he.json":[21757,830],"./hi.json":[43206,6332],"./hu.json":[72320,5894],"./id.json":[74221,8897],"./it.json":[90685,6817],"./ja.json":[21727,1312],"./ko.json":[30986,1377],"./ml.json":[11309,9903],"./ms.json":[75973,3025],"./nl.json":[80381,2671],"./no.json":[82446,562],"./pl.json":[84008,7846],"./pt-BR.json":[91417,9647],"./pt.json":[41830,3340],"./ru.json":[57098,123],"./sa.json":[92900,9726],"./sk.json":[52204,606],"./sv.json":[43211,9303],"./th.json":[49582,749],"./tr.json":[99154,395],"./uk.json":[2987,7403],"./vi.json":[50576,3278],"./zh-Hans.json":[35964,2553],"./zh.json":[91999,1011]};function i(n){if(!e.o(t,n))return Promise.resolve().then(function(){var u=new Error("Cannot find module '"+n+"'");throw u.code="MODULE_NOT_FOUND",u});var E=t[n],C=E[0];return e.e(E[1]).then(function(){return e.t(C,19)})}i.keys=function(){return Object.keys(t)},i.id=48224,D.exports=i},47750:function(D,m,e){"use strict";D.exports=e.p+"70674f63fc3904c20de0.svg"}}]);
|
package/build/{admin-edit-roles-page.0d12b741.chunk.js → admin-edit-roles-page.bfe3304d.chunk.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{92034:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{CreatePage:function(){return Ce},default:function(){return Me}});var e=r(32735),v=r(14723),o=r(
|
|
1
|
+
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{92034:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{CreatePage:function(){return Ce},default:function(){return Me}});var e=r(32735),v=r(14723),o=r(69262),T=r(27649),I=r(82055),b=r(87933),P=r(41415),R=r(17e3),x=r(72850),B=r(49372),j=r(15335),F=r(5803),y=r(10369),u=r(33475),N=r(29439),Q=r(92802),z=r(33795),fe=r.n(z),A=r(86834),X=r.n(A),me=r(67879),f=r(53038),q=r(8471),w=r(7247),ee=r(32308),ie=r(83983),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(o.I0.required),description:le.Z_().required(o.I0.required)});const de=q.ZP.div`
|
|
2
2
|
border: 1px solid ${({theme:U})=>U.colors.primary200};
|
|
3
3
|
background: ${({theme:U})=>U.colors.primary100};
|
|
4
4
|
padding: ${({theme:U})=>`${U.spaces[2]} ${U.spaces[4]}`};
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
border-radius: ${({theme:U})=>U.borderRadius};
|
|
7
7
|
font-size: ${12/16}rem;
|
|
8
8
|
font-weight: bold;
|
|
9
|
-
`,Ce=()=>{const U=(0,o.lm)(),{lockApp:re,unlockApp:O}=(0,o.o1)(),{formatMessage:$}=(0,me.Z)(),[_,se]=(0,e.useState)(!1),{replace:ce}=(0,f.k6)(),te=(0,e.useRef)(),{trackUsage:ue}=(0,o.rS)(),Ie=(0,f.$B)("/settings/roles/duplicate/:id"),Re=fe()(Ie,"params.id",null),{isLoading:Ze,data:he}=(0,ee.U_)(),{permissions:Oe,isLoading:$e}=(0,ee.Dq)(Re),{post:Be,put:De}=(0,o.kY)(),Ve=ae=>{re(),se(!0),ue(Re?"willDuplicateRole":"willCreateNewRole"),Promise.resolve(Be("/admin/roles",ae)).then(async({data:V})=>{const{permissionsToSend:K}=te.current.getPermissions();return ue(Re?"didDuplicateRole":"didCreateNewRole"),V.data.id&&!X()(K)&&await De(`/admin/roles/${V.data.id}/permissions`,{permissions:K}),V}).then(V=>{se(!1),U({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ce(`/settings/roles/${V.data.id}`)}).catch(V=>{console.error(V),se(!1),U({type:"warning",message:{id:"notification.error"}})}).finally(()=>{O()})},je=`${$({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,v.Z)(new Date,"PPP")}`;return e.createElement(T.o,null,e.createElement(o.SL,{name:"Roles"}),e.createElement(Q.J9,{initialValues:{name:"",description:je},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleReset:ve,handleChange:Ee})=>e.createElement(o.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(I.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(P.z,{variant:"secondary",onClick:()=>{ve(),te.current.resetForm()},size:"L"},$({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(P.z,{onClick:ae,loading:_,size:"L"},$({id:"global.save",defaultMessage:"Save"}))),title:$({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:$({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(o.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/roles"},$({id:"global.back",defaultMessage:"Back"}))}),e.createElement(R.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(B.Z,{fontWeight:"bold"},$({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(B.Z,{variant:"pi",textColor:"neutral600"},$({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(de,null,$({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(j.r,{gap:4},e.createElement(F.P,{col:6},e.createElement(y.o,{name:"name",error:K.name&&$({id:K.name}),label:$({id:"global.name",defaultMessage:"Name"}),onChange:Ee,value:V.name})),e.createElement(F.P,{col:6},e.createElement(u.g,{label:$({id:"global.description",defaultMessage:"Description"}),id:"description",error:K.description&&$({id:K.description}),onChange:Ee},V.description))))),!Ze&&!$e?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(w.Z,{isFormDisabled:!1,ref:te,permissions:Oe,layout:he})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(o.dO,null))))))))};function Me(){return e.createElement(o.O4,{permissions:ie.Z.settings.roles.create},e.createElement(Ce,null))}},7247:function(Y,Z,r){"use strict";r.d(Z,{Z:function(){return _n}});var e=r(32735),v=r(60216),o=r.n(v),T=r(
|
|
9
|
+
`,Ce=()=>{const U=(0,o.lm)(),{lockApp:re,unlockApp:O}=(0,o.o1)(),{formatMessage:$}=(0,me.Z)(),[_,se]=(0,e.useState)(!1),{replace:ce}=(0,f.k6)(),te=(0,e.useRef)(),{trackUsage:ue}=(0,o.rS)(),Ie=(0,f.$B)("/settings/roles/duplicate/:id"),Re=fe()(Ie,"params.id",null),{isLoading:Ze,data:he}=(0,ee.U_)(),{permissions:Oe,isLoading:$e}=(0,ee.Dq)(Re),{post:Be,put:De}=(0,o.kY)(),Ve=ae=>{re(),se(!0),ue(Re?"willDuplicateRole":"willCreateNewRole"),Promise.resolve(Be("/admin/roles",ae)).then(async({data:V})=>{const{permissionsToSend:K}=te.current.getPermissions();return ue(Re?"didDuplicateRole":"didCreateNewRole"),V.data.id&&!X()(K)&&await De(`/admin/roles/${V.data.id}/permissions`,{permissions:K}),V}).then(V=>{se(!1),U({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ce(`/settings/roles/${V.data.id}`)}).catch(V=>{console.error(V),se(!1),U({type:"warning",message:{id:"notification.error"}})}).finally(()=>{O()})},je=`${$({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,v.Z)(new Date,"PPP")}`;return e.createElement(T.o,null,e.createElement(o.SL,{name:"Roles"}),e.createElement(Q.J9,{initialValues:{name:"",description:je},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleReset:ve,handleChange:Ee})=>e.createElement(o.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(I.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(P.z,{variant:"secondary",onClick:()=>{ve(),te.current.resetForm()},size:"L"},$({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(P.z,{onClick:ae,loading:_,size:"L"},$({id:"global.save",defaultMessage:"Save"}))),title:$({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:$({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(o.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/roles"},$({id:"global.back",defaultMessage:"Back"}))}),e.createElement(R.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(B.Z,{fontWeight:"bold"},$({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(B.Z,{variant:"pi",textColor:"neutral600"},$({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(de,null,$({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(j.r,{gap:4},e.createElement(F.P,{col:6},e.createElement(y.o,{name:"name",error:K.name&&$({id:K.name}),label:$({id:"global.name",defaultMessage:"Name"}),onChange:Ee,value:V.name})),e.createElement(F.P,{col:6},e.createElement(u.g,{label:$({id:"global.description",defaultMessage:"Description"}),id:"description",error:K.description&&$({id:K.description}),onChange:Ee},V.description))))),!Ze&&!$e?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(w.Z,{isFormDisabled:!1,ref:te,permissions:Oe,layout:he})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(o.dO,null))))))))};function Me(){return e.createElement(o.O4,{permissions:ie.Z.settings.roles.create},e.createElement(Ce,null))}},7247:function(Y,Z,r){"use strict";r.d(Z,{Z:function(){return _n}});var e=r(32735),v=r(60216),o=r.n(v),T=r(69262),I=r(91215),b=r(90980),P=r(3653),R=r(23973),x=r.n(R),B=r(86834),j=r.n(B),F=r(67879),y=r(72850),u=r(8471),N=r(98978),Q=r.n(N),z=r(15974),fe=r(96441),A=r(87933),X=r(82884),me=r(33795),f=r.n(me),q=r(9086),w=r.n(q),ee=r(32308),ie=r(45112),le=r(41415);const Se=u.ZP.div`
|
|
10
10
|
position: relative;
|
|
11
11
|
|
|
12
12
|
${({hasConditions:t,disabled:n,theme:a})=>t&&`
|
|
@@ -213,7 +213,7 @@
|
|
|
213
213
|
background: ${n?a.colors.neutral100:a.colors.primary600};
|
|
214
214
|
}
|
|
215
215
|
`}
|
|
216
|
-
`,xt=({categoryName:t,isFormDisabled:n,subCategoryName:a,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:m}=(0,ee.$_)(),{formatMessage:g}=(0,F.Z)(),C=f()(c,i,{}),S=(0,e.useMemo)(()=>Object.keys(C).reduce((k,ne)=>(k[ne]=Ge(C[ne]),k),{}),[C]),{hasAllActionsSelected:W,hasSomeActionsSelected:M}=Pe(S),E=()=>{d(k=>!k)},h=()=>{d(!1)},L=On(s,c,i),D=$n(f()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(y.x,null,e.createElement(A.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(y.x,{paddingRight:4},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},a)),e.createElement(Dn,null),e.createElement(y.x,{paddingLeft:4},e.createElement(bt.X,{name:i.join(".."),disabled:n,onValueChange:k=>{p({target:{name:i.join(".."),value:k}})},indeterminate:M,value:W},g({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(A.k,{paddingTop:6,paddingBottom:6},e.createElement(Sn.r,{gap:2,style:{flex:1}},L.map(({checkboxName:k,value:ne,action:G,displayName:J,hasConditions:H})=>e.createElement(Mn.P,{col:3,key:G},e.createElement(jn,{disabled:n,hasConditions:H},e.createElement(bt.X,{name:k,disabled:n,onValueChange:ge=>{m({target:{name:k,value:ge}})},value:ne},J))))),e.createElement(de,{hasConditions:D,onClick:E}))),l&&e.createElement(V,{headerBreadCrumbs:[t,a],actions:L,isFormDisabled:n,onClosed:h,onToggle:E}))};xt.propTypes={actions:o().array.isRequired,categoryName:o().string.isRequired,isFormDisabled:o().bool.isRequired,subCategoryName:o().string.isRequired,pathToData:o().array.isRequired};var Ln=xt;const qe=({childrenForm:t,kind:n,name:a,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,F.Z)(),m=()=>{d(a)},g=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(Pn.U,{expanded:s,onToggle:m,id:`accordion-${a}`,variant:l?"primary":"secondary"},e.createElement(An.B,{title:ue()(g),description:`${p({id:"Settings.permissions.category"},{category:g})} ${n==="plugins"?"plugin":n}`}),e.createElement(Tn.v,null,e.createElement(y.x,{padding:6},t.map(({actions:C,subCategoryName:S,subCategoryId:W})=>e.createElement(Ln,{key:S,actions:C,categoryName:g,isFormDisabled:i,subCategoryName:S,pathToData:[...c,W]})))))};qe.defaultProps={},qe.propTypes={childrenForm:o().array.isRequired,isOpen:o().bool.isRequired,isFormDisabled:o().bool.isRequired,isWhite:o().bool.isRequired,kind:o().string.isRequired,name:o().string.isRequired,onOpenCategory:o().func.isRequired,pathToData:o().array.isRequired};var kn=qe;const Rt=({isFormDisabled:t,kind:n,layout:a})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(y.x,{padding:6,background:"neutral0"},a.map(({category:d,categoryId:c,childrenForm:p},m)=>e.createElement(kn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:m%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};Rt.propTypes={isFormDisabled:o().bool.isRequired,kind:o().string.isRequired,layout:o().arrayOf(o().shape({category:o().string.isRequired,categoryId:o().string.isRequired,childrenForm:o().arrayOf(o().shape({actions:o().array.isRequired})).isRequired}).isRequired).isRequired};var Pt=Rt,In=r(86349),Zn=r.n(In),Bn=r(3040),pe=r.n(Bn),At=(t,n,a)=>t.find(s=>s.action===n&&s.subject===a);const Tt=(t,n=[])=>t.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),St=({children:t},n,a="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:St(i,n,`${a}${i.value}.`)};const l=n.indexOf(`${a}${i.value}`)!==-1;return s[i.value]=l,s},{}),Fn=(t,n,a)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=f()(a,["properties",l.value],[]),c=St(l,d);s.properties[i]=c}return s},{properties:{}}),Nn=(t,n)=>n.reduce((a,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(a[s]=i),a},{});var Mt=({subjects:t},n,a,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Nn(t,d);if(j()(c))return i;const p=Object.keys(c).reduce((m,g)=>{const{actionId:C,applyToProperties:S}=l,E=c[g].properties.map(({value:k})=>k).every(k=>(S||[]).indexOf(k)===-1),h=At(s,C,g),L=Tt(a,f()(h,"conditions",[]));if(j()(S)||E)return pe()(m,[g,C],{properties:{enabled:h!==void 0},conditions:L}),m;const D=Fn(S,c[g],h);return pe()(m,[g,C],{...D,conditions:L}),m},{});return Zn()(i,p)},{});const Wn=(t,n,a)=>t.reduce((s,i)=>{const l=At(a,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Tt(n,l?.conditions??[])},s},{}),Vn=(t,n,a)=>t.reduce((s,i)=>(s[i.subCategoryId]=Wn(i.actions,n,a),s),{});var Ot=(t,n,a=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Vn(l,n,a);return s[i]=d,s},{});const $t=t=>t.split(" ").join("-");var Dt=(t,n)=>Object.entries(ce()(t,n)).map(([a,s])=>({category:a,categoryId:$t(a),childrenForm:Object.entries(ce()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:$t(i),actions:l}))})),Hn=(t,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:Dt(l,"plugin"),settings:Dt(d,"category")},p={collectionTypes:Mt(s,s.actions||[],a,n),singleTypes:Mt(i,i.actions||[],a,n),plugins:Ot(c.plugins,a,n),settings:Ot(c.settings,a,n)};return{initialData:p,modifiedData:p,layouts:c}},Un=r(99381),_e=r.n(Un);const jt=t=>Object.keys(t).reduce((n,a)=>{const s=t[a];if(xe()(s)&&!x()(s,"conditions"))return{...n,[a]:jt(s)};if(xe()(s)&&x()(s,"conditions")&&!Le(w()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[a]:{...s,conditions:l}}}return n[a]=s,n},{});var et=jt;const Lt=(t,n,a=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!a?(s[i]=l,s):xe()(l)?{...s,[i]:Lt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=Lt;const Kn={initialData:{},modifiedData:{},layouts:{}};var Gn=(t,n)=>(0,_.ZP)(t,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(f()(t,d)).forEach(c=>{const p=f()(t,[...d,c,i],void 0);if(p){let m=He(p,l);if(!l&&m.conditions){const g=He(m.conditions,!1);m={...m,conditions:g}}pe()(a,[...d,c,i],m)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=_e()(t.modifiedData);const p=s.split(".."),m=f()(c,p,{});Object.keys(m).forEach(g=>{if(x()(m[g],`properties.${i}`)){const C=f()(m,[g,"properties",i,l]),S=[...p,g,"properties",i,l];if(!xe()(C))pe()(c,S,d);else{const W=He(C,d);pe()(c,S,W)}}}),d||(c=et(c)),pe()(a,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;pe()(a,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=_e()(t.modifiedData);pe()(s,[...n.keys.split("..")],n.value),n.value||(s=et(s)),pe()(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=_e()(t.modifiedData);const c=f()(d,l,{}),p=He(c,i);pe()(d,l,p),i||(d=et(d)),pe()(a,["modifiedData"],d);break}case"RESET_FORM":{a.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=t.modifiedData;break}default:return a}});const tt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),zn=t=>{const[n,{conditions:a}]=t;return{action:n,subject:null,conditions:tt(a),properties:{}}},Xn=t=>Object.values(t).reduce((n,a)=>{const s=Object.entries(a).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=zn(l);return i.push(c),i},[]);return[...n,...s]},[]);var kt=t=>Object.values(t).reduce((n,a)=>{const s=Xn(a);return[...n,...s]},[]);const It=(t,n="")=>Object.entries(t).reduce((a,s)=>{const[i,l]=s;return xe()(l)?[...a,...It(l,`${n}${i}.`)]:(l&&!xe()(l)&&a.push(`${n}${i}`),a)},[]),wn=(t,n,{conditions:a,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=It(c),i},{action:t,subject:n,conditions:tt(a),properties:{}}),Yn=(t,n,{conditions:a})=>({action:t,subject:n,properties:{},conditions:tt(a)}),Jn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!Le(d).some(m=>m))return s;if(!d?.properties?.enabled){const m=wn(l,t,d);return[...s,m]}if(!d.properties.enabled)return s;const p=Yn(l,t,d);return s.push(p),s},[]);var Zt=t=>Object.entries(t).reduce((a,s)=>{const[i,l]=s,d=Jn(i,l);return[...a,...d]},[]),Qn=t=>{const n=kt(t.plugins),a=kt(t.settings),s=Zt(t.collectionTypes),i=Zt(t.singleTypes);return[...n,...a,...s,...i]},qn=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const nt=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:a},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Gn,Kn,()=>Hn(t,a)),{formatMessage:p}=(0,F.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const M=(0,T.e5)(i.collectionTypes,d.collectionTypes),E=(0,T.e5)(i.singleTypes,d.singleTypes),h={...M,...E};let L;return j()(h)?L=!1:L=Object.values(h).some(D=>Object.values(D).some(k=>x()(k,"conditions"))),{permissionsToSend:Qn(d),didUpdateConditions:L}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const m=(M,E,h,L)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:M,propertyName:E,rowName:h,value:L})},g=(M,E,h)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:M,actionId:E,value:h})},C=M=>{c({type:"ON_CHANGE_CONDITIONS",conditions:M})},S=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:M,value:E})},[]),W=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:M,value:E})},[]);return e.createElement(Rn,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:C,onChangeSimpleCheckbox:S,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:m,onChangeCollectionTypeGlobalActionCheckbox:g}},e.createElement(I.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(b.m,null,qn.map(M=>e.createElement(b.O,{key:M.id},p({id:M.labelId,defaultMessage:M.defaultMessage})))),e.createElement(P.n,{style:{position:"relative"}},e.createElement(P.x,null,e.createElement(vt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(vt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});nt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},nt.propTypes={layout:o().object,isFormDisabled:o().bool.isRequired,permissions:o().array};var _n=(0,e.memo)(nt)},33778:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{default:function(){return U}});var e=r(32735),v=r(24989),o=r(53038),T=r(83983),I=r(27649),b=r(82055),P=r(87933),R=r(41415),x=r(17e3),B=r(72850),j=r(92802),F=r(29439),y=r(33795),u=r.n(y),N=r(67879),Q=r(7247),z=r(49372),fe=r(15335),A=r(5803),X=r(10369),me=r(33475),f=r(60216),q=r.n(f);const w=({disabled:re,role:O,values:$,errors:_,onChange:se,onBlur:ce})=>{const{formatMessage:te}=(0,N.Z)();return e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(P.k,{justifyContent:"space-between"},e.createElement(B.x,null,e.createElement(B.x,null,e.createElement(z.Z,{fontWeight:"bold"},O?O.name:te({id:"global.details",defaultMessage:"Details"}))),e.createElement(B.x,null,e.createElement(z.Z,{textColor:"neutral500",variant:"pi"},O?O.description:te({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(R.z,{disabled:!0,variant:"secondary"},te({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:O.usersCount}))),e.createElement(fe.r,{gap:4},e.createElement(A.P,{col:6},e.createElement(X.o,{disabled:re,name:"name",error:_.name&&te({id:_.name}),label:te({id:"global.name",defaultMessage:"Name"}),onChange:se,onBlur:ce,value:$.name||""})),e.createElement(A.P,{col:6},e.createElement(me.g,{disabled:re,label:te({id:"global.description",defaultMessage:"Description"}),id:"description",error:_.name&&te({id:_.name}),onChange:se,onBlur:ce},$.description||"")))))};w.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},w.propTypes={disabled:q().bool,errors:q().object.isRequired,onBlur:q().func.isRequired,onChange:q().func.isRequired,role:q().object,values:q().object};var ee=w,ie=r(32308),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(v.I0.required)}),Ce=()=>{const re=(0,v.lm)(),{formatMessage:O}=(0,N.Z)(),{params:{id:$}}=(0,o.$B)("/settings/roles/:id"),[_,se]=(0,e.useState)(!1),ce=(0,e.useRef)(),{lockApp:te,unlockApp:ue}=(0,v.o1)(),{trackUsage:Ie}=(0,v.rS)(),{isLoading:Re,data:Ze}=(0,ie.U_)($),{role:he,permissions:Oe,isLoading:$e,onSubmitSucceeded:Be}=(0,ie.Dq)($),{put:De}=(0,v.kY)(),Ve=async ae=>{try{te(),se(!0);const{permissionsToSend:V,didUpdateConditions:K}=ce.current.getPermissions();await De(`/admin/roles/${$}`,ae),he.code!=="strapi-super-admin"&&(await De(`/admin/roles/${$}/permissions`,{permissions:V}),K&&Ie("didUpdateConditions")),ce.current.setFormAfterSubmit(),Be({name:ae.name,description:ae.description}),re({type:"success",message:{id:"notification.success.saved"}})}catch(V){console.error(V.response);const K=u()(V,"response.payload.message","An error occured"),ve=u()(V,"response.payload.data.permissions[0]",K);re({type:"warning",message:ve})}finally{se(!1),ue()}},je=he.code==="strapi-super-admin";return e.createElement(I.o,null,e.createElement(v.SL,{name:"Roles"}),e.createElement(j.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleChange:ve,handleBlur:Ee})=>e.createElement("form",{onSubmit:ae},e.createElement(b.T,{primaryAction:e.createElement(P.k,{gap:2},e.createElement(R.z,{disabled:he.code==="strapi-super-admin",onClick:ae,loading:_,size:"L"},O({id:"global.save",defaultMessage:"Save"}))),title:O({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:O({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(v.rU,{startIcon:e.createElement(F.Z,null),to:"/settings/roles"},O({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ee,{isLoading:$e,disabled:je,errors:K,values:V,onChange:ve,onBlur:Ee,role:he}),!Re&&!$e?e.createElement(B.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Q.Z,{isFormDisabled:je,permissions:Oe,ref:ce,layout:Ze})):e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(v.dO,null)))))))},U=()=>{const re=(0,e.useMemo)(()=>({read:T.Z.settings.roles.read,update:T.Z.settings.roles.update}),[]),{isLoading:O,allowedActions:{canRead:$,canUpdate:_}}=(0,v.ss)(re);return O?e.createElement(v.dO,null):!$&&!_?e.createElement(o.l_,{to:"/"}):e.createElement(Ce,null)}},84802:function(Y){function Z(r,e,v,o){for(var T=-1,I=r==null?0:r.length;++T<I;){var b=r[T];e(o,b,v(b),r)}return o}Y.exports=Z},62435:function(Y,Z,r){var e=r(56671);function v(o,T,I,b){return e(o,function(P,R,x){T(b,P,I(P),x)}),b}Y.exports=v},85580:function(Y,Z,r){var e=r(84802),v=r(62435),o=r(88904),T=r(77236);function I(b,P){return function(R,x){var B=T(R)?e:v,j=P?P():{};return B(R,b,o(x,2),j)}}Y.exports=I},72091:function(Y,Z,r){var e=r(40314),v=1/0;function o(T){var I=T==null?0:T.length;return I?e(T,v):[]}Y.exports=o},81346:function(Y,Z,r){var e=r(40999),v=r(85580),o=Object.prototype,T=o.hasOwnProperty,I=v(function(b,P,R){T.call(b,R)?b[R].push(P):e(b,R,[P])});Y.exports=I},83828:function(Y,Z,r){"use strict";r.d(Z,{U:function(){return F},y:function(){return B}});var e=r(74512),v=r(32735),o=r(8471),T=r(91045),I=r(74971),b=r(49372),P=r(87933),R=r(72850);const x=({theme:y,expanded:u,variant:N,disabled:Q,error:z})=>z?`1px solid ${y.colors.danger600} !important`:Q?`1px solid ${y.colors.neutral150}`:u?`1px solid ${y.colors.primary600}`:N==="primary"?`1px solid ${y.colors.neutral0}`:`1px solid ${y.colors.neutral100}`,B=(0,o.ZP)(b.Z)``,j=(0,o.ZP)(R.x)`
|
|
216
|
+
`,xt=({categoryName:t,isFormDisabled:n,subCategoryName:a,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:m}=(0,ee.$_)(),{formatMessage:g}=(0,F.Z)(),C=f()(c,i,{}),S=(0,e.useMemo)(()=>Object.keys(C).reduce((k,ne)=>(k[ne]=Ge(C[ne]),k),{}),[C]),{hasAllActionsSelected:W,hasSomeActionsSelected:M}=Pe(S),E=()=>{d(k=>!k)},h=()=>{d(!1)},L=On(s,c,i),D=$n(f()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(y.x,null,e.createElement(A.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(y.x,{paddingRight:4},e.createElement(O.Z,{variant:"sigma",textColor:"neutral600"},a)),e.createElement(Dn,null),e.createElement(y.x,{paddingLeft:4},e.createElement(bt.X,{name:i.join(".."),disabled:n,onValueChange:k=>{p({target:{name:i.join(".."),value:k}})},indeterminate:M,value:W},g({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(A.k,{paddingTop:6,paddingBottom:6},e.createElement(Sn.r,{gap:2,style:{flex:1}},L.map(({checkboxName:k,value:ne,action:G,displayName:J,hasConditions:H})=>e.createElement(Mn.P,{col:3,key:G},e.createElement(jn,{disabled:n,hasConditions:H},e.createElement(bt.X,{name:k,disabled:n,onValueChange:ge=>{m({target:{name:k,value:ge}})},value:ne},J))))),e.createElement(de,{hasConditions:D,onClick:E}))),l&&e.createElement(V,{headerBreadCrumbs:[t,a],actions:L,isFormDisabled:n,onClosed:h,onToggle:E}))};xt.propTypes={actions:o().array.isRequired,categoryName:o().string.isRequired,isFormDisabled:o().bool.isRequired,subCategoryName:o().string.isRequired,pathToData:o().array.isRequired};var Ln=xt;const qe=({childrenForm:t,kind:n,name:a,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,F.Z)(),m=()=>{d(a)},g=(0,e.useMemo)(()=>a.split("::").pop(),[a]);return e.createElement(Pn.U,{expanded:s,onToggle:m,id:`accordion-${a}`,variant:l?"primary":"secondary"},e.createElement(An.B,{title:ue()(g),description:`${p({id:"Settings.permissions.category"},{category:g})} ${n==="plugins"?"plugin":n}`}),e.createElement(Tn.v,null,e.createElement(y.x,{padding:6},t.map(({actions:C,subCategoryName:S,subCategoryId:W})=>e.createElement(Ln,{key:S,actions:C,categoryName:g,isFormDisabled:i,subCategoryName:S,pathToData:[...c,W]})))))};qe.defaultProps={},qe.propTypes={childrenForm:o().array.isRequired,isOpen:o().bool.isRequired,isFormDisabled:o().bool.isRequired,isWhite:o().bool.isRequired,kind:o().string.isRequired,name:o().string.isRequired,onOpenCategory:o().func.isRequired,pathToData:o().array.isRequired};var kn=qe;const Rt=({isFormDisabled:t,kind:n,layout:a})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(y.x,{padding:6,background:"neutral0"},a.map(({category:d,categoryId:c,childrenForm:p},m)=>e.createElement(kn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:m%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};Rt.propTypes={isFormDisabled:o().bool.isRequired,kind:o().string.isRequired,layout:o().arrayOf(o().shape({category:o().string.isRequired,categoryId:o().string.isRequired,childrenForm:o().arrayOf(o().shape({actions:o().array.isRequired})).isRequired}).isRequired).isRequired};var Pt=Rt,In=r(86349),Zn=r.n(In),Bn=r(3040),pe=r.n(Bn),At=(t,n,a)=>t.find(s=>s.action===n&&s.subject===a);const Tt=(t,n=[])=>t.reduce((a,s)=>(a[s.id]=n.indexOf(s.id)!==-1,a),{}),St=({children:t},n,a="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:St(i,n,`${a}${i.value}.`)};const l=n.indexOf(`${a}${i.value}`)!==-1;return s[i.value]=l,s},{}),Fn=(t,n,a)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=f()(a,["properties",l.value],[]),c=St(l,d);s.properties[i]=c}return s},{properties:{}}),Nn=(t,n)=>n.reduce((a,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(a[s]=i),a},{});var Mt=({subjects:t},n,a,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Nn(t,d);if(j()(c))return i;const p=Object.keys(c).reduce((m,g)=>{const{actionId:C,applyToProperties:S}=l,E=c[g].properties.map(({value:k})=>k).every(k=>(S||[]).indexOf(k)===-1),h=At(s,C,g),L=Tt(a,f()(h,"conditions",[]));if(j()(S)||E)return pe()(m,[g,C],{properties:{enabled:h!==void 0},conditions:L}),m;const D=Fn(S,c[g],h);return pe()(m,[g,C],{...D,conditions:L}),m},{});return Zn()(i,p)},{});const Wn=(t,n,a)=>t.reduce((s,i)=>{const l=At(a,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Tt(n,l?.conditions??[])},s},{}),Vn=(t,n,a)=>t.reduce((s,i)=>(s[i.subCategoryId]=Wn(i.actions,n,a),s),{});var Ot=(t,n,a=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Vn(l,n,a);return s[i]=d,s},{});const $t=t=>t.split(" ").join("-");var Dt=(t,n)=>Object.entries(ce()(t,n)).map(([a,s])=>({category:a,categoryId:$t(a),childrenForm:Object.entries(ce()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:$t(i),actions:l}))})),Hn=(t,n)=>{const{conditions:a,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:Dt(l,"plugin"),settings:Dt(d,"category")},p={collectionTypes:Mt(s,s.actions||[],a,n),singleTypes:Mt(i,i.actions||[],a,n),plugins:Ot(c.plugins,a,n),settings:Ot(c.settings,a,n)};return{initialData:p,modifiedData:p,layouts:c}},Un=r(99381),_e=r.n(Un);const jt=t=>Object.keys(t).reduce((n,a)=>{const s=t[a];if(xe()(s)&&!x()(s,"conditions"))return{...n,[a]:jt(s)};if(xe()(s)&&x()(s,"conditions")&&!Le(w()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[a]:{...s,conditions:l}}}return n[a]=s,n},{});var et=jt;const Lt=(t,n,a=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!a?(s[i]=l,s):xe()(l)?{...s,[i]:Lt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=Lt;const Kn={initialData:{},modifiedData:{},layouts:{}};var Gn=(t,n)=>(0,_.ZP)(t,a=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(f()(t,d)).forEach(c=>{const p=f()(t,[...d,c,i],void 0);if(p){let m=He(p,l);if(!l&&m.conditions){const g=He(m.conditions,!1);m={...m,conditions:g}}pe()(a,[...d,c,i],m)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=_e()(t.modifiedData);const p=s.split(".."),m=f()(c,p,{});Object.keys(m).forEach(g=>{if(x()(m[g],`properties.${i}`)){const C=f()(m,[g,"properties",i,l]),S=[...p,g,"properties",i,l];if(!xe()(C))pe()(c,S,d);else{const W=He(C,d);pe()(c,S,W)}}}),d||(c=et(c)),pe()(a,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;pe()(a,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=_e()(t.modifiedData);pe()(s,[...n.keys.split("..")],n.value),n.value||(s=et(s)),pe()(a,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=_e()(t.modifiedData);const c=f()(d,l,{}),p=He(c,i);pe()(d,l,p),i||(d=et(d)),pe()(a,["modifiedData"],d);break}case"RESET_FORM":{a.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{a.initialData=t.modifiedData;break}default:return a}});const tt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),zn=t=>{const[n,{conditions:a}]=t;return{action:n,subject:null,conditions:tt(a),properties:{}}},Xn=t=>Object.values(t).reduce((n,a)=>{const s=Object.entries(a).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=zn(l);return i.push(c),i},[]);return[...n,...s]},[]);var kt=t=>Object.values(t).reduce((n,a)=>{const s=Xn(a);return[...n,...s]},[]);const It=(t,n="")=>Object.entries(t).reduce((a,s)=>{const[i,l]=s;return xe()(l)?[...a,...It(l,`${n}${i}.`)]:(l&&!xe()(l)&&a.push(`${n}${i}`),a)},[]),wn=(t,n,{conditions:a,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=It(c),i},{action:t,subject:n,conditions:tt(a),properties:{}}),Yn=(t,n,{conditions:a})=>({action:t,subject:n,properties:{},conditions:tt(a)}),Jn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!Le(d).some(m=>m))return s;if(!d?.properties?.enabled){const m=wn(l,t,d);return[...s,m]}if(!d.properties.enabled)return s;const p=Yn(l,t,d);return s.push(p),s},[]);var Zt=t=>Object.entries(t).reduce((a,s)=>{const[i,l]=s,d=Jn(i,l);return[...a,...d]},[]),Qn=t=>{const n=kt(t.plugins),a=kt(t.settings),s=Zt(t.collectionTypes),i=Zt(t.singleTypes);return[...n,...a,...s,...i]},qn=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const nt=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:a},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Gn,Kn,()=>Hn(t,a)),{formatMessage:p}=(0,F.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const M=(0,T.e5)(i.collectionTypes,d.collectionTypes),E=(0,T.e5)(i.singleTypes,d.singleTypes),h={...M,...E};let L;return j()(h)?L=!1:L=Object.values(h).some(D=>Object.values(D).some(k=>x()(k,"conditions"))),{permissionsToSend:Qn(d),didUpdateConditions:L}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const m=(M,E,h,L)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:M,propertyName:E,rowName:h,value:L})},g=(M,E,h)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:M,actionId:E,value:h})},C=M=>{c({type:"ON_CHANGE_CONDITIONS",conditions:M})},S=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:M,value:E})},[]),W=(0,e.useCallback)(({target:{name:M,value:E}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:M,value:E})},[]);return e.createElement(Rn,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:C,onChangeSimpleCheckbox:S,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:m,onChangeCollectionTypeGlobalActionCheckbox:g}},e.createElement(I.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(b.m,null,qn.map(M=>e.createElement(b.O,{key:M.id},p({id:M.labelId,defaultMessage:M.defaultMessage})))),e.createElement(P.n,{style:{position:"relative"}},e.createElement(P.x,null,e.createElement(vt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(vt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(P.x,null,e.createElement(Pt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});nt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},nt.propTypes={layout:o().object,isFormDisabled:o().bool.isRequired,permissions:o().array};var _n=(0,e.memo)(nt)},33778:function(Y,Z,r){"use strict";r.r(Z),r.d(Z,{default:function(){return U}});var e=r(32735),v=r(69262),o=r(53038),T=r(83983),I=r(27649),b=r(82055),P=r(87933),R=r(41415),x=r(17e3),B=r(72850),j=r(92802),F=r(29439),y=r(33795),u=r.n(y),N=r(67879),Q=r(7247),z=r(49372),fe=r(15335),A=r(5803),X=r(10369),me=r(33475),f=r(60216),q=r.n(f);const w=({disabled:re,role:O,values:$,errors:_,onChange:se,onBlur:ce})=>{const{formatMessage:te}=(0,N.Z)();return e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(P.k,{justifyContent:"space-between"},e.createElement(B.x,null,e.createElement(B.x,null,e.createElement(z.Z,{fontWeight:"bold"},O?O.name:te({id:"global.details",defaultMessage:"Details"}))),e.createElement(B.x,null,e.createElement(z.Z,{textColor:"neutral500",variant:"pi"},O?O.description:te({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(R.z,{disabled:!0,variant:"secondary"},te({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:O.usersCount}))),e.createElement(fe.r,{gap:4},e.createElement(A.P,{col:6},e.createElement(X.o,{disabled:re,name:"name",error:_.name&&te({id:_.name}),label:te({id:"global.name",defaultMessage:"Name"}),onChange:se,onBlur:ce,value:$.name||""})),e.createElement(A.P,{col:6},e.createElement(me.g,{disabled:re,label:te({id:"global.description",defaultMessage:"Description"}),id:"description",error:_.name&&te({id:_.name}),onChange:se,onBlur:ce},$.description||"")))))};w.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},w.propTypes={disabled:q().bool,errors:q().object.isRequired,onBlur:q().func.isRequired,onChange:q().func.isRequired,role:q().object,values:q().object};var ee=w,ie=r(32308),le=r(24346),ye=le.Ry().shape({name:le.Z_().required(v.I0.required)}),Ce=()=>{const re=(0,v.lm)(),{formatMessage:O}=(0,N.Z)(),{params:{id:$}}=(0,o.$B)("/settings/roles/:id"),[_,se]=(0,e.useState)(!1),ce=(0,e.useRef)(),{lockApp:te,unlockApp:ue}=(0,v.o1)(),{trackUsage:Ie}=(0,v.rS)(),{isLoading:Re,data:Ze}=(0,ie.U_)($),{role:he,permissions:Oe,isLoading:$e,onSubmitSucceeded:Be}=(0,ie.Dq)($),{put:De}=(0,v.kY)(),Ve=async ae=>{try{te(),se(!0);const{permissionsToSend:V,didUpdateConditions:K}=ce.current.getPermissions();await De(`/admin/roles/${$}`,ae),he.code!=="strapi-super-admin"&&(await De(`/admin/roles/${$}/permissions`,{permissions:V}),K&&Ie("didUpdateConditions")),ce.current.setFormAfterSubmit(),Be({name:ae.name,description:ae.description}),re({type:"success",message:{id:"notification.success.saved"}})}catch(V){console.error(V.response);const K=u()(V,"response.payload.message","An error occured"),ve=u()(V,"response.payload.data.permissions[0]",K);re({type:"warning",message:ve})}finally{se(!1),ue()}},je=he.code==="strapi-super-admin";return e.createElement(I.o,null,e.createElement(v.SL,{name:"Roles"}),e.createElement(j.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleChange:ve,handleBlur:Ee})=>e.createElement("form",{onSubmit:ae},e.createElement(b.T,{primaryAction:e.createElement(P.k,{gap:2},e.createElement(R.z,{disabled:he.code==="strapi-super-admin",onClick:ae,loading:_,size:"L"},O({id:"global.save",defaultMessage:"Save"}))),title:O({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:O({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(v.rU,{startIcon:e.createElement(F.Z,null),to:"/settings/roles"},O({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(P.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ee,{isLoading:$e,disabled:je,errors:K,values:V,onChange:ve,onBlur:Ee,role:he}),!Re&&!$e?e.createElement(B.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Q.Z,{isFormDisabled:je,permissions:Oe,ref:ce,layout:Ze})):e.createElement(B.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(v.dO,null)))))))},U=()=>{const re=(0,e.useMemo)(()=>({read:T.Z.settings.roles.read,update:T.Z.settings.roles.update}),[]),{isLoading:O,allowedActions:{canRead:$,canUpdate:_}}=(0,v.ss)(re);return O?e.createElement(v.dO,null):!$&&!_?e.createElement(o.l_,{to:"/"}):e.createElement(Ce,null)}},84802:function(Y){function Z(r,e,v,o){for(var T=-1,I=r==null?0:r.length;++T<I;){var b=r[T];e(o,b,v(b),r)}return o}Y.exports=Z},62435:function(Y,Z,r){var e=r(56671);function v(o,T,I,b){return e(o,function(P,R,x){T(b,P,I(P),x)}),b}Y.exports=v},85580:function(Y,Z,r){var e=r(84802),v=r(62435),o=r(88904),T=r(77236);function I(b,P){return function(R,x){var B=T(R)?e:v,j=P?P():{};return B(R,b,o(x,2),j)}}Y.exports=I},72091:function(Y,Z,r){var e=r(40314),v=1/0;function o(T){var I=T==null?0:T.length;return I?e(T,v):[]}Y.exports=o},81346:function(Y,Z,r){var e=r(40999),v=r(85580),o=Object.prototype,T=o.hasOwnProperty,I=v(function(b,P,R){T.call(b,R)?b[R].push(P):e(b,R,[P])});Y.exports=I},83828:function(Y,Z,r){"use strict";r.d(Z,{U:function(){return F},y:function(){return B}});var e=r(74512),v=r(32735),o=r(8471),T=r(91045),I=r(74971),b=r(49372),P=r(87933),R=r(72850);const x=({theme:y,expanded:u,variant:N,disabled:Q,error:z})=>z?`1px solid ${y.colors.danger600} !important`:Q?`1px solid ${y.colors.neutral150}`:u?`1px solid ${y.colors.primary600}`:N==="primary"?`1px solid ${y.colors.neutral0}`:`1px solid ${y.colors.neutral100}`,B=(0,o.ZP)(b.Z)``,j=(0,o.ZP)(R.x)`
|
|
217
217
|
border: ${x};
|
|
218
218
|
|
|
219
219
|
&:hover:not([aria-disabled='true']) {
|