@strapi/admin 4.12.7 → 4.13.0-alpha.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/NpsSurvey/hooks/useNpsSurveySettings.js +17 -0
- package/admin/src/components/NpsSurvey/index.js +365 -0
- package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumns.js +2 -0
- package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -1
- package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +8 -1
- package/admin/src/content-manager/components/Filter/CustomInputs/AdminUsersFilter.js +42 -0
- package/admin/src/content-manager/components/Filter/Filter.js +54 -0
- package/admin/src/content-manager/components/Filter/index.js +1 -0
- package/admin/src/content-manager/components/InputUID/index.js +222 -216
- package/admin/src/content-manager/components/RelationInput/RelationInput.js +4 -0
- package/admin/src/content-manager/components/RepeatableComponent/index.js +32 -2
- package/admin/src/content-manager/components/Wysiwyg/Editor.js +432 -68
- package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +0 -7
- package/admin/src/content-manager/components/Wysiwyg/index.js +147 -152
- package/admin/src/content-manager/hooks/useAllowedAttributes.js +47 -0
- package/admin/src/content-manager/pages/EditView/Information/index.js +9 -8
- package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +40 -7
- package/admin/src/content-manager/pages/ListSettingsView/index.js +6 -2
- package/admin/src/content-manager/pages/ListView/components/FieldPicker/index.js +67 -69
- package/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu/index.js +80 -0
- package/admin/src/content-manager/pages/ListView/index.js +236 -67
- package/admin/src/content-manager/utils/getDisplayName.js +33 -0
- package/admin/src/content-manager/utils/index.js +1 -0
- package/admin/src/pages/Admin/index.js +3 -1
- package/admin/src/pages/AuthPage/components/Register/index.js +5 -0
- package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +3 -3
- package/admin/src/pages/SettingsPage/index.js +16 -26
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +69 -35
- package/admin/src/plugins.js +7 -8
- package/admin/src/translations/en.json +10 -1
- package/build/{1049.f76cb14b.chunk.js → 1049.ec69f5e0.chunk.js} +1 -1
- package/build/1227.9f37e1dc.chunk.js +1 -0
- package/build/{1386.879bcd90.chunk.js → 1386.ea73b677.chunk.js} +1 -1
- package/build/1504.eff012f7.chunk.js +95 -0
- package/build/{2225.c6244756.chunk.js → 2225.649fb7bc.chunk.js} +11 -11
- package/build/2237.b832ae6e.chunk.js +114 -0
- package/build/2379.1f98a31a.chunk.js +1 -0
- package/build/2395.0e5e8ded.chunk.js +26 -0
- package/build/2801.8e1aa82a.chunk.js +1 -0
- package/build/{3483.03c24f96.chunk.js → 3483.19381b40.chunk.js} +1 -1
- package/build/4174.f1f39e40.chunk.js +1 -0
- package/build/4546.a5946d22.chunk.js +1 -0
- package/build/4724.aea5c8c1.chunk.js +6 -0
- package/build/502.7bba43b1.chunk.js +1 -0
- package/build/6158.c3c13c20.chunk.js +1 -0
- package/build/7464.eb057bec.chunk.js +1 -0
- package/build/78.dcc6df5c.chunk.js +1 -0
- package/build/8276.be3ed581.chunk.js +26 -0
- package/build/{Admin-authenticatedApp.31497f74.chunk.js → Admin-authenticatedApp.43b6ec9a.chunk.js} +2 -2
- package/build/{Admin_InternalErrorPage.f45f2462.chunk.js → Admin_InternalErrorPage.38155af3.chunk.js} +1 -1
- package/build/{Admin_homePage.ac9dfb86.chunk.js → Admin_homePage.6f128523.chunk.js} +1 -1
- package/build/{Admin_marketplace.c94239f6.chunk.js → Admin_marketplace.061a6e5a.chunk.js} +1 -1
- package/build/{Admin_pluginsPage.bbe79434.chunk.js → Admin_pluginsPage.16f837b8.chunk.js} +1 -1
- package/build/{Admin_profilePage.192edc52.chunk.js → Admin_profilePage.678bce24.chunk.js} +2 -2
- package/build/Admin_settingsPage.af7309e4.chunk.js +111 -0
- package/build/{Upload_ConfigureTheView.345ac1e0.chunk.js → Upload_ConfigureTheView.3fc1c100.chunk.js} +1 -1
- package/build/admin-app.d63bd229.chunk.js +36 -0
- package/build/{admin-edit-roles-page.6d567273.chunk.js → admin-edit-roles-page.38a6c863.chunk.js} +3 -3
- package/build/{admin-edit-users.acfd4128.chunk.js → admin-edit-users.545fc882.chunk.js} +2 -2
- package/build/{admin-roles-list.23ddff26.chunk.js → admin-roles-list.1e2e814d.chunk.js} +1 -1
- package/build/{admin-users.00e20017.chunk.js → admin-users.b8ea5677.chunk.js} +2 -2
- package/build/{api-tokens-create-page.46c2ea84.chunk.js → api-tokens-create-page.e0c15627.chunk.js} +1 -1
- package/build/{api-tokens-edit-page.58139df9.chunk.js → api-tokens-edit-page.9f2dce47.chunk.js} +1 -1
- package/build/{api-tokens-list-page.0af7d431.chunk.js → api-tokens-list-page.d747051c.chunk.js} +2 -2
- package/build/{audit-logs-settings-page.0f73ccf8.chunk.js → audit-logs-settings-page.96f9d608.chunk.js} +1 -1
- package/build/content-manager.ccff1078.chunk.js +1097 -0
- package/build/{content-type-builder-list-view.bf9be456.chunk.js → content-type-builder-list-view.b71cf240.chunk.js} +1 -1
- package/build/{content-type-builder.cd999f6e.chunk.js → content-type-builder.e5669749.chunk.js} +2 -2
- package/build/email-settings-page.2809f0bf.chunk.js +11 -0
- package/build/en-json.e12fd5fc.chunk.js +1 -0
- package/build/{i18n-settings-page.47f78016.chunk.js → i18n-settings-page.5f716172.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/main.c6c9e04c.js +2859 -0
- package/build/review-workflows-settings-create-view.4a156a19.chunk.js +1 -0
- package/build/review-workflows-settings-edit-view.ce984d1f.chunk.js +1 -0
- package/build/review-workflows-settings-list-view.419b8deb.chunk.js +56 -0
- package/build/{runtime~main.d515c521.js → runtime~main.dcf1cb45.js} +2 -2
- package/build/{sso-settings-page.12b6d8ae.chunk.js → sso-settings-page.45153df5.chunk.js} +1 -1
- package/build/{transfer-tokens-create-page.1597e6ab.chunk.js → transfer-tokens-create-page.ebba16d8.chunk.js} +1 -1
- package/build/{transfer-tokens-edit-page.8741529f.chunk.js → transfer-tokens-edit-page.d7bb2b3e.chunk.js} +1 -1
- package/build/{transfer-tokens-list-page.d6986b03.chunk.js → transfer-tokens-list-page.cfe1736c.chunk.js} +2 -2
- package/build/{upload-settings.7f93d4c0.chunk.js → upload-settings.cc5ad813.chunk.js} +1 -1
- package/build/{upload.37488080.chunk.js → upload.756efc28.chunk.js} +1 -1
- package/build/users-advanced-settings-page.818d84eb.chunk.js +9 -0
- package/build/users-email-settings-page.c1967c09.chunk.js +9 -0
- package/build/users-providers-settings-page.11893e08.chunk.js +14 -0
- package/build/users-roles-settings-page.2b051e6a.chunk.js +55 -0
- package/build/{webhook-edit-page.6cb479ff.chunk.js → webhook-edit-page.de45c635.chunk.js} +2 -2
- package/build/{webhook-list-page.65e1b5bb.chunk.js → webhook-list-page.ca91df8b.chunk.js} +1 -1
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/AssigneeFilter.js +42 -0
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/StageFilter.js +70 -0
- package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/constants.js +71 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +9 -217
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js +147 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/index.js +1 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +243 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/index.js +1 -0
- package/ee/admin/content-manager/pages/EditView/InformationBox/constants.js +2 -0
- package/ee/admin/content-manager/pages/ListSettingsView/constants.js +7 -0
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsAssigneeEE.js +21 -0
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +44 -17
- package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +1 -0
- package/ee/admin/hooks/useAuthProviders.js +25 -0
- package/ee/admin/hooks/{useLicenseLimitNotification/index.js → useLicenseLimitNotification.js} +2 -4
- package/ee/admin/hooks/{useLicenseLimits/useLicenseLimits.js → useLicenseLimits.js} +4 -1
- package/ee/admin/pages/AuthPage/components/Login/index.js +8 -4
- package/ee/admin/pages/AuthPage/components/Providers/index.js +8 -5
- package/ee/admin/pages/HomePage/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +1 -1
- package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
- package/ee/server/constants/workflows.js +1 -0
- package/ee/server/controllers/index.js +1 -0
- package/ee/server/controllers/workflows/assignees/index.js +44 -0
- package/ee/server/routes/review-workflows.js +17 -0
- package/ee/server/services/index.js +1 -0
- package/ee/server/services/review-workflows/assignees.js +54 -0
- package/ee/server/services/review-workflows/metrics/index.js +5 -0
- package/ee/server/services/review-workflows/review-workflows.js +20 -11
- package/ee/server/validation/review-workflows.js +8 -0
- package/index.js +2 -6
- package/package.json +9 -9
- package/scripts/build.js +15 -15
- package/scripts/create-dev-plugins-file.js +5 -38
- package/server/controllers/role.js +2 -0
- package/server/controllers/user.js +2 -0
- package/server/services/permission/permissions-manager/index.js +3 -1
- package/server/services/permission/permissions-manager/sanitize.js +19 -7
- package/server/services/permission/permissions-manager/validate.js +218 -0
- package/utils/create-cache-dir.js +62 -16
- package/utils/create-plugins-exclude-path.js +3 -23
- package/utils/get-plugins.js +110 -0
- package/utils/index.js +1 -1
- package/webpack.config.js +10 -13
- package/admin/src/content-manager/components/AttributeFilter/Filters.js +0 -58
- package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +0 -42
- package/admin/src/content-manager/components/AttributeFilter/index.js +0 -40
- package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +0 -344
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +0 -23
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +0 -17
- package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +0 -11
- package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +0 -5
- package/admin/src/pages/SettingsPage/utils/index.js +0 -2
- package/build/2379.f1641312.chunk.js +0 -1
- package/build/2395.46f8d0c1.chunk.js +0 -26
- package/build/2801.5cef5ec8.chunk.js +0 -1
- package/build/3929.5632f24d.chunk.js +0 -114
- package/build/3984.dda474f7.chunk.js +0 -1
- package/build/4546.7a3c0d03.chunk.js +0 -1
- package/build/502.8ae8ef60.chunk.js +0 -1
- package/build/5483.6dd2e776.chunk.js +0 -6
- package/build/5542.2415a393.chunk.js +0 -63
- package/build/6158.c974fd83.chunk.js +0 -1
- package/build/7464.3e64a1d5.chunk.js +0 -1
- package/build/8276.10a3f883.chunk.js +0 -26
- package/build/Admin_settingsPage.97cb9d41.chunk.js +0 -111
- package/build/admin-app.91898385.chunk.js +0 -36
- package/build/content-manager.b40f79c0.chunk.js +0 -1099
- package/build/email-settings-page.d494d1eb.chunk.js +0 -11
- package/build/en-json.08c05fcf.chunk.js +0 -1
- package/build/main.9dbe4579.js +0 -2859
- package/build/review-workflows-settings-create-view.cb08cfa2.chunk.js +0 -1
- package/build/review-workflows-settings-edit-view.3c7cbe63.chunk.js +0 -1
- package/build/review-workflows-settings-list-view.1611dc1f.chunk.js +0 -56
- package/build/users-advanced-settings-page.f0760eb8.chunk.js +0 -9
- package/build/users-email-settings-page.ff4b32f3.chunk.js +0 -9
- package/build/users-providers-settings-page.48de0306.chunk.js +0 -14
- package/build/users-roles-settings-page.9d9a1eff.chunk.js +0 -30
- package/ee/admin/hooks/index.js +0 -4
- package/ee/admin/hooks/useAuthProviders/index.js +0 -50
- package/ee/admin/hooks/useAuthProviders/reducer.js +0 -26
- package/ee/admin/hooks/useLicenseLimits/index.js +0 -1
- package/scripts/create-plugins-file.js +0 -92
- package/utils/get-plugins-path.js +0 -41
- /package/ee/admin/hooks/{useLicenseLimits/__mocks__/index.js → __mocks__/useLicenseLimits.js} +0 -0
- /package/server/services/permission/permissions-manager/{query-builers.js → query-builders.js} +0 -0
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{58917:function(Z,v,t){"use strict";t.r(v),t.d(v,{default:function(){return Ls}});var e=t(32735),p=t(12301),P=t(65810),h=t(56784),u=t.n(h),f=t(93839),V=t.n(f),$=t(86349),b=t.n($),ee=t(88423),U=t.n(ee),de=t(74758),N=t(14911),W=t(47750),be="strapi-admin-language",i=t(19565),Ie=t(60216),a=t.n(Ie),S=t(20108),R=t(15062),H=t(76402),Ee=t(97889);const Ce={menuLogo:null,authLogo:null};var Ye=(o=Ce,s)=>(0,Ee.ZP)(o,n=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(n,s.values);break}default:return n}});const re=({children:o,authLogo:s,menuLogo:n,showReleaseNotification:r,showTutorials:l})=>{const[{menuLogo:d,authLogo:c},m]=(0,e.useReducer)(Ye,Ce),M=(0,e.useCallback)(({menuLogo:k,authLogo:T})=>m({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:k||n,authLogo:T||s}}),[s,n]),A=(0,e.useMemo)(()=>({logos:{menu:{custom:d,default:n},auth:{custom:c,default:s}},updateProjectSettings:M,showReleaseNotification:r,showTutorials:l}),[d,n,c,s,M,r,l]);return e.createElement(H._5.Provider,{value:A},o)};re.propTypes={authLogo:a().string.isRequired,children:a().element.isRequired,menuLogo:a().string.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired};var Fe=re,Me=t(33795),Ae=t.n(Me),Oe=t(3040),we=t.n(Oe);const Xe="GUIDED_TOUR_CURRENT_STEP",Ke="GUIDED_TOUR_COMPLETED_STEPS",_e="GUIDED_TOUR_SKIPPED",je=JSON.parse,qe=JSON.stringify;var Re={clear(){localStorage.removeItem(Xe),localStorage.removeItem(Ke)},addCompletedStep(o){const s=je(localStorage.getItem(Ke))?.slice()||[];s.includes(o)||(s.push(o),localStorage.setItem(Ke,qe(s)))},addCurrentStep(o){localStorage.setItem(Xe,qe(o))},setSkipped(o){localStorage.setItem(_e,qe(o))},get(o){return je(localStorage.getItem(o))}},et=o=>{const s={...o},n=Re.get(Ke),r=Re.get(Xe),l=Re.get(_e);if(n&&n.forEach(d=>{const[c,m]=d.split(".");we()(s,["guidedTourState",c,m],!0)}),r){const[d,c]=r.split(".");we()(s,["guidedTourState",d,c],!0),Re.addCompletedStep(r),Re.addCurrentStep(null)}return l!==null&&we()(s,"isSkipped",l),s};const tt={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var mt=(o=tt,s)=>(0,Ee.ZP)(o,n=>{switch(s.type){case"SET_CURRENT_STEP":{n.currentStep=s.step;break}case"SET_STEP_STATE":{const[r,l]=s.currentStep.split(".");n.guidedTourState[r][l]=s.value;break}case"SET_SKIPPED":{n.isSkipped=s.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{n.isGuidedTourVisible=s.value;break}default:return n}}),gt=(o,s)=>{const n=Object.entries(s),r=n.findIndex(([d])=>d===o);return n.slice(0,r).every(([,d])=>Object.values(d).every(Boolean))},pt=(o,s)=>{const n=o.split("."),r=n[1],l=Object.entries(s[n[0]]),d=l.findIndex(([m])=>m===r);return l.slice(0,d).every(([,m])=>m)};const st=({children:o})=>{const[{currentStep:s,guidedTourState:n,isGuidedTourVisible:r,isSkipped:l},d]=(0,e.useReducer)(mt,tt,et),c=T=>{if(T!==null){const Y=Ae()(n,T),X=pt(T,n);if(Y||l||!X)return null}return Re.addCurrentStep(T),d({type:"SET_CURRENT_STEP",step:T})},m=T=>{d({type:"SET_GUIDED_TOUR_VISIBILITY",value:T})},M=(T,Y)=>{Re.addCompletedStep(T),d({type:"SET_STEP_STATE",currentStep:T,value:Y})},A=T=>{const Y=n[T];if(Y){const X=gt(T,n),x=Object.keys(Y)[0],le=Y[x];if(X&&!s&&!le)return c(`${T}.${x}`)}return null},k=T=>{Re.setSkipped(T),d({type:"SET_SKIPPED",value:T})};return e.createElement(i.Zc,{guidedTourState:n,currentStep:s,setCurrentStep:c,setGuidedTourVisibility:m,setSkipped:k,setStepState:M,startSection:A,isGuidedTourVisible:r,isSkipped:l},o)};st.propTypes={children:a().element.isRequired};var ft=st,bt=t(58732),ht=t.n(bt),It=t(78023),Et=t(33229);const vt=({changeLocale:o,children:s,localeNames:n})=>e.createElement(Et.Z.Provider,{value:{changeLocale:o,localeNames:n}},s);vt.propTypes={changeLocale:a().func.isRequired,children:a().element.isRequired,localeNames:a().object.isRequired};var yt=vt,g=o=>{const s=window.localStorage.getItem(be);return{locale:o[s]?s:"en",localeNames:o}};const E={localeNames:{en:"English"},locale:"en"};var ce=(o=E,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:n}=s;return o.localeNames[n]?{...o,locale:n}:o}default:return o}};const K=({children:o,localeNames:s,messages:n})=>{const[{locale:r},l]=(0,e.useReducer)(ce,E,()=>g(s));(0,e.useEffect)(()=>{window.localStorage.setItem(be,r),document.documentElement.setAttribute("lang",r)},[r]);const d=m=>{l({type:"CHANGE_LOCALE",locale:m})},c=ht()(n[r],n.en);return e.createElement(It.Z,{locale:r,defaultLocale:"en",messages:c,textComponent:"span"},e.createElement(yt,{changeLocale:d,localeNames:s},o))};K.propTypes={children:a().element.isRequired,localeNames:a().objectOf(a().string).isRequired,messages:a().object.isRequired};var ne=K,ie=t(24854),B=t(67879),me=t(79652),I=t(8471),De=(0,I.vJ)`
|
|
2
|
-
body {
|
|
3
|
-
background: ${({theme:o})=>o.colors.neutral100};
|
|
4
|
-
}
|
|
5
|
-
`;const ze=({children:o})=>{const{currentTheme:s,themes:n}=(0,me.M1)(),{locale:r}=(0,B.Z)();return e.createElement(ie.h,{locale:r,theme:n[s]||n.light},o,e.createElement(De,null))};ze.propTypes={children:a().element.isRequired};var Ge=ze;const ke="STRAPI_THEME",nt=()=>{const o=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(ke);return s||localStorage.setItem(ke,o),s||o},Ue=({children:o,themes:s})=>{const[n,r]=(0,e.useState)(nt()),l=(0,e.useCallback)(c=>{r(c),localStorage.setItem(ke,c)},[r]),d=(0,e.useMemo)(()=>({currentTheme:n,onChangeTheme:l,themes:s}),[n,l,s]);return e.createElement(H.Rj.Provider,{value:d},o)};Ue.propTypes={children:a().node.isRequired,themes:a().shape({light:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,dark:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,custom:a().object}).isRequired};var xe=Ue;const Ve=new S.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),ge=({authLogo:o,children:s,components:n,customFields:r,fields:l,getAdminInjectedComponents:d,getPlugin:c,localeNames:m,menu:M,menuLogo:A,messages:k,plugins:T,runHookParallel:Y,runHookSeries:X,runHookWaterfall:x,settings:le,showReleaseNotification:C,showTutorials:Ne,store:We,themes:z})=>e.createElement(ne,{messages:k,localeNames:m},e.createElement(xe,{themes:z},e.createElement(Ge,null,e.createElement(S.QueryClientProvider,{client:Ve},e.createElement(R.zt,{store:We},e.createElement(H.ux.Provider,{value:{getAdminInjectedComponents:d}},e.createElement(Fe,{authLogo:o,menuLogo:A,showReleaseNotification:C,showTutorials:Ne},e.createElement(i._Y,{getPlugin:c,menu:M,plugins:T,runHookParallel:Y,runHookWaterfall:x,runHookSeries:X,settings:le},e.createElement(i.rt,{components:n,fields:l},e.createElement(i.MG,{customFields:r},e.createElement(i.m$,null,e.createElement(i.w7,null,e.createElement(ft,null,e.createElement(i.N$,null,s))))))))))))));ge.propTypes={authLogo:a().oneOfType([a().string,a().any]).isRequired,children:a().element.isRequired,components:a().object.isRequired,customFields:a().object.isRequired,fields:a().object.isRequired,getAdminInjectedComponents:a().func.isRequired,getPlugin:a().func.isRequired,localeNames:a().objectOf(a().string).isRequired,menu:a().arrayOf(a().shape({to:a().string.isRequired,icon:a().func.isRequired,intlLabel:a().shape({id:a().string.isRequired,defaultMessage:a().string.isRequired}).isRequired,permissions:a().array,Component:a().func})).isRequired,menuLogo:a().oneOfType([a().string,a().any]).isRequired,messages:a().object.isRequired,plugins:a().object.isRequired,runHookParallel:a().func.isRequired,runHookWaterfall:a().func.isRequired,runHookSeries:a().func.isRequired,settings:a().object.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired,store:a().object.isRequired,themes:a().shape({light:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,dark:a().shape({colors:a().object.isRequired,shadows:a().object.isRequired,sizes:a().object.isRequired,zIndices:a().array.isRequired,spaces:a().array.isRequired,borderRadius:a().string.isRequired,mediaQueries:a().object.isRequired,fontSizes:a().array.isRequired,lineHeights:a().array.isRequired,fontWeights:a().object.isRequired}).isRequired,custom:a().object}).isRequired};var ae=ge,J=t(59883),Q=t(6680);const Ze=(o,s)=>{let n=Q.compose;const r=[];o.forEach(d=>{r.push(d())});const l=(0,Q.createStore)(Dt(s,{}),{},n((0,Q.applyMiddleware)(...r)));return l.asyncReducers={},l.injectReducer=(d,c)=>{l.asyncReducers[d]=c,l.replaceReducer(Dt(s,l.asyncReducers))},l},Dt=(o,s)=>(0,Q.combineReducers)({...o,...s});var Vt=Ze,$t=t(35231),Jt=()=>{const o=[];return{register(s){o.push(s)},delete(s){o.splice(o.indexOf(s),1)},runWaterfall(s,n){return o.reduce((r,l)=>l(r,n),s)},async runWaterfallAsync(s,n){let r=s;for(const l of o)r=await l(r,n);return r},runSeries(...s){return o.map(n=>n(...s))},async runSeriesAsync(...s){const n=[];for(const r of o)n.push(await r(...s));return n},runParallel(...s){return Promise.all(o.map(n=>n(...s)))}}},at=t(66941),Qt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=",Yt={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},Xt=t(10728),ve=t(53038);const kt=({component:o,path:s,...n})=>{const{pathname:r,search:l}=(0,ve.TH)();return e.createElement(ve.AW,{path:s,render:d=>i.I8.getToken()!==null?e.createElement(o,{...n,...d}):e.createElement(ve.l_,{to:{pathname:"/auth/login",search:r!=="/"&&`?redirectTo=${encodeURIComponent(`${r}${l}`)}`}})})};kt.propTypes={component:a().any.isRequired,path:a().string.isRequired};var Ot=(0,e.memo)(kt);const wt={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}]}}};var ot=t(9592),jt=t(24388),qt=t(84306),_t=t(39935),es=t.n(_t),ts=t(9086),rt=t.n(ts),ss=t(51399),ns=t(5074),se=t(11060),as=t(24436);const Pt=o=>e.createElement(se.ZP,null,e.createElement(as.Z,{...o}));Pt.defaultProps={onSubmit:o=>o.preventDefault()},Pt.propTypes={onSubmit:a().func};var D=t(24346),$e=t(27649),pe=t(72850),fe=t(49372),ye=t(87933),Be=t(10369),it=t(41415),Tt=t(92802),Je=t(73678);const St=({onSubmit:o,schema:s})=>{const{formatMessage:n}=(0,B.Z)();return e.createElement(se.ZP,null,e.createElement($e.o,null,e.createElement(se.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:r,errors:l,handleChange:d})=>e.createElement(i.l0,{noValidate:!0},e.createElement(se.sg,null,e.createElement(Je.Z,null),e.createElement(pe.x,{paddingTop:6,paddingBottom:7},e.createElement(fe.Z,{as:"h1",variant:"alpha"},n({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),l.errorMessage&&e.createElement(fe.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},n({id:l.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(ye.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Be.o,{error:l.email?n({id:l.email,defaultMessage:"This email is invalid."}):"",value:r.email,onChange:d,label:n({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:n({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(it.z,{type:"submit",fullWidth:!0},n({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),e.createElement(ye.k,{justifyContent:"center"},e.createElement(pe.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},n({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};St.defaultProps={onSubmit:o=>o.preventDefault()},St.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var os=St,rs=()=>{const{formatMessage:o}=(0,B.Z)();return e.createElement(se.ZP,null,e.createElement($e.o,null,e.createElement(se.bU,null,e.createElement(se.sg,null,e.createElement(Je.Z,null),e.createElement(pe.x,{paddingTop:6,paddingBottom:7},e.createElement(fe.Z,{as:"h1",variant:"alpha"},o({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),e.createElement(fe.Z,null,o({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.email",defaultMessage:"It can take a few minutes to receive your password recovery link."})),e.createElement(pe.x,{paddingTop:4},e.createElement(fe.Z,null,o({id:"app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin",defaultMessage:"If you do not receive this link, please contact your administrator."}))))),e.createElement(ye.k,{justifyContent:"center"},e.createElement(pe.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},is=()=>{const{formatMessage:o}=(0,B.Z)(),n=(0,i.aM)().get("info")||o({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return e.createElement(se.ZP,null,e.createElement($e.o,null,e.createElement(se.bU,null,e.createElement(se.sg,null,e.createElement(Je.Z,null),e.createElement(pe.x,{paddingTop:6,paddingBottom:7},e.createElement(fe.Z,{as:"h1",variant:"alpha"},o({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),e.createElement(fe.Z,null,n),e.createElement(pe.x,{paddingTop:4},e.createElement(fe.Z,null,o({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),e.createElement(ye.k,{justifyContent:"center"},e.createElement(pe.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},ls=t(15335),Ut=t(5803),us=t(8284),lt=t(54894),ut=t(60492),ct=t(24018);const xt=I.ZP.a`
|
|
6
|
-
color: ${({theme:o})=>o.colors.primary600};
|
|
7
|
-
`,Zt=(0,I.ZP)(Be.o)`
|
|
8
|
-
::-ms-reveal {
|
|
9
|
-
display: none;
|
|
10
|
-
}
|
|
11
|
-
`,Ct=({authType:o,fieldsToDisable:s,noSignin:n,onSubmit:r,schema:l})=>{const d=(0,i.lm)(),{push:c}=(0,ve.k6)(),[m,M]=(0,e.useState)(!1),[A,k]=(0,e.useState)(!1),[T,Y]=(0,e.useState)(0),[X,x]=(0,e.useState)({}),{trackUsage:le}=(0,i.rS)(),{formatMessage:C}=(0,B.Z)(),Ne=(0,i.aM)(),{formatAPIError:We}=(0,i.So)(),{get:z}=(0,i.kY)(),q=Ne.get("registrationToken");(0,e.useEffect)(()=>{q&&(async()=>{try{const{data:{data:L}}=await z("/admin/registration-info",{params:{registrationToken:q}});L&&x(L)}catch(L){const O=We(L);d({type:"warning",message:O}),c(`/auth/oops?info=${encodeURIComponent(O)}`)}})()},[q]);function Pe(ue){return Object.entries(ue).reduce((L,[O,_])=>{let he=_;return!["password","confirmPassword"].includes(O)&&typeof _=="string"&&(he=he.trim(),O==="lastname"&&(he=he||null)),L[O]=he,L},{})}return e.createElement(se.ZP,null,e.createElement(se.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{firstname:X.firstname||"",lastname:X.lastname||"",email:X.email||"",password:"",confirmPassword:"",registrationToken:q||void 0,news:!1},onSubmit:async(ue,L)=>{const O=Pe(ue);try{await l.validate(O,{abortEarly:!1}),T>0&&o==="register-admin"&&le("didSubmitWithErrorsFirstAdmin",{count:T.toString()}),r(q?{userInfo:rt()(O,["registrationToken"]),registrationToken:q}:O,L)}catch(_){const he=(0,i.CJ)(_);Y(T+1),L.setErrors(he)}},validateOnChange:!1},({values:ue,errors:L,handleChange:O})=>e.createElement(i.l0,{noValidate:!0},e.createElement($e.o,null,e.createElement(ye.k,{direction:"column",alignItems:"center",gap:3},e.createElement(Je.Z,null),e.createElement(fe.Z,{as:"h1",variant:"alpha",textAlign:"center"},C({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),e.createElement(fe.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},C({id:"Auth.form.register.subtitle",defaultMessage:"Credentials are only used to authenticate in Strapi. All saved data will be stored in your database."}))),e.createElement(ye.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},e.createElement(ls.r,{gap:4},e.createElement(Ut.P,{col:6},e.createElement(Be.o,{name:"firstname",required:!0,value:ue.firstname,error:L.firstname?C(L.firstname):void 0,onChange:O,label:C({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),e.createElement(Ut.P,{col:6},e.createElement(Be.o,{name:"lastname",value:ue.lastname,onChange:O,label:C({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),e.createElement(Be.o,{name:"email",disabled:s.includes("email"),value:ue.email,onChange:O,error:L.email?C(L.email):void 0,required:!0,label:C({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),e.createElement(Zt,{name:"password",onChange:O,value:ue.password,error:L.password?C(L.password):void 0,endAction:e.createElement(ct.Z,{onClick:_=>{_.preventDefault(),M(he=>!he)},label:C(m?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},m?e.createElement(lt.Z,null):e.createElement(ut.Z,null)),hint:C({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:C({id:"global.password",defaultMessage:"Password"}),type:m?"text":"password"}),e.createElement(Zt,{name:"confirmPassword",onChange:O,value:ue.confirmPassword,error:L.confirmPassword?C(L.confirmPassword):void 0,endAction:e.createElement(ct.Z,{onClick:_=>{_.preventDefault(),k(he=>!he)},label:C(A?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},A?e.createElement(lt.Z,null):e.createElement(ut.Z,null)),required:!0,label:C({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:A?"text":"password"}),e.createElement(us.X,{onValueChange:_=>{O({target:{value:_,name:"news"}})},value:ue.news,name:"news","aria-label":"news"},C({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:e.createElement(xt,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},C({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:e.createElement(xt,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},C({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),e.createElement(it.z,{fullWidth:!0,size:"L",type:"submit"},C({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!n&&e.createElement(pe.x,{paddingTop:4},e.createElement(ye.k,{justifyContent:"center"},e.createElement(i.rU,{label:"Auth.link.signin",to:"/auth/login"},C({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Ct.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:o=>o.preventDefault()},Ct.propTypes={authType:a().string.isRequired,fieldsToDisable:a().array,noSignin:a().bool,onSubmit:a().func,schema:a().shape({validate:a().func.isRequired,type:a().string.isRequired}).isRequired};var Bt=Ct;const Nt=(0,I.ZP)(Be.o)`
|
|
12
|
-
::-ms-reveal {
|
|
13
|
-
display: none;
|
|
14
|
-
}
|
|
15
|
-
`,Rt=({onSubmit:o,schema:s})=>{const[n,r]=(0,e.useState)(!1),[l,d]=(0,e.useState)(!1),{formatMessage:c}=(0,B.Z)();return e.createElement(se.ZP,null,e.createElement($e.o,null,e.createElement(se.bU,null,e.createElement(Tt.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:m,errors:M,handleChange:A})=>e.createElement(i.l0,{noValidate:!0},e.createElement(se.sg,null,e.createElement(Je.Z,null),e.createElement(pe.x,{paddingTop:6,paddingBottom:7},e.createElement(fe.Z,{as:"h1",variant:"alpha"},c({id:"global.reset-password",defaultMessage:"Reset password"}))),M.errorMessage&&e.createElement(fe.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},c({id:M.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(ye.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Nt,{name:"password",onChange:A,value:m.password,error:M.password?c({id:M.password,defaultMessage:"This field is required."}):void 0,endAction:e.createElement(ct.Z,{onClick:k=>{k.preventDefault(),r(T=>!T)},label:c(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},n?e.createElement(lt.Z,null):e.createElement(ut.Z,null)),hint:c({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:c({id:"global.password",defaultMessage:"Password"}),type:n?"text":"password"}),e.createElement(Nt,{name:"confirmPassword",onChange:A,value:m.confirmPassword,error:M.confirmPassword?c({id:M.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:e.createElement(ct.Z,{onClick:k=>{k.preventDefault(),d(T=>!T)},label:c(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},l?e.createElement(lt.Z,null):e.createElement(ut.Z,null)),required:!0,label:c({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:l?"text":"password"}),e.createElement(it.z,{fullwidth:!0,type:"submit"},c({id:"global.change-password",defaultMessage:"Change password"})))))),e.createElement(ye.k,{justifyContent:"center"},e.createElement(pe.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},c({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Rt.defaultProps={onSubmit:o=>o.preventDefault()},Rt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var cs=Rt;const Wt={"forgot-password":{Component:os,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:D.Ry().shape({email:D.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:rs,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:D.Ry().shape({email:D.Z_().email(i.I0.email).required(i.I0.required),password:D.Z_().required(i.I0.required),rememberMe:D.Xg().nullable()}),inputsPrefix:""},oops:{Component:is,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:Bt,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:D.Ry().shape({firstname:D.Z_().trim().required(i.I0.required),lastname:D.Z_().nullable(),password:D.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:D.Z_().oneOf([D.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:D.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:Bt,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:D.Ry().shape({firstname:D.Z_().trim().required(i.I0.required),lastname:D.Z_().nullable(),password:D.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:D.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:D.Z_().oneOf([D.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:cs,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:D.Ry().shape({password:D.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:D.Z_().oneOf([D.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}};var ds=o=>o;const Ht={formErrors:{},modifiedData:{},requestError:null},ms=(o,s)=>(0,Ee.ZP)(o,n=>{switch(s.type){case"ON_CHANGE":{we()(n.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Ht;case"SET_DATA":{n.modifiedData=s.data;break}case"SET_ERRORS":{n.formErrors=s.errors;break}case"SET_REQUEST_ERROR":{n.requestError={errorMessage:s.errorMessage,errorStatus:s.errorStatus};break}default:return n}}),Mt=({hasAdmin:o,setHasAdmin:s})=>{const{push:n,location:{search:r}}=(0,ve.k6)(),{changeLocale:l}=(0,ss.Z)(),{setSkipped:d}=(0,i.c1)(),{trackUsage:c}=(0,i.rS)(),{params:{authType:m}}=(0,ve.$B)("/auth/:authType"),M=(0,i.aM)(),A=(0,ot.c)(Pt,async()=>(await t.e(2395).then(t.bind(t,82395))).LoginEE),k=(0,ot.c)(Wt,async()=>(await t.e(8276).then(t.bind(t,18276))).FORMS,{combine(w,G){return{...w,...G}},defaultValue:Wt}),[{formErrors:T,modifiedData:Y,requestError:X},x]=(0,e.useReducer)(ms,Ht,ds),C=qt.default.CancelToken.source(),{endPoint:Ne,fieldsToDisable:We,fieldsToOmit:z,inputsPrefix:q,schema:Pe,...ue}=k?.[m]??{};(0,e.useEffect)(()=>()=>{C.cancel("Component unmounted")},[]);const{post:L}=(0,i.kY)();(0,e.useEffect)(()=>{x({type:"RESET_PROPS"})},[m]);const O=({target:{name:w,value:G}})=>{x({type:"ON_CHANGE",keys:w,value:G})},_=async(w,{setSubmitting:G,setErrors:Te})=>{G(!0);const Le=rt()(w,z),j=`/admin/${Ne}`;m==="login"&&await bs(w,j,{setSubmitting:G,setErrors:Te}),(m==="register"||m==="register-admin")&&await Is(w,j,{setSubmitting:G,setErrors:Te}),m==="forgot-password"&&await he(Le,j,{setSubmitting:G,setErrors:Te}),m==="reset-password"&&await Ds(Le,j,{setSubmitting:G,setErrors:Te})},he=async(w,G,{setSubmitting:Te,setErrors:Le})=>{try{await L(G,w,{cancelToken:C.token}),n("/auth/forgot-password-success")}catch(j){console.error(j),Le({errorMessage:"notification.error"})}finally{Te(!1)}},bs=async(w,G,{setSubmitting:Te,setErrors:Le})=>{try{const{data:{data:{token:j,user:oe}}}=await L(G,rt()(w,z),{cancelToken:C.token});oe.preferedLanguage&&l(oe.preferedLanguage),i.I8.setToken(j,w.rememberMe),i.I8.setUserInfo(oe,w.rememberMe),Kt()}catch(j){if(j.response){const oe=Ae()(j,["response","data","error","message"],"Something went wrong");if(es()(oe).toLowerCase()==="usernotactive"){n("/auth/oops"),x({type:"RESET_PROPS"});return}Le({errorMessage:oe})}}finally{Te(!1)}},Is=async(w,G,{setSubmitting:Te,setErrors:Le})=>{try{c("willCreateFirstAdmin");const{data:{data:{token:j,user:oe}}}=await L(G,rt()(w,z),{cancelToken:C.token});i.I8.setToken(j,!1),i.I8.setUserInfo(oe,!1),Te(!1),s(!0);const{roles:Qe}=oe;if(Qe&&Qe.find(({code:Os})=>Os==="strapi-super-admin")&&(Re.setSkipped(!1),d(!1),c("didLaunchGuidedtour")),m==="register"&&w.userInfo.news===!0||m==="register-admin"&&w.news===!0){n({pathname:"/usecase",search:`?hasAdmin=${o}`});return}Kt()}catch(j){if(c("didNotCreateFirstAdmin"),j.response){const{data:oe}=j.response,Qe=(0,ns.Z)(oe);Le({apiErrors:Qe})}}},Ds=async(w,G,{setErrors:Te,setSubmitting:Le})=>{try{const{data:{data:{token:j,user:oe}}}=await L(G,{...w,resetPasswordToken:M.get("code")},{cancelToken:C.token});i.I8.setToken(j,!1),i.I8.setUserInfo(oe,!1),n("/")}catch(j){if(j.response){const oe=Ae()(j,["response","data","message"],"Something went wrong"),Qe=Ae()(j,["response","data","statusCode"],400);x({type:"SET_REQUEST_ERROR",errorMessage:oe,errorStatus:Qe}),Te({errorMessage:oe})}}finally{Le(!1)}},Kt=()=>{if(m==="login"){const w=M.get("redirectTo"),G=w?decodeURIComponent(w):"/";n(G)}else n("/")};if(!k[m]||o&&m==="register-admin"||i.I8.getToken())return e.createElement(ve.l_,{to:"/"});if(!o&&m!=="register-admin")return e.createElement(ve.l_,{to:{pathname:"/auth/register-admin",search:r}});if(A&&(k.login.Component=A),!A)return null;const{Component:ks}=k?.[m]??{};return e.createElement(ks,{...ue,authType:m,fieldsToDisable:We,formErrors:T,inputsPrefix:q,modifiedData:Y,onChange:O,onSubmit:_,requestError:X,schema:Pe})};Mt.defaultProps={hasAdmin:!1},Mt.propTypes={hasAdmin:a().bool,setHasAdmin:a().func.isRequired};var gs=Mt,ps=t(33248),fs=t(68465),hs=t(84967),Es=t(7563),vs=t(33348);const ys=[{intlLabel:{id:"Usecase.front-end",defaultMessage:"Front-end developer"},value:"front_end_developer"},{intlLabel:{id:"Usecase.back-end",defaultMessage:"Back-end developer"},value:"back_end_developer"},{intlLabel:{id:"Usecase.full-stack",defaultMessage:"Full-stack developer"},value:"full_stack_developer"},{intlLabel:{id:"global.content-manager",defaultMessage:"Content Manager"},value:"content_manager"},{intlLabel:{id:"Usecase.content-creator",defaultMessage:"Content Creator"},value:"content_creator"},{intlLabel:{id:"Usecase.other",defaultMessage:"Other"},value:"other"}],Ps=(0,I.ZP)(fe.Z)`
|
|
16
|
-
text-align: center;
|
|
17
|
-
`;var Ts=()=>{const o=(0,i.lm)(),{push:s,location:n}=(0,ve.k6)(),{formatMessage:r}=(0,B.Z)(),[l,d]=(0,e.useState)(),[c,m]=(0,e.useState)(""),{post:M}=(0,i.kY)(),{firstname:A,email:k}=i.I8.getUserInfo(),{hasAdmin:T}=(0,vs.parse)(n?.search,{ignoreQueryPrefix:!0}),Y=l==="other",X=async(x,le)=>{x.preventDefault();try{await M("https://analytics.strapi.io/register",{email:k,username:A,firstAdmin:Boolean(!T),persona:{role:le?void 0:l,otherRole:le?void 0:c}}),o({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return e.createElement(se.ZP,null,e.createElement($e.o,{labelledBy:"usecase-title"},e.createElement(se.bU,null,e.createElement("form",{onSubmit:x=>X(x,!1)},e.createElement(ye.k,{direction:"column",paddingBottom:7},e.createElement(Je.Z,null),e.createElement(pe.x,{paddingTop:6,paddingBottom:1,width:(0,i.Q1)(250)},e.createElement(Ps,{variant:"alpha",as:"h1",id:"usecase-title"},r({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),e.createElement(ye.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(fs.P,{id:"usecase","data-testid":"usecase",label:r({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:d,value:l},ys.map(({intlLabel:x,value:le})=>e.createElement(hs.W,{key:le,value:le},r(x)))),Y&&e.createElement(Be.o,{name:"other",label:r({id:"Usecase.other",defaultMessage:"Other"}),value:c,onChange:x=>m(x.target.value),"data-testid":"other"}),e.createElement(it.z,{type:"submit",size:"L",fullWidth:!0,disabled:!l},r({id:"global.finish",defaultMessage:"Finish"}))))),e.createElement(ye.k,{justifyContent:"center"},e.createElement(pe.x,{paddingTop:4},e.createElement(Es.A,{onClick:()=>X(!0)},r({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},Ft=t(4556);const Ss=(0,e.lazy)(()=>Promise.all([t.e(6691),t.e(801)]).then(t.bind(t,63546)));function Cs(){const o=(0,ot.c)(wt,async()=>(await t.e(3100).then(t.bind(t,73100))).ADMIN_PERMISSIONS_EE,{combine(z,q){return b()({},z,q)},defaultValue:wt}),s=(0,ot.c)(Ft.y3,async()=>(await t.e(1386).then(t.bind(t,31386))).ROUTES_EE,{defaultValue:[]}),n=(0,i.lm)(),{updateProjectSettings:r}=(0,me.um)(),{formatMessage:l}=(0,B.Z)(),[{isLoading:d,hasAdmin:c,uuid:m,deviceId:M},A]=(0,e.useState)({isLoading:!0,hasAdmin:!1}),k=(0,R.I0)(),T=(0,i.L7)(),{get:Y,post:X}=(0,i.kY)(),x=(0,e.useMemo)(()=>(0,jt.WW)(s.map(({to:z,Component:q,exact:Pe})=>(0,jt.ot)(q,z,Pe))),[s]),[le,C]=(0,e.useState)(null);(0,e.useEffect)(()=>{k({type:Ft.XS,payload:o})},[o,k]),(0,e.useEffect)(()=>{const z=i.I8.getToken();z&&(async()=>{try{const{data:{data:{token:Pe}}}=await X("/admin/renew-token",{token:z});i.I8.updateToken(Pe)}catch{i.I8.clearAppStorage(),window.location.reload()}})()},[X]),(0,e.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:q,uuid:Pe,menuLogo:ue,authLogo:L}}}=await Y("/admin/init");if(r({menuLogo:(0,i.CR)(ue),authLogo:(0,i.CR)(L)}),Pe){const{data:{data:O}}=await Y("/admin/telemetry-properties",{validateStatus:_=>_<500});C(O);try{const _="didInitializeAdministration";await X("https://analytics.strapi.io/api/v2/track",{event:_,userId:"",deviceId:M,eventPropeties:{},userProperties:{environment:T.currentEnvironment},groupProperties:{...O,projectId:Pe}},{headers:{"X-Strapi-Event":_}})}catch{}}A({isLoading:!1,hasAdmin:q,uuid:Pe,deviceId:M})}catch{n({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[n,r]);const Ne=z=>A(q=>({...q,hasAdmin:z})),We=(0,e.useMemo)(()=>({uuid:m,telemetryProperties:le,deviceId:M}),[m,le,M]);return d?e.createElement(i.dO,null):e.createElement(e.Suspense,{fallback:e.createElement(i.dO,null)},e.createElement(Xt.z,null,l({id:"skipToContent"})),e.createElement(i.L8,{value:We},e.createElement(ve.rs,null,x,e.createElement(ve.AW,{path:"/auth/:authType",render:z=>e.createElement(gs,{...z,setHasAdmin:Ne,hasAdmin:c}),exact:!0}),e.createElement(Ot,{path:"/usecase",component:Ts}),e.createElement(Ot,{path:"/",component:Ss}),e.createElement(ve.AW,{path:"",component:ps.default}))))}var Rs=Cs,Ms={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"};class As{constructor({adminConfig:s,appPlugins:n,library:r,middlewares:l,reducers:d}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:W,head:{favicon:Qt},locales:["en"],menuLogo:W,notifications:{releases:!0},themes:{light:p.W,dark:P.$},translations:{},tutorials:!0},this.appPlugins=n||{},this.library=r,this.middlewares=l,this.plugins={},this.reducers=d,this.translations={},this.hooksDict={},this.admin={injectionZones:Yt},this.customFields=J.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=s=>{Array.isArray(s)?s.map(n=>this.library.components.add(n)):this.library.components.add(s)};addCorePluginMenuLink=s=>{const n=JSON.stringify(s);u()(s.to,`link.to should be defined for ${n}`),u()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),u()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),u()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),this.menu.push(s)};addFields=s=>{Array.isArray(s)?s.map(n=>this.library.fields.add(n)):this.library.fields.add(s)};addMenuLink=s=>{const n=JSON.stringify(s);u()(s.to,`link.to should be defined for ${n}`),u()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),u()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),u()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),u()(s.icon&&typeof s.icon=="function","link.Icon should be a valid React Component"),this.menu.push(s)};addMiddlewares=s=>{s.forEach(n=>{this.middlewares.add(n)})};addReducers=s=>{Object.keys(s).forEach(n=>{this.reducers.add(n,s[n])})};addSettingsLink=(s,n)=>{u()(this.settings[s],"The section does not exist");const r=JSON.stringify(n);u()(n.id,`link.id should be defined for ${r}`),u()(n.intlLabel?.id&&n.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${r}`),u()(n.to,`link.to should be defined for ${r}`),u()(n.Component&&typeof n.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(n)};addSettingsLinks=(s,n)=>{u()(this.settings[s],"The section does not exist"),u()(Array.isArray(n),"TypeError expected links to be an array"),n.forEach(r=>{this.addSettingsLink(s,r)})};async bootstrap(){Object.keys(this.appPlugins).forEach(s=>{const n=this.appPlugins[s].bootstrap;n&&n({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),V()(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(at.No),this.createHook(at.LK),this.createHook(at.dV),this.createHook(at.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,n=this.customConfigurations.theme.light;!s&&!n&&(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."),b()(this.configurations.themes.light,this.customConfigurations.theme)),n&&b()(this.configurations.themes.light,n),s&&b()(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]=Jt()};createSettingSection=(s,n)=>{u()(s.id,"section.id should be defined"),u()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),u()(Array.isArray(n),"TypeError expected links to be an array"),u()(this.settings[s.id]===void 0,"A similar section already exists"),this.settings[s.id]={...s,links:[]},n.forEach(r=>{this.addSettingsLink(s.id,r)})};createStore=()=>Vt(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(s,n,r)=>{try{return this.admin.injectionZones[s][n][r]||[]}catch(l){return console.error("Cannot get injected component",l),l}};getPlugin=s=>this.plugins[s];async initialize(){Object.keys(this.appPlugins).forEach(s=>{this.appPlugins[s].register(this)})}injectContentManagerComponent=(s,n,r)=>{u()(this.admin.injectionZones.contentManager[s]?.[n],`The ${s} ${n} zone is not defined in the content manager`),u()(r,"A Component must be provided"),this.admin.injectionZones.contentManager[s][n].push(r)};injectAdminComponent=(s,n,r)=>{u()(this.admin.injectionZones.admin[s]?.[n],`The ${s} ${n} zone is not defined in the admin`),u()(r,"A Component must be provided"),this.admin.injectionZones.admin[s][n].push(r)};async loadAdminTrads(){const s=this.configurations.locales.map(l=>t(48224)(`./${l}.json`).then(({default:d})=>({data:d,locale:l})).catch(()=>({data:null,locale:l})));return(await Promise.all(s)).reduce((l,d)=>(d.data&&(l[d.locale]=d.data),l),{})}async loadTrads(){const s=await this.loadAdminTrads(),n=Object.keys(this.appPlugins).map(c=>{const m=this.appPlugins[c].registerTrads;return m?m({locales:this.configurations.locales}):null}).filter(c=>c),l=(await Promise.all(n)).reduce((c,m)=>{const M=m.reduce((A,k)=>(A[k.locale]=k.data,A),{});return Object.keys(M).forEach(A=>{c[A]={...c[A],...M[A]}}),c},{}),d=this.configurations.locales.reduce((c,m)=>(c[m]={...s[m],...l[m]||{},...this.customConfigurations?.translations?.[m]},c),{});return this.configurations.translations=d,Promise.resolve()}registerHook=(s,n)=>{u()(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(n)};registerPlugin=s=>{const n=(0,J.Sy)(s);this.plugins[n.pluginId]=n};runHookSeries=(s,n=!1)=>n?this.hooksDict[s].runSeriesAsync():this.hooksDict[s].runSeries();runHookWaterfall=(s,n,r=!1,l)=>r?this.hooksDict[s].runWaterfallAsync(n,l):this.hooksDict[s].runWaterfall(n,l);runHookParallel=s=>this.hooksDict[s].runParallel();render(){const s=this.createStore(),n=U()(Ms,this.configurations.locales||[]),{components:{components:r},fields:{fields:l}}=this.library;return e.createElement(ae,{authLogo:this.configurations.authLogo,components:r,fields:l,customFields:this.customFields,localeNames:n,getAdminInjectedComponents:this.getAdminInjectedComponents,getPlugin:this.getPlugin,messages:this.configurations.translations,menu:this.menu,menuLogo:this.configurations.menuLogo,plugins:this.plugins,runHookParallel:this.runHookParallel,runHookWaterfall:(d,c,m=!1)=>this.runHookWaterfall(d,c,m,s),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:s},e.createElement(e.Fragment,null,e.createElement(de.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(be)||"en"}}),e.createElement(N.VK,{basename:$t.Z},e.createElement(Rs,{store:s}))))}}var Ls=({adminConfig:o={},appPlugins:s,library:n,middlewares:r,reducers:l})=>new As({adminConfig:o,appPlugins:s,library:n,middlewares:r,reducers:l})},33229:function(Z,v,t){"use strict";var e=t(32735);const p=(0,e.createContext)();v.Z=p},51399:function(Z,v,t){"use strict";var e=t(32735),p=t(33229);const P=()=>{const{changeLocale:h,localeNames:u,messages:f}=(0,e.useContext)(p.Z);return{changeLocale:h,localeNames:u,messages:f}};v.Z=P},73678:function(Z,v,t){"use strict";var e=t(32735),p=t(8471),P=t(79652);const h=p.ZP.img`
|
|
18
|
-
height: ${72/16}rem;
|
|
19
|
-
`,u=()=>{const{logos:{auth:f}}=(0,P.um)();return e.createElement(h,{src:f?.custom??f.default,"aria-hidden":!0,alt:""})};v.Z=u},76402:function(Z,v,t){"use strict";t.d(v,{ux:function(){return P},_5:function(){return u},$l:function(){return V},Rj:function(){return b}});var e=t(32735),P=(0,e.createContext)({}),u=(0,e.createContext)({}),V=(0,e.createContext)({}),b=(0,e.createContext)({})},35231:function(Z,v){"use strict";const t="/admin/".replace(window.location.origin,"");v.Z=t},66941:function(Z,v,t){"use strict";t.d(v,{Eo:function(){return P},LK:function(){return p},No:function(){return e},dV:function(){return h}});const e="Admin/CM/pages/ListView/inject-column-in-table",p="Admin/CM/pages/App/mutate-collection-types-links",P="Admin/CM/pages/EditView/mutate-edit-view-layout",h="Admin/CM/pages/App/mutate-single-types-links"},79652:function(Z,v,t){"use strict";t.d(v,{um:function(){return h},H9:function(){return R},$_:function(){return Ee},rW:function(){return He},G4:function(){return mt},Te:function(){return Et},M1:function(){return yt}});var e=t(32735),p=t(76402),h=()=>(0,e.useContext)(p._5),u=t(90769),f=t(19565),V=t(2287),$=t(36919),b=t(45112),ee=t(15062),U=t(30305),de=t(99381),N=t.n(de),Se=(y,g)=>g.map(({permissions:E})=>(0,f.qX)(y,E)),i=async(y,g,E)=>{const F=Se(y,g),ce=await Promise.all(F),K=g.filter((B,me)=>ce[me]),ne=K.findIndex(B=>B.to==="/settings");if(ne===-1)return[];const ie=N()(K);return ie[ne].notificationsCount=E?1:0,ie},a=async(y,g)=>{const E=Se(y,g),F=await Promise.all(E);return g.filter((K,ne)=>F[ne])},R=()=>{const{allPermissions:y}=(0,f.vn)(),{shouldUpdateStrapi:g}=(0,f.L7)(),{menu:E}=(0,f.j1)(),F=(0,ee.v9)(U._),[ce,K]=e.useState({generalSectionLinks:[{icon:V.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:F.marketplace.main},{icon:$.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:F.marketplace.main},{icon:b.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0}),ne=e.useRef(ce.generalSectionLinks);return e.useEffect(()=>{async function ie(){const B=await a(y,E),me=await i(y,ne.current,g);K(I=>({...I,generalSectionLinks:me,pluginsSectionLinks:B,isLoading:!1}))}ie()},[K,ne,y,E,F,g]),ce},Ee=()=>(0,e.useContext)(p.$l),He=(y,g,E,F)=>{const[ce,K]=(0,e.useState)(!1),ne=(0,f.lm)(),{post:ie}=(0,f.kY)(),{formatAPIError:B}=(0,f.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:I}}}=await ie(`${y}${g}/regenerate`);K(!1),E(I)}catch(I){K(!1),F?F(I):ne({type:"warning",message:B(I)})}},isLoadingConfirmation:ce}};const Ye=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),re=()=>{const{latestStrapiReleaseTag:y,shouldUpdateStrapi:g}=useAppInfo(),E=useNotification();return useEffect(()=>{g&&Ye&&E({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${y}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[y,g,E]),null};var Fe=null,Me=t(9086),Ae=t.n(Me),Oe=t(24388),Xe=(y,g)=>({...y,fieldsToPick:g}),Ke=t(97889),_e=t(88423),je=t.n(_e),qe=t(3040),dt=t.n(qe),Re=t(56236),At=t.n(Re);const et={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},tt=(y,g)=>(0,Ke.ZP)(y,E=>{switch(g.type){case"GET_DATA_SUCCEEDED":{E.isLoading=!1,E.showHeaderLoader=!1,E.initialData=je()(g.data,y.fieldsToPick),E.modifiedData=je()(g.data,y.fieldsToPick);break}case"ON_CANCEL":{E.modifiedData=y.initialData,E.formErrors={};break}case"ON_CHANGE":{g.inputType==="password"&&!g.value?At()(E.modifiedData,g.keys.split(".")):g.keys.includes("username")&&!g.value?dt()(E.modifiedData,g.keys.split("."),null):dt()(E.modifiedData,g.keys.split("."),g.value);break}case"ON_SUBMIT":{E.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{E.initialData=je()(g.data,y.fieldsToPick),E.modifiedData=je()(g.data,y.fieldsToPick),E.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{E.formErrors=g.errors,E.showHeaderButtonLoader=!1;break}default:return E}});var mt=(y,g,E,F)=>{const[{formErrors:ce,initialData:K,isLoading:ne,modifiedData:ie,showHeaderButtonLoader:B,showHeaderLoader:me},I]=(0,e.useReducer)(tt,et,()=>Xe(et,F)),te=(0,f.lm)(),{lockApp:De,unlockApp:ze}=(0,f.o1)(),{get:Ge,put:ke}=(0,f.kY)();return(0,e.useEffect)(()=>{y&&(async()=>{try{const{data:{data:ae}}=await Ge(y);I({type:"GET_DATA_SUCCEEDED",data:ae,fieldsToPick:F})}catch(ae){console.error(ae.response),te({type:"warning",message:{id:"notification.error"}})}})()},[y]),[{formErrors:ce,initialData:K,isLoading:ne,modifiedData:ie,showHeaderButtonLoader:B,showHeaderLoader:me},I,{handleCancel:()=>{I({type:"ON_CANCEL"})},handleChange:({target:{name:ge,value:ae,type:J}})=>{I({type:"ON_CHANGE",inputType:J,keys:ge,value:ae})},handleSubmit:async ge=>{ge.preventDefault();const ae=await(0,Oe.R6)(ie,g);if(I({type:"SET_ERRORS",errors:ae||{}}),!ae)try{De(),I({type:"ON_SUBMIT"});const J=Ae()(ie,["confirmPassword","registrationToken"]);J.roles&&(J.roles=J.roles.map(Ze=>Ze.id)),J.ssoLockedRoles&&(J.ssoLockedRoles=[...new Set(J.ssoLockedRoles)]);const{data:{data:Q}}=await ke(y,J);E(Q),I({type:"ON_SUBMIT_SUCCEEDED",data:Q}),te({type:"success",message:{id:"notification.success.saved"}})}catch(J){const Q=J?.response?.payload??{data:{}};Q?.data&&typeof Q.data=="string"?te({type:"warning",message:Q.data}):te({type:"warning",message:Q.message});const Ze=(0,Oe.Iz)(Q);I({type:"SET_ERRORS",errors:Ze})}finally{ze()}},setField:(ge,ae)=>{I({type:"ON_CHANGE",keys:ge,value:ae})}}]},Lt=t(9592);const gt={global:[{intlLabel:{id:"Settings.application.title",defaultMessage:"Overview"},to:"/settings/application-infos",id:"000-application-infos",permissions:[]},{intlLabel:{id:"Settings.webhooks.title",defaultMessage:"Webhooks"},to:"/settings/webhooks",id:"webhooks"},{intlLabel:{id:"Settings.apiTokens.title",defaultMessage:"API Tokens"},to:"/settings/api-tokens?sort=name:ASC",id:"api-tokens"},{intlLabel:{id:"Settings.transferTokens.title",defaultMessage:"Transfer Tokens"},to:"/settings/transfer-tokens?sort=name:ASC",id:"transfer-tokens"}],admin:[{intlLabel:{id:"global.roles",defaultMessage:"Roles"},to:"/settings/roles",id:"roles"},{intlLabel:{id:"global.users"},to:"/settings/users?pageSize=10&page=1&sort=firstname",id:"users"}]};var pt=y=>y.map(g=>{const E=g.links.map(F=>({...F,isDisplayed:!1}));return{...g,links:E}}),st=t(98978),ft=t.n(st),ht=y=>ft()(y,g=>g.id),Et=()=>{const[{isLoading:y,menu:g},E]=(0,e.useState)({isLoading:!0,menu:[]}),{allPermissions:F}=(0,f.vn)(),{shouldUpdateStrapi:ce}=(0,f.L7)(),{settings:K}=(0,f.j1)(),ne=(0,ee.v9)(U._),{global:ie,admin:B}=(0,Lt.c)(gt,async()=>(await t.e(918).then(t.bind(t,50918))).LINKS_EE,{combine(te,De){return{admin:[...De.admin,...te.admin],global:[...te.global,...De.global]}},defaultValue:{admin:[],global:[]}}),me=(0,e.useCallback)(te=>{if(!te.id)throw new Error("The settings menu item must have an id attribute.");return{...te,permissions:ne.settings?.[te.id]?.main}},[ne.settings]);(0,e.useEffect)(()=>{const te=async()=>{const nt=await(Ue=>Promise.all(Ue.reduce((xe,Ve,ge)=>{const ae=J=>J.map(async(Q,Ze)=>({hasPermission:await(0,f.qX)(F,Q.permissions),sectionIndex:ge,linkIndex:Ze}));return[...xe,...ae(Ve.links)]},[])))(Ge);E(Ue=>({...Ue,isLoading:!1,menu:Ge.map((xe,Ve)=>({...xe,links:xe.links.map((ge,ae)=>{const J=nt.find(Q=>Q.sectionIndex===Ve&&Q.linkIndex===ae);return{...ge,isDisplayed:Boolean(J.hasPermission)}})}))}))},{global:De,...ze}=K,Ge=pt([{...K.global,links:ht([...K.global.links,...ie.map(me)]).map(ke=>({...ke,hasNotification:ke.id==="000-application-infos"&&ce}))},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:B.map(me)},...Object.values(ze)]);te()},[B,ie,F,K,ce,me]);const I=te=>({...te,links:te.links.filter(De=>De.isDisplayed)});return{isLoading:y,menu:g.map(I)}},yt=()=>(0,e.useContext)(p.Rj)},90769:function(Z,v,t){"use strict";t.d(v,{G:function(){return P}});var e=t(19565),p=t(20108);function P(){const{get:h}=(0,e.kY)(),{formatAPIError:u}=(0,e.So)(),f=(0,e.lm)(),V=(0,p.useQueries)(["components","content-types"].map(N=>({queryKey:["content-manager",N],async queryFn(){const{data:{data:W}}=await h(`/content-manager/${N}`);return W},onError(W){f({type:"warning",message:u(W)})}}))),[$,b]=V,ee=$.isLoading||b.isLoading,U=(b?.data??[]).filter(N=>N.kind==="collectionType"&&N.isDisplayed),de=(b?.data??[]).filter(N=>N.kind!=="collectionType"&&N.isDisplayed);return{isLoading:ee,components:$?.data??[],collectionTypes:U,singleTypes:de}}},9592:function(Z,v,t){"use strict";t.d(v,{c:function(){return h}});var e=t(32735),p=t(19565);function P(){return window.strapi.isEE}function h(u,f,{defaultValue:V=null,combine:$=(ee,U)=>U,enabled:b=!0}={}){const ee=(0,p.W6)(f),U=(0,p.W6)($),[{data:de},N]=e.useState({data:P()&&b?V:u});return e.useEffect(()=>{async function W(){const Se=await ee();N({data:U(u,Se)})}P()&&b&&W()},[u,ee,U,b]),de}},11060:function(Z,v,t){"use strict";t.d(v,{sg:function(){return N},bU:function(){return W},ZP:function(){return be}});var e=t(32735),p=t(72850),P=t(87933),h=t(60216),u=t.n(h),f=t(8471),V=t(77035),$=t(67879),b=t(51399),U=()=>{const{changeLocale:i,localeNames:Ie}=(0,b.Z)(),{locale:a}=(0,$.Z)();return e.createElement(V.q4,{value:a,onChange:S=>i(S)},Object.entries(Ie).map(([S,R])=>e.createElement(V.ag,{key:S,value:S},R)))};const de=(0,f.ZP)(p.x)`
|
|
20
|
-
margin: 0 auto;
|
|
21
|
-
width: 552px;
|
|
22
|
-
`,N=(0,f.ZP)(P.k)`
|
|
23
|
-
flex-direction: column;
|
|
24
|
-
`,W=({children:i})=>e.createElement(de,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},i);W.propTypes={children:u().node.isRequired};const Se=({children:i})=>e.createElement("div",null,e.createElement(P.k,{as:"header",justifyContent:"flex-end"},e.createElement(p.x,{paddingTop:6,paddingRight:8},e.createElement(U,null))),e.createElement(p.x,{paddingTop:2,paddingBottom:11},i));Se.propTypes={children:u().node.isRequired};var be=Se},30305:function(Z,v,t){"use strict";t.d(v,{_:function(){return h}});var e=t(98178),p=t(69891);const P=()=>u=>u.admin_app||p.E,h=(0,e.P1)(P(),u=>u.permissions)},24018:function(Z,v,t){"use strict";var e=t(63642),p=t(8471);const P=(0,p.ZP)(e.E)`
|
|
25
|
-
svg {
|
|
26
|
-
height: 1rem;
|
|
27
|
-
width: 1rem;
|
|
28
|
-
path {
|
|
29
|
-
fill: ${({theme:h})=>h.colors.neutral600};
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
`;v.Z=P},24436:function(Z,v,t){"use strict";var e=t(32735),p=t(10369),P=t(27649),h=t(72850),u=t(49372),f=t(87933),V=t(8284),$=t(41415),b=t(19565),ee=t(54894),U=t(60492),de=t(92802),N=t(60216),W=t.n(N),Se=t(67879),be=t(8471),i=t(73678),Ie=t(11060),a=t(24018);const S=(0,be.ZP)(p.o)`
|
|
33
|
-
::-ms-reveal {
|
|
34
|
-
display: none;
|
|
35
|
-
}
|
|
36
|
-
`,R=({onSubmit:H,schema:Ee,children:Ce})=>{const[He,Ye]=(0,e.useState)(!1),{formatMessage:re}=(0,Se.Z)();return e.createElement(P.o,null,e.createElement(Ie.bU,null,e.createElement(de.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:H,validationSchema:Ee,validateOnChange:!1},({values:Fe,errors:Me,handleChange:Ae})=>e.createElement(b.l0,{noValidate:!0},e.createElement(Ie.sg,null,e.createElement(i.Z,null),e.createElement(h.x,{paddingTop:6,paddingBottom:1},e.createElement(u.Z,{variant:"alpha",as:"h1"},re({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),e.createElement(h.x,{paddingBottom:7},e.createElement(u.Z,{variant:"epsilon",textColor:"neutral600"},re({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),Me.errorMessage&&e.createElement(u.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},Me.errorMessage)),e.createElement(f.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(p.o,{error:Me.email?re({id:Me.email,defaultMessage:"This value is required."}):"",value:Fe.email,onChange:Ae,label:re({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:re({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(S,{error:Me.password?re({id:Me.password,defaultMessage:"This value is required."}):"",onChange:Ae,value:Fe.password,label:re({id:"global.password",defaultMessage:"Password"}),name:"password",type:He?"text":"password",endAction:e.createElement(a.Z,{onClick:Oe=>{Oe.stopPropagation(),Ye(we=>!we)},label:re(He?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},He?e.createElement(ee.Z,null):e.createElement(U.Z,null)),required:!0}),e.createElement(V.X,{onValueChange:Oe=>{Ae({target:{value:Oe,name:"rememberMe"}})},value:Fe.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},re({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),e.createElement($.z,{fullWidth:!0,type:"submit"},re({id:"Auth.form.button.login",defaultMessage:"Login"}))))),Ce),e.createElement(f.k,{justifyContent:"center"},e.createElement(h.x,{paddingTop:4},e.createElement(b.rU,{to:"/auth/forgot-password"},re({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};R.defaultProps={children:null,onSubmit(){}},R.propTypes={children:W().node,onSubmit:W().func,schema:W().shape({type:W().string.isRequired}).isRequired},v.Z=R},33248:function(Z,v,t){"use strict";t.r(v);var e=t(32735),p=t(27649),P=t(82055),h=t(17e3),u=t(9695),f=t(19565),V=t(8482),$=t(25386),b=t(67879);const ee=()=>{const{formatMessage:U}=(0,b.Z)();return(0,f.go)(),e.createElement(p.o,{labelledBy:"title"},e.createElement(P.T,{id:"title",title:U({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),e.createElement(h.D,null,e.createElement(u.x,{action:e.createElement(f.Qj,{variant:"secondary",endIcon:e.createElement(V.Z,null),to:"/"},U({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:U({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:e.createElement($.Z,{width:"10rem"}),shadow:"tableShadow"})))};v.default=ee},5074:function(Z,v){"use strict";const t=({data:e})=>{try{return Object.keys(e).reduce((p,P)=>{const h=e[P][0];return p[P]={id:h,defaultMessage:h},p},{})}catch{return{}}};v.Z=t},24388:function(Z,v,t){"use strict";t.d(v,{R6:function(){return P},ot:function(){return ee},Iz:function(){return U.Z},Pp:function(){return de},Qy:function(){return a},WW:function(){return W}});var e=t(19565),P=async(S,R)=>{let H=null;try{await R.validate(S,{abortEarly:!1})}catch(Ee){H=(0,e.CJ)(Ee)}return H},h=t(32735),u=t(60216),f=t.n(u),V=t(53038);const $=({loadComponent:S})=>{const[R,H]=(0,h.useState)(null);return(0,h.useEffect)(()=>{(async()=>{try{const Ce=await S();H(()=>Ce.default)}catch(Ce){console.log(Ce)}})()},[S]),R?h.createElement(R,null):h.createElement(e.dO,null)},b=(S,R,H)=>h.createElement(V.AW,{render:()=>h.createElement($,{loadComponent:S}),key:R,path:R,exact:H||!1});$.propTypes={loadComponent:f().func.isRequired};var ee=b,U=t(5074),de=(S,R="")=>[S,R].filter(H=>H).join(" "),W=S=>S.filter((R,H,Ee)=>Ee.findIndex(Ce=>Ce.key===R.key)===H),Se=t(98978);const be=S=>sortBy(S,R=>R.name);var i=null;const Ie={bufferToHex(S){return[...new Uint8Array(S)].map(R=>R.toString(16).padStart(2,"0")).join("")},async digestMessage(S){const R=new TextEncoder().encode(S),H=await crypto.subtle.digest("SHA-256",R);return this.bufferToHex(H)}};async function a(S){if(!S)return null;try{return await Ie.digestMessage(S.email)}catch{return null}}},48224:function(Z,v,t){var e={"./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 p(P){if(!t.o(e,P))return Promise.resolve().then(function(){var f=new Error("Cannot find module '"+P+"'");throw f.code="MODULE_NOT_FOUND",f});var h=e[P],u=h[0];return t.e(h[1]).then(function(){return t.t(u,19)})}p.keys=function(){return Object.keys(e)},p.id=48224,Z.exports=p},47750:function(Z,v,t){"use strict";Z.exports=t.p+"70674f63fc3904c20de0.svg"}}]);
|