@strapi/admin 4.11.4 → 4.12.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/admin/src/constants.js +83 -83
  2. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +8 -5
  3. package/admin/src/content-manager/components/Inputs/index.js +3 -47
  4. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +34 -37
  5. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +0 -27
  6. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +93 -14
  7. package/admin/src/content-manager/pages/ListView/index.js +65 -59
  8. package/admin/src/content-manager/pages/ListView/utils/buildValidGetParams.js +30 -0
  9. package/admin/src/content-manager/pages/ListView/utils/index.js +1 -1
  10. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +5 -1
  11. package/admin/src/hooks/index.js +0 -1
  12. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +3 -3
  13. package/admin/src/hooks/useEnterprise/useEnterprise.js +4 -4
  14. package/admin/src/pages/App/index.js +28 -23
  15. package/admin/src/pages/AuthPage/components/Register/index.js +5 -1
  16. package/admin/src/pages/ProfilePage/index.js +6 -1
  17. package/admin/src/pages/SettingsPage/components/Tokens/TokenBox/index.js +1 -1
  18. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +1 -1
  19. package/admin/src/translations/zh-Hans.json +1 -1
  20. package/build/0cd5f8915b265d5b1856.png +0 -0
  21. package/build/2799.cf9b491f.chunk.js +1 -0
  22. package/build/4485.d3c6dd1d.chunk.js +6 -0
  23. package/build/539.865446c0.chunk.js +1 -0
  24. package/build/{5563.86f9aa9c.chunk.js → 5563.a146acac.chunk.js} +2 -2
  25. package/build/7018.f3dad3c1.chunk.js +1 -0
  26. package/build/7259.0e25ab5d.chunk.js +1 -0
  27. package/build/9465.d8fc1377.chunk.js +112 -0
  28. package/build/9944.29289a16.chunk.js +26 -0
  29. package/build/{Admin-authenticatedApp.cb649fc1.chunk.js → Admin-authenticatedApp.9d3afb79.chunk.js} +2 -2
  30. package/build/{Admin_settingsPage.4069bb8a.chunk.js → Admin_settingsPage.074655f6.chunk.js} +13 -13
  31. package/build/admin-app.3ede71ad.chunk.js +61 -0
  32. package/build/admin-edit-users.78552758.chunk.js +10 -0
  33. package/build/admin-users.c23322fc.chunk.js +11 -0
  34. package/build/audit-logs-settings-page.37fe915c.chunk.js +1 -0
  35. package/build/content-manager.08541eeb.chunk.js +1094 -0
  36. package/build/content-type-builder-translation-en-json.38e20391.chunk.js +1 -0
  37. package/build/content-type-builder.de22f7c9.chunk.js +166 -0
  38. package/build/index.html +1 -1
  39. package/build/main.a8ede50d.js +2927 -0
  40. package/build/review-workflows-settings-create-view.56f61e18.chunk.js +1 -0
  41. package/build/review-workflows-settings-edit-view.912bc9c0.chunk.js +1 -0
  42. package/build/review-workflows-settings-list-view.cf6a08d3.chunk.js +56 -0
  43. package/build/runtime~main.5e9bf4b3.js +2 -0
  44. package/build/{users-roles-settings-page.1f505119.chunk.js → users-roles-settings-page.d286426a.chunk.js} +1 -1
  45. package/build/{zh-Hans-json.4cfef87d.chunk.js → zh-Hans-json.fada6f40.chunk.js} +1 -1
  46. package/ee/admin/constants.js +14 -14
  47. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +84 -30
  48. package/ee/admin/content-manager/{components/DynamicTable/CellContent/ReviewWorkflowsStage → pages/ListView/ReviewWorkflowsColumn}/ReviewWorkflowsStageEE.js +7 -2
  49. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +24 -0
  50. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +1 -0
  51. package/ee/admin/hooks/useLicenseLimitNotification/index.js +17 -6
  52. package/ee/admin/hooks/useLicenseLimits/index.js +1 -32
  53. package/ee/admin/hooks/useLicenseLimits/useLicenseLimits.js +44 -0
  54. package/ee/admin/pages/SettingsPage/constants.js +25 -1
  55. package/ee/admin/pages/SettingsPage/pages/ApplicationInfosPage/components/AdminSeatInfo/index.js +6 -4
  56. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +6 -4
  57. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +19 -4
  58. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/Layout.js +65 -0
  59. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Layout/index.js +1 -0
  60. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/LimitsModal.js +111 -0
  61. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/assets/balloon.png +0 -0
  62. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/LimitsModal/index.js +3 -0
  63. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/ProtectedPage/ProtectedPage.js +21 -0
  64. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/ProtectedPage/index.js +1 -0
  65. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +4 -4
  66. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +110 -0
  67. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/index.js +1 -0
  68. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +3 -1
  69. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +13 -19
  70. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +246 -0
  71. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/index.js +13 -0
  72. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +269 -0
  73. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/index.js +13 -0
  74. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +382 -0
  75. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/index.js +13 -0
  76. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +53 -23
  77. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +43 -28
  78. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +9 -2
  79. package/ee/server/config/admin-actions.js +24 -0
  80. package/ee/server/constants/default-stages.json +8 -4
  81. package/ee/server/constants/default-workflow.json +3 -1
  82. package/ee/server/constants/workflows.js +10 -1
  83. package/ee/server/content-types/workflow/index.js +10 -0
  84. package/ee/server/content-types/workflow-stage/index.js +3 -1
  85. package/ee/server/controllers/admin.js +1 -0
  86. package/ee/server/controllers/workflows/index.js +135 -8
  87. package/ee/server/controllers/workflows/stages/index.js +38 -38
  88. package/ee/server/migrations/review-workflows-content-types.js +29 -0
  89. package/ee/server/migrations/review-workflows-deleted-ct-in-workflows.js +39 -0
  90. package/ee/server/migrations/review-workflows-stage-attribute.js +49 -0
  91. package/ee/server/migrations/review-workflows-stages-color.js +2 -2
  92. package/ee/server/migrations/review-workflows-workflow-name.js +21 -0
  93. package/ee/server/register.js +12 -2
  94. package/ee/server/routes/review-workflows.js +44 -10
  95. package/ee/server/services/index.js +1 -0
  96. package/ee/server/services/review-workflows/entity-service-decorator.js +8 -13
  97. package/ee/server/services/review-workflows/review-workflows.js +45 -53
  98. package/ee/server/services/review-workflows/stages.js +84 -46
  99. package/ee/server/services/review-workflows/validation.js +60 -0
  100. package/ee/server/services/review-workflows/workflows/content-types.js +80 -0
  101. package/ee/server/services/review-workflows/workflows/index.js +207 -0
  102. package/ee/server/utils/review-workflows.js +30 -25
  103. package/ee/server/validation/review-workflows.js +49 -10
  104. package/package.json +10 -11
  105. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +0 -2
  106. package/admin/src/content-manager/pages/ListView/utils/buildQueryString.js +0 -36
  107. package/admin/src/content-manager/pages/ListView/utils/createPluginsFilter.js +0 -4
  108. package/admin/src/hooks/useLicenseLimits/index.js +0 -3
  109. package/admin/src/pages/App/utils/index.js +0 -3
  110. package/admin/src/pages/App/utils/unique-identifier.js +0 -12
  111. package/build/1799.44d2e264.chunk.js +0 -33
  112. package/build/5932.6a23b88c.chunk.js +0 -1
  113. package/build/7018.98feed67.chunk.js +0 -1
  114. package/build/7259.fb69d4bf.chunk.js +0 -1
  115. package/build/admin-app.fea867af.chunk.js +0 -61
  116. package/build/admin-edit-users.200551e3.chunk.js +0 -10
  117. package/build/admin-users.3b12dca2.chunk.js +0 -11
  118. package/build/audit-logs-settings-page.f538490f.chunk.js +0 -1
  119. package/build/content-manager.c40f5ff9.chunk.js +0 -1088
  120. package/build/content-type-builder-translation-en-json.f592325b.chunk.js +0 -1
  121. package/build/content-type-builder.bd1bbff1.chunk.js +0 -166
  122. package/build/main.ee36abd9.js +0 -2927
  123. package/build/review-workflows-settings.93808ae0.chunk.js +0 -110
  124. package/build/runtime~main.efd966f6.js +0 -2
  125. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +0 -58
  126. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +0 -3
  127. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ProtectedPage.js +0 -20
  128. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +0 -204
  129. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +0 -3
  130. package/ee/server/services/review-workflows/workflows.js +0 -25
@@ -1,61 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5538],{32903:function(Z,v,t){"use strict";t.r(v),t.d(v,{default:function(){return Os}});var e=t(32735),f=t(12301),y=t(65810),E=t(56784),c=t.n(E),m=t(93839),A=t.n(m),M=t(86349),L=t.n(M),U=t(88423),b=t.n(U),D=t(74758),S=t(14911),R=t(47750),T="strapi-admin-language",i=t(19565),B=t(60216),a=t.n(B),ue=t(20108),me=t(15062),I=t(66694),x=t(97889);const ee={menuLogo:null,authLogo:null};var Re=(o=ee,s)=>(0,x.ZP)(o,n=>{switch(s.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(n,s.values);break}default:return n}});const ge=({children:o,authLogo:s,menuLogo:n,showReleaseNotification:r,showTutorials:l})=>{const[{menuLogo:h,authLogo:p},P]=(0,e.useReducer)(Re,ee),N=(0,e.useCallback)(({menuLogo:Y,authLogo:C})=>P({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:Y||n,authLogo:C||s}}),[s,n]),j=(0,e.useMemo)(()=>({logos:{menu:{custom:h,default:n},auth:{custom:p,default:s}},updateProjectSettings:N,showReleaseNotification:r,showTutorials:l}),[h,n,p,s,N,r,l]);return e.createElement(I._5.Provider,{value:j},o)};ge.propTypes={authLogo:a().string.isRequired,children:a().element.isRequired,menuLogo:a().string.isRequired,showReleaseNotification:a().bool.isRequired,showTutorials:a().bool.isRequired};var we=ge,ke=t(33795),Se=t.n(ke),ze=t(3040),je=t.n(ze);const et="GUIDED_TOUR_CURRENT_STEP",$e="GUIDED_TOUR_COMPLETED_STEPS",mt="GUIDED_TOUR_SKIPPED",tt=JSON.parse,Je=JSON.stringify;var De={clear(){localStorage.removeItem(et),localStorage.removeItem($e)},addCompletedStep(o){const s=tt(localStorage.getItem($e))?.slice()||[];s.includes(o)||(s.push(o),localStorage.setItem($e,Je(s)))},addCurrentStep(o){localStorage.setItem(et,Je(o))},setSkipped(o){localStorage.setItem(mt,Je(o))},get(o){return tt(localStorage.getItem(o))}},gt=o=>{const s={...o},n=De.get($e),r=De.get(et),l=De.get(mt);if(n&&n.forEach(h=>{const[p,P]=h.split(".");je()(s,["guidedTourState",p,P],!0)}),r){const[h,p]=r.split(".");je()(s,["guidedTourState",h,p],!0),De.addCompletedStep(r),De.addCurrentStep(null)}return l!==null&&je()(s,"isSkipped",l),s};const pt={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var st=(o=pt,s)=>(0,x.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}}),ft=(o,s)=>{const n=Object.entries(s),r=n.findIndex(([h])=>h===o);return n.slice(0,r).every(([,h])=>Object.values(h).every(Boolean))},ht=(o,s)=>{const n=o.split("."),r=n[1],l=Object.entries(s[n[0]]),h=l.findIndex(([P])=>P===r);return l.slice(0,h).every(([,P])=>P)};const nt=({children:o})=>{const[{currentStep:s,guidedTourState:n,isGuidedTourVisible:r,isSkipped:l},h]=(0,e.useReducer)(st,pt,gt),p=C=>{if(C!==null){const oe=Se()(n,C),Q=ht(C,n);if(oe||l||!Q)return null}return De.addCurrentStep(C),h({type:"SET_CURRENT_STEP",step:C})},P=C=>{h({type:"SET_GUIDED_TOUR_VISIBILITY",value:C})},N=(C,oe)=>{De.addCompletedStep(C),h({type:"SET_STEP_STATE",currentStep:C,value:oe})},j=C=>{const oe=n[C];if(oe){const Q=ft(C,n),re=Object.keys(oe)[0],q=oe[re];if(Q&&!s&&!q)return p(`${C}.${re}`)}return null},Y=C=>{De.setSkipped(C),h({type:"SET_SKIPPED",value:C})};return e.createElement(i.Zc,{guidedTourState:n,currentStep:s,setCurrentStep:p,setGuidedTourVisibility:P,setSkipped:Y,setStepState:N,startSection:j,isGuidedTourVisible:r,isSkipped:l},o)};nt.propTypes={children:a().element.isRequired};var Et=nt,at=t(58732),Ht=t.n(at),Pt=t(78023),vt=t(5985);const Ze=({changeLocale:o,children:s,localeNames:n})=>e.createElement(vt.Z.Provider,{value:{changeLocale:o,localeNames:n}},s);Ze.propTypes={changeLocale:a().func.isRequired,children:a().element.isRequired,localeNames:a().object.isRequired};var yt=Ze,Rt=o=>{const s=window.localStorage.getItem(T);return{locale:o[s]?s:"en",localeNames:o}};const ot={localeNames:{en:"English"},locale:"en"};var Ct=(o=ot,s)=>{switch(s.type){case"CHANGE_LOCALE":{const{locale:n}=s;return o.localeNames[n]?{...o,locale:n}:o}default:return o}};const Mt=({children:o,localeNames:s,messages:n})=>{const[{locale:r},l]=(0,e.useReducer)(Ct,ot,()=>Rt(s));(0,e.useEffect)(()=>{window.localStorage.setItem(T,r),document.documentElement.setAttribute("lang",r)},[r]);const h=P=>{l({type:"CHANGE_LOCALE",locale:P})},p=Ht()(n[r],n.en);return e.createElement(Pt.Z,{locale:r,defaultLocale:"en",messages:p,textComponent:"span"},e.createElement(yt,{changeLocale:h,localeNames:s},o))};Mt.propTypes={children:a().element.isRequired,localeNames:a().objectOf(a().string).isRequired,messages:a().object.isRequired};var Lt=Mt,St=t(24854),Ie=t(67879),Dt=t(10328),Be=t(8471),It=Be.vJ`
2
- body {
3
- background: ${({theme:o})=>o.colors.neutral100};
4
- }
5
- `;const Ot=({children:o})=>{const{currentTheme:s,themes:n}=(0,Dt.M1)(),{locale:r}=(0,Ie.Z)();return e.createElement(St.h,{locale:r,theme:n[s]||n.light},o,e.createElement(It,null))};Ot.propTypes={children:a().element.isRequired};var bt=Ot;const it="STRAPI_THEME",Ut=()=>{const o=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",s=localStorage.getItem(it);return s||localStorage.setItem(it,o),s||o},kt=({children:o,themes:s})=>{const[n,r]=(0,e.useState)(Ut()),l=(0,e.useCallback)(p=>{r(p),localStorage.setItem(it,p)},[r]),h=(0,e.useMemo)(()=>({currentTheme:n,onChangeTheme:l,themes:s}),[n,l,s]);return e.createElement(I.Rj.Provider,{value:h},o)};kt.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 jt=kt;const g=new ue.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),d=({authLogo:o,children:s,components:n,customFields:r,fields:l,getAdminInjectedComponents:h,getPlugin:p,localeNames:P,menu:N,menuLogo:j,messages:Y,plugins:C,runHookParallel:oe,runHookSeries:Q,runHookWaterfall:re,settings:q,showReleaseNotification:K,showTutorials:Fe,store:Ge,themes:te})=>e.createElement(Lt,{messages:Y,localeNames:P},e.createElement(jt,{themes:te},e.createElement(bt,null,e.createElement(ue.QueryClientProvider,{client:g},e.createElement(me.zt,{store:Ge},e.createElement(I.ux.Provider,{value:{getAdminInjectedComponents:h}},e.createElement(we,{authLogo:o,menuLogo:j,showReleaseNotification:K,showTutorials:Fe},e.createElement(i._Y,{getPlugin:p,menu:N,plugins:C,runHookParallel:oe,runHookWaterfall:re,runHookSeries:Q,settings:q},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(Et,null,e.createElement(i.N$,null,s))))))))))))));d.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 u=d,O=t(20284),k=t(6680);const W=(o,s)=>{let n=k.compose;const r=[];o.forEach(h=>{r.push(h())});const l=(0,k.createStore)($(s,{}),{},n((0,k.applyMiddleware)(...r)));return l.asyncReducers={},l.injectReducer=(h,p)=>{l.asyncReducers[h]=p,l.replaceReducer($(s,l.asyncReducers))},l},$=(o,s)=>(0,k.combineReducers)({...o,...s});var F=W,X=t(78246),G=()=>{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)))}}},Pe=t(46339),Oe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=",Xe={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},xe=t(10728),ne=t(53038);const We=({component:o,path:s,...n})=>{const{pathname:r,search:l}=(0,ne.TH)();return e.createElement(ne.AW,{path:s,render:h=>i.I8.getToken()!==null?e.createElement(o,{...n,...h}):e.createElement(ne.l_,{to:{pathname:"/auth/login",search:r!=="/"&&`?redirectTo=${encodeURIComponent(`${r}${l}`)}`}})})};We.propTypes={component:a().any.isRequired,path:a().string.isRequired};var Ne=(0,e.memo)(We);const Ke={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 ve=t(18782),ae=t(8997),pe=t(84306),be=t(39935),qe=t.n(be),ss=t(9086),rt=t.n(ss),ns=t(20139),as=t(41832),z=t(24346),Ve=t(27649),ye=t(72850),Te=t(49372),Ae=t(87933),He=t(10369),lt=t(41415),wt=t(92802),Ye=t(10190),ce=t(954);const Zt=({onSubmit:o,schema:s})=>{const{formatMessage:n}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{email:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:r,errors:l,handleChange:h})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},n({id:"Auth.form.button.password-recovery",defaultMessage:"Password Recovery"}))),l.errorMessage&&e.createElement(Te.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},n({id:l.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(He.o,{error:l.email?n({id:l.email,defaultMessage:"This email is invalid."}):"",value:r.email,onChange:h,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(lt.z,{type:"submit",fullWidth:!0},n({id:"Auth.form.button.forgot-password",defaultMessage:"Send Email"})))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},n({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};Zt.defaultProps={onSubmit:o=>o.preventDefault()},Zt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var os=Zt,is=()=>{const{formatMessage:o}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},o({id:"app.containers.AuthPage.ForgotPasswordSuccess.title",defaultMessage:"Email sent"}))),e.createElement(Te.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(ye.x,{paddingTop:4},e.createElement(Te.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(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},rs=()=>{const{formatMessage:o}=(0,Ie.Z)(),n=(0,i.aM)().get("info")||o({id:"Auth.components.Oops.text",defaultMessage:"Your account has been suspended."});return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},o({id:"Auth.components.Oops.title",defaultMessage:"Oops..."}))),e.createElement(Te.Z,null,n),e.createElement(ye.x,{paddingTop:4},e.createElement(Te.Z,null,o({id:"Auth.components.Oops.text.admin",defaultMessage:"If this is a mistake, please contact your administrator."}))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},o({id:"Auth.link.signin",defaultMessage:"Sign in"}))))))},ls=t(15335),Gt=t(5803),us=t(8284),ut=t(54894),ct=t(60492),dt=t(72218);const zt=Be.ZP.a`
6
- color: ${({theme:o})=>o.colors.primary600};
7
- `,$t=(0,Be.ZP)(He.o)`
8
- ::-ms-reveal {
9
- display: none;
10
- }
11
- `,Bt=({authType:o,fieldsToDisable:s,noSignin:n,onSubmit:r,schema:l})=>{const h=(0,i.lm)(),{push:p}=(0,ne.k6)(),[P,N]=(0,e.useState)(!1),[j,Y]=(0,e.useState)(!1),[C,oe]=(0,e.useState)(0),[Q,re]=(0,e.useState)({}),{trackUsage:q}=(0,i.rS)(),{formatMessage:K}=(0,Ie.Z)(),Fe=(0,i.aM)(),{formatAPIError:Ge}=(0,i.So)(),{get:te}=(0,i.kY)(),ie=Fe.get("registrationToken");(0,e.useEffect)(()=>{ie&&(async()=>{try{const{data:{data:w}}=await te(`/admin/registration-info?registrationToken=${ie}`);w&&re(w)}catch(w){const J=Ge(w);h({type:"warning",message:J}),p(`/auth/oops?info=${encodeURIComponent(J)}`)}})()},[ie]);function Ce(fe){return Object.entries(fe).reduce((w,[J,he])=>{let le=he;return!["password","confirmPassword"].includes(J)&&typeof he=="string"&&(le=le.trim()),w[J]=le,w},{})}return e.createElement(ce.ZP,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{firstname:Q.firstname||"",lastname:Q.lastname||"",email:Q.email||"",password:"",confirmPassword:"",registrationToken:ie||void 0,news:!1},onSubmit:async(fe,w)=>{const J=Ce(fe);try{await l.validate(J,{abortEarly:!1}),C>0&&o==="register-admin"&&q("didSubmitWithErrorsFirstAdmin",{count:C.toString()}),r(ie?{userInfo:rt()(J,["registrationToken"]),registrationToken:ie}:J,w)}catch(he){const le=(0,i.CJ)(he);oe(C+1),w.setErrors(le)}},validateOnChange:!1},({values:fe,errors:w,handleChange:J})=>e.createElement(i.l0,{noValidate:!0},e.createElement(Ve.o,null,e.createElement(Ae.k,{direction:"column",alignItems:"center",gap:3},e.createElement(Ye.Z,null),e.createElement(Te.Z,{as:"h1",variant:"alpha",textAlign:"center"},K({id:"Auth.form.welcome.title",defaultMessage:"Welcome to Strapi!"})),e.createElement(Te.Z,{variant:"epsilon",textColor:"neutral600",textAlign:"center"},K({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(Ae.k,{direction:"column",alignItems:"stretch",gap:6,marginTop:7},e.createElement(ls.r,{gap:4},e.createElement(Gt.P,{col:6},e.createElement(He.o,{name:"firstname",required:!0,value:fe.firstname,error:w.firstname?K(w.firstname):void 0,onChange:J,label:K({id:"Auth.form.firstname.label",defaultMessage:"Firstname"})})),e.createElement(Gt.P,{col:6},e.createElement(He.o,{name:"lastname",value:fe.lastname,onChange:J,label:K({id:"Auth.form.lastname.label",defaultMessage:"Lastname"})}))),e.createElement(He.o,{name:"email",disabled:s.includes("email"),value:fe.email,onChange:J,error:w.email?K(w.email):void 0,required:!0,label:K({id:"Auth.form.email.label",defaultMessage:"Email"}),type:"email"}),e.createElement($t,{name:"password",onChange:J,value:fe.password,error:w.password?K(w.password):void 0,endAction:e.createElement(dt.Z,{onClick:he=>{he.preventDefault(),N(le=>!le)},label:K(P?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},P?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),hint:K({id:"Auth.form.password.hint",defaultMessage:"Must be at least 8 characters, 1 uppercase, 1 lowercase & 1 number"}),required:!0,label:K({id:"global.password",defaultMessage:"Password"}),type:P?"text":"password"}),e.createElement($t,{name:"confirmPassword",onChange:J,value:fe.confirmPassword,error:w.confirmPassword?K(w.confirmPassword):void 0,endAction:e.createElement(dt.Z,{onClick:he=>{he.preventDefault(),Y(le=>!le)},label:K(j?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},j?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),required:!0,label:K({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:j?"text":"password"}),e.createElement(us.X,{onValueChange:he=>{J({target:{value:he,name:"news"}})},value:fe.news,name:"news","aria-label":"news"},K({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(zt,{target:"_blank",href:"https://strapi.io/terms",rel:"noreferrer"},K({id:"Auth.privacy-policy-agreement.terms",defaultMessage:"terms"})),policy:e.createElement(zt,{target:"_blank",href:"https://strapi.io/privacy",rel:"noreferrer"},K({id:"Auth.privacy-policy-agreement.policy",defaultMessage:"policy"}))})),e.createElement(lt.z,{fullWidth:!0,size:"L",type:"submit"},K({id:"Auth.form.button.register",defaultMessage:"Let's start"})))))),!n&&e.createElement(ye.x,{paddingTop:4},e.createElement(Ae.k,{justifyContent:"center"},e.createElement(i.rU,{label:"Auth.link.signin",to:"/auth/login"},K({id:"Auth.link.signin.account",defaultMessage:"Already have an account?"}))))))};Bt.defaultProps={fieldsToDisable:[],noSignin:!1,onSubmit:o=>o.preventDefault()},Bt.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 _t=Bt;const Vt=(0,Be.ZP)(He.o)`
12
- ::-ms-reveal {
13
- display: none;
14
- }
15
- `,xt=({onSubmit:o,schema:s})=>{const[n,r]=(0,e.useState)(!1),[l,h]=(0,e.useState)(!1),{formatMessage:p}=(0,Ie.Z)();return e.createElement(ce.ZP,null,e.createElement(Ve.o,null,e.createElement(ce.bU,null,e.createElement(wt.J9,{enableReinitialize:!0,initialValues:{password:"",confirmPassword:""},onSubmit:o,validationSchema:s,validateOnChange:!1},({values:P,errors:N,handleChange:j})=>e.createElement(i.l0,{noValidate:!0},e.createElement(ce.sg,null,e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:7},e.createElement(Te.Z,{as:"h1",variant:"alpha"},p({id:"global.reset-password",defaultMessage:"Reset password"}))),N.errorMessage&&e.createElement(Te.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},p({id:N.errorMessage,defaultMessage:"An error occurred"}))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(Vt,{name:"password",onChange:j,value:P.password,error:N.password?p({id:N.password,defaultMessage:"This field is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:Y=>{Y.preventDefault(),r(C=>!C)},label:p(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},n?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),hint:p({id:"Auth.form.password.hint",defaultMessage:"Password must contain at least 8 characters, 1 uppercase, 1 lowercase and 1 number"}),required:!0,label:p({id:"global.password",defaultMessage:"Password"}),type:n?"text":"password"}),e.createElement(Vt,{name:"confirmPassword",onChange:j,value:P.confirmPassword,error:N.confirmPassword?p({id:N.confirmPassword,defaultMessage:"This value is required."}):void 0,endAction:e.createElement(dt.Z,{onClick:Y=>{Y.preventDefault(),h(C=>!C)},label:p(n?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},l?e.createElement(ut.Z,null):e.createElement(ct.Z,null)),required:!0,label:p({id:"Auth.form.confirmPassword.label",defaultMessage:"Confirm Password"}),type:l?"text":"password"}),e.createElement(lt.z,{fullwidth:!0,type:"submit"},p({id:"global.change-password",defaultMessage:"Change password"})))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(i.rU,{to:"/auth/login"},p({id:"Auth.link.ready",defaultMessage:"Ready to sign in?"}))))))};xt.defaultProps={onSubmit:o=>o.preventDefault()},xt.propTypes={onSubmit:a().func,schema:a().shape({type:a().string.isRequired}).isRequired};var cs=xt;const ds=(()=>window&&window.strapi&&window.strapi.isEE?t(98768).Z:t(5365).Z)(),Yt={"forgot-password":{Component:os,endPoint:"forgot-password",fieldsToDisable:[],fieldsToOmit:[],schema:z.Ry().shape({email:z.Z_().email(i.I0.email).required(i.I0.required)}),inputsPrefix:""},"forgot-password-success":{Component:is,endPoint:"",fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},login:{Component:ds,endPoint:"login",fieldsToDisable:[],fieldsToOmit:["rememberMe"],schema:z.Ry().shape({email:z.Z_().email(i.I0.email).required(i.I0.required),password:z.Z_().required(i.I0.required),rememberMe:z.Xg().nullable()}),inputsPrefix:""},oops:{Component:rs,endPoint:null,fieldsToDisable:[],fieldsToOmit:[],schema:null,inputsPrefix:""},register:{Component:_t,endPoint:"register",fieldsToDisable:["email"],fieldsToOmit:["userInfo.confirmPassword","userInfo.news","userInfo.email"],schema:z.Ry().shape({firstname:z.Z_().trim().required(i.I0.required),lastname:z.Z_(),password:z.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:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required),registrationToken:z.Z_().required(i.I0.required)}),inputsPrefix:"userInfo."},"register-admin":{Component:_t,endPoint:"register-admin",noSignin:!0,fieldsToDisable:[],fieldsToOmit:["confirmPassword","news"],schema:z.Ry().shape({firstname:z.Z_().trim().required(i.I0.required),lastname:z.Z_(),password:z.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:z.Z_().email(i.I0.email).strict().lowercase(i.I0.lowercase).required(i.I0.required),confirmPassword:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)}),inputsPrefix:""},"reset-password":{Component:cs,endPoint:"reset-password",fieldsToDisable:[],fieldsToOmit:["confirmPassword"],schema:z.Ry().shape({password:z.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:z.Z_().oneOf([z.iH("password"),null],"components.Input.error.password.noMatch").required(i.I0.required)})}};var ms=o=>o;const Qt={formErrors:{},modifiedData:{},requestError:null},gs=(o,s)=>(0,x.ZP)(o,n=>{switch(s.type){case"ON_CHANGE":{je()(n.modifiedData,s.keys.split("."),s.value);break}case"RESET_PROPS":return Qt;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}}),Wt=({hasAdmin:o,setHasAdmin:s})=>{const{push:n,location:{search:r}}=(0,ne.k6)(),{changeLocale:l}=(0,ns.Z)(),{setSkipped:h}=(0,i.c1)(),{trackUsage:p}=(0,i.rS)(),{params:{authType:P}}=(0,ne.$B)("/auth/:authType"),N=(0,i.aM)(),j=(0,ve.c)(Yt,async()=>(await t.e(1386).then(t.bind(t,91386))).FORMS,{combine(_,se){return{..._,...se}},defaultValue:Yt}),[{formErrors:Y,modifiedData:C,requestError:oe},Q]=(0,e.useReducer)(gs,Qt,ms),q=pe.default.CancelToken.source(),{Component:K,endPoint:Fe,fieldsToDisable:Ge,fieldsToOmit:te,inputsPrefix:ie,schema:Ce,...fe}=j?.[P]??{};(0,e.useEffect)(()=>()=>{q.cancel("Component unmounted")},[]);const{post:w}=(0,i.kY)();(0,e.useEffect)(()=>{Q({type:"RESET_PROPS"})},[P]);const J=({target:{name:_,value:se}})=>{Q({type:"ON_CHANGE",keys:_,value:se})},he=async(_,{setSubmitting:se,setErrors:Me})=>{se(!0);const Ue=rt()(_,te),V=`/admin/${Fe}`;P==="login"&&await bs(_,V,{setSubmitting:se,setErrors:Me}),(P==="register"||P==="register-admin")&&await Us(_,V,{setSubmitting:se,setErrors:Me}),P==="forgot-password"&&await le(Ue,V,{setSubmitting:se,setErrors:Me}),P==="reset-password"&&await ks(Ue,V,{setSubmitting:se,setErrors:Me})},le=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{await w(se,_,{cancelToken:q.token}),n("/auth/forgot-password-success")}catch(V){console.error(V),Ue({errorMessage:"notification.error"})}finally{Me(!1)}},bs=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{const{data:{data:{token:V,user:de}}}=await w(se,rt()(_,te),{cancelToken:q.token});de.preferedLanguage&&l(de.preferedLanguage),i.I8.setToken(V,_.rememberMe),i.I8.setUserInfo(de,_.rememberMe),Xt()}catch(V){if(V.response){const de=Se()(V,["response","data","error","message"],"Something went wrong");if(qe()(de).toLowerCase()==="usernotactive"){n("/auth/oops"),Q({type:"RESET_PROPS"});return}Ue({errorMessage:de})}}finally{Me(!1)}},Us=async(_,se,{setSubmitting:Me,setErrors:Ue})=>{try{p("willCreateFirstAdmin");const{data:{data:{token:V,user:de}}}=await w(se,rt()(_,te),{cancelToken:q.token});i.I8.setToken(V,!1),i.I8.setUserInfo(de,!1),Me(!1),s(!0);const{roles:Qe}=de;if(Qe&&Qe.find(({code:js})=>js==="strapi-super-admin")&&(De.setSkipped(!1),h(!1),p("didLaunchGuidedtour")),P==="register"&&_.userInfo.news===!0||P==="register-admin"&&_.news===!0){n({pathname:"/usecase",search:`?hasAdmin=${o}`});return}Xt()}catch(V){if(p("didNotCreateFirstAdmin"),V.response){const{data:de}=V.response,Qe=(0,as.Z)(de);Ue({apiErrors:Qe})}}},ks=async(_,se,{setErrors:Me,setSubmitting:Ue})=>{try{const{data:{data:{token:V,user:de}}}=await w(se,{..._,resetPasswordToken:N.get("code")},{cancelToken:q.token});i.I8.setToken(V,!1),i.I8.setUserInfo(de,!1),n("/")}catch(V){if(V.response){const de=Se()(V,["response","data","message"],"Something went wrong"),Qe=Se()(V,["response","data","statusCode"],400);Q({type:"SET_REQUEST_ERROR",errorMessage:de,errorStatus:Qe}),Me({errorMessage:de})}}finally{Ue(!1)}},Xt=()=>{if(P==="login"){const _=N.get("redirectTo"),se=_?decodeURIComponent(_):"/";n(se)}else n("/")};return!j[P]||o&&P==="register-admin"||i.I8.getToken()?e.createElement(ne.l_,{to:"/"}):!o&&P!=="register-admin"?e.createElement(ne.l_,{to:{pathname:"/auth/register-admin",search:r}}):e.createElement(K,{...fe,authType:P,fieldsToDisable:Ge,formErrors:Y,inputsPrefix:ie,modifiedData:C,onChange:J,onSubmit:he,requestError:oe,schema:Ce})};Wt.defaultProps={hasAdmin:!1},Wt.propTypes={hasAdmin:a().bool,setHasAdmin:a().func.isRequired};var ps=Wt,fs=t(53951),hs=t(68465),Es=t(84967),Ps=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"}],Ts=(0,Be.ZP)(Te.Z)`
16
- text-align: center;
17
- `;var Rs=()=>{const o=(0,i.lm)(),{push:s,location:n}=(0,ne.k6)(),{formatMessage:r}=(0,Ie.Z)(),[l,h]=(0,e.useState)(),[p,P]=(0,e.useState)(""),{post:N}=(0,i.kY)(),{firstname:j,email:Y}=i.I8.getUserInfo(),{hasAdmin:C}=(0,vs.parse)(n?.search,{ignoreQueryPrefix:!0}),oe=l==="other",Q=async(re,q)=>{re.preventDefault();try{await N("https://analytics.strapi.io/register",{email:Y,username:j,firstAdmin:Boolean(!C),persona:{role:q?void 0:l,otherRole:q?void 0:p}}),o({type:"success",message:{id:"Usecase.notification.success.project-created",defaultMessage:"Project has been successfully created"}}),s("/")}catch{}};return e.createElement(ce.ZP,null,e.createElement(Ve.o,{labelledBy:"usecase-title"},e.createElement(ce.bU,null,e.createElement("form",{onSubmit:re=>Q(re,!1)},e.createElement(Ae.k,{direction:"column",paddingBottom:7},e.createElement(Ye.Z,null),e.createElement(ye.x,{paddingTop:6,paddingBottom:1,width:(0,i.Q1)(250)},e.createElement(Ts,{variant:"alpha",as:"h1",id:"usecase-title"},r({id:"Usecase.title",defaultMessage:"Tell us a bit more about yourself"})))),e.createElement(Ae.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(hs.P,{id:"usecase","data-testid":"usecase",label:r({id:"Usecase.input.work-type",defaultMessage:"What type of work do you do?"}),onChange:h,value:l},ys.map(({intlLabel:re,value:q})=>e.createElement(Es.W,{key:q,value:q},r(re)))),oe&&e.createElement(He.o,{name:"other",label:r({id:"Usecase.other",defaultMessage:"Other"}),value:p,onChange:re=>P(re.target.value),"data-testid":"other"}),e.createElement(lt.z,{type:"submit",size:"L",fullWidth:!0,disabled:!l},r({id:"global.finish",defaultMessage:"Finish"}))))),e.createElement(Ae.k,{justifyContent:"center"},e.createElement(ye.x,{paddingTop:4},e.createElement(Ps.A,{onClick:()=>Q(!0)},r({id:"Usecase.button.skip",defaultMessage:"Skip this question"}))))))},Jt=t(26648),As=t(73307),Cs=async()=>`web-fingerprint-${(await(await As.ZP.load()).get()).visitorId}`;const Ms=(0,e.lazy)(()=>Promise.all([t.e(6691),t.e(801)]).then(t.bind(t,29761)));function Ls(){const o=(0,ve.c)(Ke,async()=>(await t.e(7394).then(t.bind(t,17394))).ADMIN_PERMISSIONS_EE,{combine(te,ie){return L()({},te,ie)},defaultValue:Ke}),s=(0,ve.c)(Jt.y3,async()=>(await t.e(3528).then(t.bind(t,53528))).ROUTES_EE,{defaultValue:[]}),n=(0,i.lm)(),{updateProjectSettings:r}=(0,Dt.um)(),{formatMessage:l}=(0,Ie.Z)(),[{isLoading:h,hasAdmin:p,uuid:P,deviceId:N},j]=(0,e.useState)({isLoading:!0,hasAdmin:!1}),Y=(0,me.I0)(),C=(0,i.L7)(),{get:oe,post:Q}=(0,i.kY)(),re=(0,e.useMemo)(()=>(0,ae.WW)(s.map(({to:te,Component:ie,exact:Ce})=>(0,ae.ot)(ie,te,Ce))),[s]),[q,K]=(0,e.useState)(null);(0,e.useEffect)(()=>{Y({type:Jt.XS,payload:o})},[o,Y]),(0,e.useEffect)(()=>{const te=i.I8.getToken();te&&(async()=>{try{const{data:{data:{token:Ce}}}=await Q("/admin/renew-token",{token:te});i.I8.updateToken(Ce)}catch{i.I8.clearAppStorage(),window.location.reload()}})()},[Q]),(0,e.useEffect)(()=>{(async()=>{try{const{data:{data:{hasAdmin:ie,uuid:Ce,menuLogo:fe,authLogo:w}}}=await oe("/admin/init");r({menuLogo:(0,i.CR)(fe),authLogo:(0,i.CR)(w)});const J=await Cs();if(Ce){const{data:{data:he}}=await oe("/admin/telemetry-properties",{validateStatus:le=>le<500});K(he);try{const le="didInitializeAdministration";await Q("https://analytics.strapi.io/api/v2/track",{event:le,userId:"",deviceId:J,eventPropeties:{},userProperties:{environment:C.currentEnvironment},groupProperties:{...he,projectId:Ce}},{headers:{"X-Strapi-Event":le}})}catch{}}j({isLoading:!1,hasAdmin:ie,uuid:Ce,deviceId:J})}catch{n({type:"warning",message:{id:"app.containers.App.notification.error.init"}})}})()},[n,r]);const Fe=te=>j(ie=>({...ie,hasAdmin:te})),Ge=(0,e.useMemo)(()=>({uuid:P,telemetryProperties:q,deviceId:N}),[P,q,N]);return h?e.createElement(i.dO,null):e.createElement(e.Suspense,{fallback:e.createElement(i.dO,null)},e.createElement(xe.z,null,l({id:"skipToContent"})),e.createElement(i.L8,{value:Ge},e.createElement(ne.rs,null,re,e.createElement(ne.AW,{path:"/auth/:authType",render:te=>e.createElement(ps,{...te,setHasAdmin:Fe,hasAdmin:p}),exact:!0}),e.createElement(Ne,{path:"/usecase",component:Rs}),e.createElement(Ne,{path:"/",component:Ms}),e.createElement(ne.AW,{path:"",component:fs.default}))))}var Ss=Ls,Ds={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 Is{constructor({adminConfig:s,appPlugins:n,library:r,middlewares:l,reducers:h}){this.customConfigurations=s.config,this.customBootstrapConfiguration=s.bootstrap,this.configurations={authLogo:R,head:{favicon:Oe},locales:["en"],menuLogo:R,notifications:{releases:!0},themes:{light:f.W,dark:y.$},translations:{},tutorials:!0},this.appPlugins=n||{},this.library=r,this.middlewares=l,this.plugins={},this.reducers=h,this.translations={},this.hooksDict={},this.admin={injectionZones:Xe},this.customFields=O.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);c()(s.to,`link.to should be defined for ${n}`),c()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),c()(["/plugins/content-type-builder","/plugins/upload"].includes(s.to),"This method is not available for your plugin"),c()(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);c()(s.to,`link.to should be defined for ${n}`),c()(typeof s.to=="string",`Expected link.to to be a string instead received ${typeof s.to}`),c()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),c()(s.Component&&typeof s.Component=="function","link.Component should be a valid React Component"),c()(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)=>{c()(this.settings[s],"The section does not exist");const r=JSON.stringify(n);c()(n.id,`link.id should be defined for ${r}`),c()(n.intlLabel?.id&&n.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${r}`),c()(n.to,`link.to should be defined for ${r}`),c()(n.Component&&typeof n.Component=="function","link.Component should be a valid React Component"),this.settings[s].links.push(n)};addSettingsLinks=(s,n)=>{c()(this.settings[s],"The section does not exist"),c()(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})}),A()(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(Pe.No),this.createHook(Pe.LK),this.createHook(Pe.dV),this.createHook(Pe.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."),L()(this.configurations.themes.light,this.customConfigurations.theme)),n&&L()(this.configurations.themes.light,n),s&&L()(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]=G()};createSettingSection=(s,n)=>{c()(s.id,"section.id should be defined"),c()(s.intlLabel?.id&&s.intlLabel?.defaultMessage,"section.intlLabel should be defined"),c()(Array.isArray(n),"TypeError expected links to be an array"),c()(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=()=>F(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)=>{c()(this.admin.injectionZones.contentManager[s]?.[n],`The ${s} ${n} zone is not defined in the content manager`),c()(r,"A Component must be provided"),this.admin.injectionZones.contentManager[s][n].push(r)};injectAdminComponent=(s,n,r)=>{c()(this.admin.injectionZones.admin[s]?.[n],`The ${s} ${n} zone is not defined in the admin`),c()(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:h})=>({data:h,locale:l})).catch(()=>({data:null,locale:l})));return(await Promise.all(s)).reduce((l,h)=>(h.data&&(l[h.locale]=h.data),l),{})}async loadTrads(){const s=await this.loadAdminTrads(),n=Object.keys(this.appPlugins).map(p=>{const P=this.appPlugins[p].registerTrads;return P?P({locales:this.configurations.locales}):null}).filter(p=>p),l=(await Promise.all(n)).reduce((p,P)=>{const N=P.reduce((j,Y)=>(j[Y.locale]=Y.data,j),{});return Object.keys(N).forEach(j=>{p[j]={...p[j],...N[j]}}),p},{}),h=this.configurations.locales.reduce((p,P)=>(p[P]={...s[P],...l[P]||{},...this.customConfigurations?.translations?.[P]},p),{});return this.configurations.translations=h,Promise.resolve()}registerHook=(s,n)=>{c()(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,O.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=b()(Ds,this.configurations.locales||[]),{components:{components:r},fields:{fields:l}}=this.library;return e.createElement(u,{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:(h,p,P=!1)=>this.runHookWaterfall(h,p,P,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(D.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(T)||"en"}}),e.createElement(S.VK,{basename:X.Z},e.createElement(Ss,{store:s}))))}}var Os=({adminConfig:o={},appPlugins:s,library:n,middlewares:r,reducers:l})=>new Is({adminConfig:o,appPlugins:s,library:n,middlewares:r,reducers:l})},5985:function(Z,v,t){"use strict";var e=t(32735);const f=(0,e.createContext)();v.Z=f},20139:function(Z,v,t){"use strict";var e=t(32735),f=t(5985);const y=()=>{const{changeLocale:E,localeNames:c,messages:m}=(0,e.useContext)(f.Z);return{changeLocale:E,localeNames:c,messages:m}};v.Z=y},10190:function(Z,v,t){"use strict";var e=t(32735),f=t(8471),y=t(10328);const E=f.ZP.img`
18
- height: ${72/16}rem;
19
- `,c=()=>{const{logos:{auth:m}}=(0,y.um)();return e.createElement(E,{src:m?.custom??m.default,"aria-hidden":!0,alt:""})};v.Z=c},66694:function(Z,v,t){"use strict";t.d(v,{ux:function(){return y},_5:function(){return c},$l:function(){return A},Rj:function(){return L}});var e=t(32735),y=(0,e.createContext)({}),c=(0,e.createContext)({}),A=(0,e.createContext)({}),L=(0,e.createContext)({})},78246:function(Z,v){"use strict";const t="/admin/".replace(window.location.origin,"");v.Z=t},46339:function(Z,v,t){"use strict";t.d(v,{Eo:function(){return y},LK:function(){return f},No:function(){return e},dV:function(){return E}});const e="Admin/CM/pages/ListView/inject-column-in-table",f="Admin/CM/pages/App/mutate-collection-types-links",y="Admin/CM/pages/EditView/mutate-edit-view-layout",E="Admin/CM/pages/App/mutate-single-types-links"},10328:function(Z,v,t){"use strict";t.d(v,{um:function(){return E},U_:function(){return D},Dq:function(){return i},H9:function(){return je},$_:function(){return $e},rW:function(){return tt},bF:function(){return ht},G4:function(){return Lt},Te:function(){return Ut},M1:function(){return jt}});var e=t(32735),f=t(66694),E=()=>(0,e.useContext)(f._5),c=t(70166),m=t(19565),A=t(97889);const M={data:{},error:null,isLoading:!0};var U=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA":{u.isLoading=!0,u.data={},u.error=null;break}case"GET_DATA_SUCCEEDED":{u.data=d.data,u.isLoading=!1,u.error=null;break}case"GET_DATA_ERROR":{u.isLoading=!1,u.error=d.error;break}default:return u}}),D=g=>{const[{data:d,error:u,isLoading:O},k]=(0,e.useReducer)(U,M),{get:W}=(0,m.kY)();return(0,e.useEffect)(()=>{(async()=>{try{k({type:"GET_DATA"});const{data:{data:F}}=await W("/admin/permissions",{params:{role:g}});k({type:"GET_DATA_SUCCEEDED",data:F})}catch{}})()},[g,W]),{data:d,error:u,isLoading:O}};const S={role:{},permissions:{},isLoading:!0};var H=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA_SUCCEEDED":{u.role=d.role,u.permissions=d.permissions,u.isLoading=!1;break}case"GET_DATA_ERROR":{u.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{u.role.name=d.name,u.role.description=d.description;break}default:return u}}),i=g=>{const d=(0,m.lm)(),[u,O]=(0,e.useReducer)(H,S),{get:k}=(0,m.kY)();(0,e.useEffect)(()=>{g?(async F=>{try{const[{data:{data:X}},{data:{data:Ee}}]=await Promise.all([`roles/${F}`,`roles/${F}/permissions`].map(G=>k(`/admin/${G}`)));O({type:"GET_DATA_SUCCEEDED",role:X,permissions:Ee})}catch(X){console.error(X),O({type:"GET_DATA_ERROR"}),d({type:"warning",message:{id:"notification.error"}})}})(g):O({type:"GET_DATA_SUCCEEDED",role:{},permissions:[]})},[k,g,d]);const W=(0,e.useCallback)($=>{O({type:"ON_SUBMIT_SUCCEEDED",...$})},[]);return{...u,onSubmitSucceeded:W}},B=t(2287),a=t(36919),ue=t(45112),me=t(15062),I=t(78125),x=t(99381),ee=t.n(x),Re=(g,d)=>d.map(({permissions:u})=>(0,m.qX)(g,u)),we=async(g,d,u)=>{const O=Re(g,d),k=await Promise.all(O),W=d.filter((X,Ee)=>k[Ee]),$=W.findIndex(X=>X.to==="/settings");if($===-1)return[];const F=ee()(W);return F[$].notificationsCount=u?1:0,F},Se=async(g,d)=>{const u=Re(g,d),O=await Promise.all(u);return d.filter((W,$)=>O[$])},je=()=>{const{allPermissions:g}=(0,m.vn)(),{shouldUpdateStrapi:d}=(0,m.L7)(),{menu:u}=(0,m.j1)(),O=(0,me.v9)(I._),[k,W]=e.useState({generalSectionLinks:[{icon:B.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:O.marketplace.main},{icon:a.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:O.marketplace.main},{icon:ue.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0}),$=e.useRef(k.generalSectionLinks);return e.useEffect(()=>{async function F(){const X=await Se(g,u),Ee=await we(g,$.current,d);W(G=>({...G,generalSectionLinks:Ee,pluginsSectionLinks:X,isLoading:!1}))}F()},[W,$,g,u,O,d]),k},$e=()=>(0,e.useContext)(f.$l),tt=(g,d,u,O)=>{const[k,W]=(0,e.useState)(!1),$=(0,m.lm)(),{post:F}=(0,m.kY)(),{formatAPIError:X}=(0,m.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:G}}}=await F(`${g}${d}/regenerate`);W(!1),u(G)}catch(G){W(!1),O?O(G):$({type:"warning",message:X(G)})}},isLoadingConfirmation:k}};const Je=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),qt=()=>{const{latestStrapiReleaseTag:g,shouldUpdateStrapi:d}=useAppInfo(),u=useNotification();return useEffect(()=>{d&&Je&&u({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${g}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[g,d,u]),null};var De=null,Nt=t(33795),gt=t.n(Nt),Kt=(g,d)=>({...g,isLoading:d});const st={roles:[],isLoading:!0};var ft=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA":{u.isLoading=!0,u.roles=[];break}case"GET_DATA_SUCCEEDED":{u.roles=d.data,u.isLoading=!1;break}case"GET_DATA_ERROR":{u.isLoading=!1;break}default:return u}}),ht=(g=!0)=>{const d=(0,m.lm)(),[{roles:u,isLoading:O},k]=(0,e.useReducer)(ft,st,()=>Kt(st,g));(0,e.useEffect)(()=>{g&&W()},[g]);const W=(0,e.useCallback)(async()=>{const $=(0,m.tg)();try{k({type:"GET_DATA"});const{data:{data:F}}=await $.get("/admin/roles");k({type:"GET_DATA_SUCCEEDED",data:F})}catch(F){const X=gt()(F,["response","payload","message"],"An error occured");k({type:"GET_DATA_ERROR"}),X!=="Forbidden"&&d({type:"warning",message:X})}},[d]);return{roles:u,isLoading:O,getData:W}},nt=t(9086),Et=t.n(nt),at=t(8997),Pt=(g,d)=>({...g,fieldsToPick:d}),vt=t(88423),Ze=t.n(vt),yt=t(3040),Tt=t.n(yt),Rt=t(56236),ot=t.n(Rt);const At={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},Ct=(g,d)=>(0,A.ZP)(g,u=>{switch(d.type){case"GET_DATA_SUCCEEDED":{u.isLoading=!1,u.showHeaderLoader=!1,u.initialData=Ze()(d.data,g.fieldsToPick),u.modifiedData=Ze()(d.data,g.fieldsToPick);break}case"ON_CANCEL":{u.modifiedData=g.initialData,u.formErrors={};break}case"ON_CHANGE":{d.inputType==="password"&&!d.value?ot()(u.modifiedData,d.keys.split(".")):d.keys.includes("username")&&!d.value?Tt()(u.modifiedData,d.keys.split("."),null):Tt()(u.modifiedData,d.keys.split("."),d.value);break}case"ON_SUBMIT":{u.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{u.initialData=Ze()(d.data,g.fieldsToPick),u.modifiedData=Ze()(d.data,g.fieldsToPick),u.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{u.formErrors=d.errors,u.showHeaderButtonLoader=!1;break}default:return u}});var Lt=(g,d,u,O)=>{const[{formErrors:k,initialData:W,isLoading:$,modifiedData:F,showHeaderButtonLoader:X,showHeaderLoader:Ee},G]=(0,e.useReducer)(Ct,At,()=>Pt(At,O)),Pe=(0,m.lm)(),{lockApp:Oe,unlockApp:_e}=(0,m.o1)(),{get:Xe,put:xe}=(0,m.kY)();return(0,e.useEffect)(()=>{g&&(async()=>{try{const{data:{data:ae}}=await Xe(g);G({type:"GET_DATA_SUCCEEDED",data:ae,fieldsToPick:O})}catch(ae){console.error(ae.response),Pe({type:"warning",message:{id:"notification.error"}})}})()},[g]),[{formErrors:k,initialData:W,isLoading:$,modifiedData:F,showHeaderButtonLoader:X,showHeaderLoader:Ee},G,{handleCancel:()=>{G({type:"ON_CANCEL"})},handleChange:({target:{name:ve,value:ae,type:pe}})=>{G({type:"ON_CHANGE",inputType:pe,keys:ve,value:ae})},handleSubmit:async ve=>{ve.preventDefault();const ae=await(0,at.R6)(F,d);if(G({type:"SET_ERRORS",errors:ae||{}}),!ae)try{Oe(),G({type:"ON_SUBMIT"});const pe=Et()(F,["confirmPassword","registrationToken"]);pe.roles&&(pe.roles=pe.roles.map(qe=>qe.id)),pe.ssoLockedRoles&&(pe.ssoLockedRoles=[...new Set(pe.ssoLockedRoles)]);const{data:{data:be}}=await xe(g,pe);u(be),G({type:"ON_SUBMIT_SUCCEEDED",data:be}),Pe({type:"success",message:{id:"notification.success.saved"}})}catch(pe){const be=pe?.response?.payload??{data:{}};be?.data&&typeof be.data=="string"?Pe({type:"warning",message:be.data}):Pe({type:"warning",message:be.message});const qe=(0,at.Iz)(be);G({type:"SET_ERRORS",errors:qe})}finally{_e()}},setField:(ve,ae)=>{G({type:"ON_CHANGE",keys:ve,value:ae})}}]},St=t(18782);const Ie={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 Be=g=>g.map(d=>{const u=d.links.map(O=>({...O,isDisplayed:!1}));return{...d,links:u}}),Ft=t(98978),It=t.n(Ft),bt=g=>It()(g,d=>d.id),Ut=()=>{const[{isLoading:g,menu:d},u]=(0,e.useState)({isLoading:!0,menu:[]}),{allPermissions:O}=(0,m.vn)(),{shouldUpdateStrapi:k}=(0,m.L7)(),{settings:W}=(0,m.j1)(),$=(0,me.v9)(I._),{global:F,admin:X}=(0,St.c)(Ie,async()=>(await t.e(1970).then(t.bind(t,43278))).LINKS_EE,{combine(Ee,G){function Pe(Oe){if(!Oe.id)throw new Error("The settings menu item must have an id attribute.");return{...Oe,permissions:$.settings?.[Oe.id]?.main}}return{admin:[...G.admin,...Ee.admin].map(Pe),global:[...Ee.global,...G.global].map(Pe)}},defaultValue:{admin:[],global:[]}});return(0,e.useEffect)(()=>{const Ee=async()=>{const Xe=await(xe=>Promise.all(xe.reduce((ne,We,Ne)=>{const Ke=ve=>ve.map(async(ae,pe)=>({hasPermission:await(0,m.qX)(O,ae.permissions),sectionIndex:Ne,linkIndex:pe}));return[...ne,...Ke(We.links)]},[])))(Oe);u(xe=>({...xe,isLoading:!1,menu:Oe.map((ne,We)=>({...ne,links:ne.links.map((Ne,Ke)=>{const ve=Xe.find(ae=>ae.sectionIndex===We&&ae.linkIndex===Ke);return{...Ne,isDisplayed:Boolean(ve.hasPermission)}})}))}))},{global:G,...Pe}=W,Oe=Be([{...W.global,links:bt([...W.global.links,...F]).map(_e=>({..._e,hasNotification:_e.id==="000-application-infos"&&k}))},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:X},...Object.values(Pe)]);Ee()},[X,F,O,W,k]),{isLoading:g,menu:d}},jt=()=>(0,e.useContext)(f.Rj)},70166:function(Z,v,t){"use strict";t.d(v,{G:function(){return y}});var e=t(19565),f=t(20108);function y(){const{get:E}=(0,e.kY)(),{formatAPIError:c}=(0,e.So)(),m=(0,e.lm)(),A=(0,f.useQueries)(["components","content-types"].map(S=>({queryKey:["content-manager",S],async queryFn(){const{data:{data:R}}=await E(`/content-manager/${S}`);return R},onError(R){m({type:"warning",message:c(R)})}}))),[M,L]=A,U=M.isLoading||L.isLoading,b=(L?.data??[]).filter(S=>S.kind==="collectionType"&&S.isDisplayed),D=(L?.data??[]).filter(S=>S.kind!=="collectionType"&&S.isDisplayed);return{isLoading:U,components:M?.data??[],collectionTypes:b,singleTypes:D}}},18782:function(Z,v,t){"use strict";t.d(v,{c:function(){return E}});var e=t(32735),f=t(19565);function y(){return window.strapi.isEE}function E(c,m,{defaultValue:A=null,combine:M=(L,U)=>U}={}){const L=(0,f.W6)(m),U=(0,f.W6)(M),[{data:b},D]=e.useState({data:y()?A:c});return e.useEffect(()=>{async function S(){const R=await L();D({data:U(c,R)})}y()&&S()},[c,L,U]),b}},954:function(Z,v,t){"use strict";t.d(v,{sg:function(){return S},bU:function(){return R},ZP:function(){return T}});var e=t(32735),f=t(72850),y=t(87933),E=t(60216),c=t.n(E),m=t(8471),A=t(34853),M=t(67879),L=t(20139),b=()=>{const{changeLocale:i,localeNames:B}=(0,L.Z)(),{locale:a}=(0,M.Z)();return e.createElement(A.O,{label:B[a]},Object.keys(B).map(ue=>e.createElement(A.s,{onClick:()=>i(ue),key:ue},B[ue])))};const D=(0,m.ZP)(f.x)`
20
- margin: 0 auto;
21
- width: 552px;
22
- `,S=(0,m.ZP)(y.k)`
23
- flex-direction: column;
24
- `,R=({children:i})=>e.createElement(D,{shadow:"tableShadow",hasRadius:!0,paddingTop:9,paddingBottom:9,paddingLeft:10,paddingRight:10,background:"neutral0",justifyContent:"center"},i);R.propTypes={children:c().node.isRequired};const H=({children:i})=>e.createElement("div",null,e.createElement(y.k,{as:"header",justifyContent:"flex-end"},e.createElement(f.x,{paddingTop:6,paddingRight:8},e.createElement(b,null))),e.createElement(f.x,{paddingTop:2,paddingBottom:11},i));H.propTypes={children:c().node.isRequired};var T=H},78125:function(Z,v,t){"use strict";t.d(v,{_:function(){return E}});var e=t(98178),f=t(49358);const y=()=>c=>c.admin_app||f.E,E=(0,e.P1)(y(),c=>c.permissions)},72218:function(Z,v,t){"use strict";var e=t(63642),f=t(8471);const y=(0,f.ZP)(e.E)`
25
- svg {
26
- height: 1rem;
27
- width: 1rem;
28
- path {
29
- fill: ${({theme:E})=>E.colors.neutral600};
30
- }
31
- }
32
- `;v.Z=y},1115:function(Z,v,t){"use strict";var e=t(32735),f=t(10369),y=t(27649),E=t(72850),c=t(49372),m=t(87933),A=t(8284),M=t(41415),L=t(19565),U=t(54894),b=t(60492),D=t(92802),S=t(60216),R=t.n(S),H=t(67879),T=t(8471),i=t(10190),B=t(954),a=t(72218);const ue=(0,T.ZP)(f.o)`
33
- ::-ms-reveal {
34
- display: none;
35
- }
36
- `,me=({onSubmit:I,schema:x,children:ee})=>{const[Le,Re]=(0,e.useState)(!1),{formatMessage:ge}=(0,H.Z)();return e.createElement(y.o,null,e.createElement(B.bU,null,e.createElement(D.J9,{enableReinitialize:!0,initialValues:{email:"",password:"",rememberMe:!1},onSubmit:I,validationSchema:x,validateOnChange:!1},({values:we,errors:ke,handleChange:Se})=>e.createElement(L.l0,{noValidate:!0},e.createElement(B.sg,null,e.createElement(i.Z,null),e.createElement(E.x,{paddingTop:6,paddingBottom:1},e.createElement(c.Z,{variant:"alpha",as:"h1"},ge({id:"Auth.form.welcome.title",defaultMessage:"Welcome!"}))),e.createElement(E.x,{paddingBottom:7},e.createElement(c.Z,{variant:"epsilon",textColor:"neutral600"},ge({id:"Auth.form.welcome.subtitle",defaultMessage:"Log in to your Strapi account"}))),ke.errorMessage&&e.createElement(c.Z,{id:"global-form-error",role:"alert",tabIndex:-1,textColor:"danger600"},ke.errorMessage)),e.createElement(m.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(f.o,{error:ke.email?ge({id:ke.email,defaultMessage:"This value is required."}):"",value:we.email,onChange:Se,label:ge({id:"Auth.form.email.label",defaultMessage:"Email"}),placeholder:ge({id:"Auth.form.email.placeholder",defaultMessage:"kai@doe.com"}),name:"email",required:!0}),e.createElement(ue,{error:ke.password?ge({id:ke.password,defaultMessage:"This value is required."}):"",onChange:Se,value:we.password,label:ge({id:"global.password",defaultMessage:"Password"}),name:"password",type:Le?"text":"password",endAction:e.createElement(a.Z,{onClick:ze=>{ze.stopPropagation(),Re(je=>!je)},label:ge(Le?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},Le?e.createElement(U.Z,null):e.createElement(b.Z,null)),required:!0}),e.createElement(A.X,{onValueChange:ze=>{Se({target:{value:ze,name:"rememberMe"}})},value:we.rememberMe,"aria-label":"rememberMe",name:"rememberMe"},ge({id:"Auth.form.rememberMe.label",defaultMessage:"Remember me"})),e.createElement(M.z,{fullWidth:!0,type:"submit"},ge({id:"Auth.form.button.login",defaultMessage:"Login"}))))),ee),e.createElement(m.k,{justifyContent:"center"},e.createElement(E.x,{paddingTop:4},e.createElement(L.rU,{to:"/auth/forgot-password"},ge({id:"Auth.link.forgot-password",defaultMessage:"Forgot your password?"})))))};me.defaultProps={children:null,onSubmit(){}},me.propTypes={children:R().node,onSubmit:R().func,schema:R().shape({type:R().string.isRequired}).isRequired},v.Z=me},5365:function(Z,v,t){"use strict";var e=t(32735),f=t(60216),y=t.n(f),E=t(954),c=t(1115);const m=A=>e.createElement(E.ZP,null,e.createElement(c.Z,{...A}));m.defaultProps={onSubmit:A=>A.preventDefault()},m.propTypes={onSubmit:y().func},v.Z=m},53951:function(Z,v,t){"use strict";t.r(v);var e=t(32735),f=t(27649),y=t(82055),E=t(17e3),c=t(9695),m=t(19565),A=t(8482),M=t(25386),L=t(67879);const U=()=>{const{formatMessage:b}=(0,L.Z)();return(0,m.go)(),e.createElement(f.o,{labelledBy:"title"},e.createElement(y.T,{id:"title",title:b({id:"content-manager.pageNotFound",defaultMessage:"Page not found"})}),e.createElement(E.D,null,e.createElement(c.x,{action:e.createElement(m.Qj,{variant:"secondary",endIcon:e.createElement(A.Z,null),to:"/"},b({id:"app.components.NotFoundPage.back",defaultMessage:"Back to homepage"})),content:b({id:"app.page.not.found",defaultMessage:"Oops! We can't seem to find the page you're looging for..."}),hasRadius:!0,icon:e.createElement(M.Z,{width:"10rem"}),shadow:"tableShadow"})))};v.default=U},41832:function(Z,v){"use strict";const t=({data:e})=>{try{return Object.keys(e).reduce((f,y)=>{const E=e[y][0];return f[y]={id:E,defaultMessage:E},f},{})}catch{return{}}};v.Z=t},8997:function(Z,v,t){"use strict";t.d(v,{R6:function(){return y},ot:function(){return U},Iz:function(){return b.Z},Pp:function(){return D},IF:function(){return R},Qy:function(){return me},WW:function(){return T}});var e=t(19565),y=async(I,x)=>{let ee=null;try{await x.validate(I,{abortEarly:!1})}catch(Le){ee=(0,e.CJ)(Le)}return ee},E=t(32735),c=t(60216),m=t.n(c),A=t(53038);const M=({loadComponent:I})=>{const[x,ee]=(0,E.useState)(null);return(0,E.useEffect)(()=>{(async()=>{try{const Re=await I();ee(()=>Re.default)}catch(Re){console.log(Re)}})()},[I]),x?E.createElement(x,null):E.createElement(e.dO,null)},L=(I,x,ee)=>E.createElement(A.AW,{render:()=>E.createElement(M,{loadComponent:I}),key:x,path:x,exact:ee||!1});M.propTypes={loadComponent:m().func.isRequired};var U=L,b=t(41832),D=(I,x="")=>[I,x].filter(ee=>ee).join(" "),R=I=>`/admin/${I}`,T=I=>I.filter((x,ee,Le)=>Le.findIndex(Re=>Re.key===x.key)===ee),i=t(98978);const B=I=>sortBy(I,x=>x.name);var a=null;const ue={bufferToHex(I){return[...new Uint8Array(I)].map(x=>x.toString(16).padStart(2,"0")).join("")},async digestMessage(I){const x=new TextEncoder().encode(I),ee=await crypto.subtle.digest("SHA-256",x);return this.bufferToHex(ee)}};async function me(I){if(!I)return null;try{return await ue.digestMessage(I.email)}catch{return null}}},58414:function(Z,v,t){"use strict";t.d(v,{pl:function(){return L},q5:function(){return b.Z}});var e=t(32735),f=t(19565),y=t(8997),E=t(97889);const c={data:[],isLoading:!0};var A=(D,S)=>(0,E.ZP)(D,R=>{switch(S.type){case"GET_DATA_SUCCEEDED":{R.data=S.data,R.isLoading=!1;break}case"GET_DATA_ERROR":{R.isLoading=!1;break}default:return R}}),L=({ssoEnabled:D})=>{const[S,R]=(0,e.useReducer)(A,c),H=(0,f.lm)(),{get:T}=(0,f.kY)();return(0,e.useEffect)(()=>{(async()=>{try{if(!D){R({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:B}=await T((0,y.IF)("providers"));R({type:"GET_DATA_SUCCEEDED",data:B})}catch(B){console.error(B),R({type:"GET_DATA_ERROR"}),H({type:"warning",message:{id:"notification.error"}})}})()},[T,D,H]),S},U=t(21306),b=t(2690)},21306:function(Z,v,t){"use strict";var e=t(32735),f=t(19565),y=t(36866),E=t.n(y),c=t(67879),m=t(53038),A=t(2690);const M="strapi-notification-seat-limit",L="https://cloud.strapi.io/profile/billing",U="https://strapi.io/billing/request-seats",b=()=>{const{formatMessage:D}=(0,c.Z)();let{license:S}=(0,A.Z)();const R=(0,f.lm)(),{pathname:H}=(0,m.TH)();(0,e.useEffect)(()=>{if(!S?.data)return;const{enforcementUserCount:T,permittedSeats:i,licenseLimitStatus:B,isHostedOnStrapiCloud:a}=S?.data??{},ue=!E()(i)&&!window.sessionStorage.getItem(`${M}-${H}`)&&(B==="AT_LIMIT"||B==="OVER_LIMIT");let me;B==="OVER_LIMIT"?me="warning":B==="AT_LIMIT"&&(me="softWarning"),ue&&R({type:me,message:D({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:B}),title:D({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:B,enforcementUserCount:T,permittedSeats:i}),link:{url:a?L:U,label:D({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:a})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${M}-${H}`,!0)}})},[R,S.data,H,D])};v.Z=b},2690:function(Z,v,t){"use strict";var e=t(19565),f=t(20108),y=t(15062),E=t(78125);const c=()=>{const m=(0,y.v9)(E._),A=(0,e.ss)(m.settings.users),{isLoading:M,allowedActions:{canRead:L,canCreate:U,canUpdate:b,canDelete:D}}=A,S=L&&U&&b&&D,{get:R}=(0,e.kY)(),H=async()=>{const{data:{data:i}}=await R("/admin/license-limit-information");return i};return{license:(0,f.useQuery)(["ee","license-limit-info"],H,{enabled:!M&&S})}};v.Z=c},98768:function(Z,v,t){"use strict";var e=t(32735),f=t(9026),y=t(72850),E=t(87933),c=t(49372),m=t(60216),A=t.n(m),M=t(67879),L=t(8471),U=t(954),b=t(1115),D=t(58414),S=t(33205);const R=(0,L.ZP)(f.i)`
37
- flex: 1;
38
- `,H=T=>{const i=window.strapi.features.isEnabled(window.strapi.features.SSO),{isLoading:B,data:a}=(0,D.pl)({ssoEnabled:i}),{formatMessage:ue}=(0,M.Z)();return!i||!B&&a.length===0?e.createElement(U.ZP,null,e.createElement(b.Z,{...T})):e.createElement(U.ZP,null,e.createElement(b.Z,{...T},e.createElement(y.x,{paddingTop:7},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:7},e.createElement(E.k,null,e.createElement(R,null),e.createElement(y.x,{paddingLeft:3,paddingRight:3},e.createElement(c.Z,{variant:"sigma",textColor:"neutral600"},ue({id:"Auth.login.sso.divider"}))),e.createElement(R,null)),e.createElement(S.Z,{providers:a,displayAllProviders:!1})))))};H.defaultProps={onSubmit:T=>T.preventDefault(),requestError:null},H.propTypes={formErrors:A().object.isRequired,modifiedData:A().object.isRequired,onChange:A().func.isRequired,onSubmit:A().func,requestError:A().object},v.Z=H},33205:function(Z,v,t){"use strict";var e=t(32735),f=t(87933),y=t(63919),E=t(49372),c=t(15335),m=t(5803),A=t(60216),M=t.n(A),L=t(67879),U=t(14911),b=t(8471);const D=b.ZP.a`
39
- width: ${136/16}rem;
40
- display: flex;
41
- justify-content: center;
42
- align-items: center;
43
- height: ${48/16}rem;
44
- border: 1px solid ${({theme:T})=>T.colors.neutral150};
45
- border-radius: ${({theme:T})=>T.borderRadius};
46
- text-decoration: inherit;
47
- &:link {
48
- text-decoration: none;
49
- }
50
- color: ${({theme:T})=>T.colors.neutral600};
51
- `,S=(0,b.ZP)(f.k)`
52
- & a:not(:first-child):not(:last-child) {
53
- margin: 0 ${({theme:T})=>T.spaces[2]};
54
- }
55
- & a:first-child {
56
- margin-right: ${({theme:T})=>T.spaces[2]};
57
- }
58
- & a:last-child {
59
- margin-left: ${({theme:T})=>T.spaces[2]};
60
- }
61
- `,R=({provider:T})=>e.createElement(y.u,{label:T.displayName},e.createElement(D,{href:`${window.strapi.backendURL}/admin/connect/${T.uid}`},T.icon?e.createElement("img",{src:T.icon,"aria-hidden":!0,alt:"",height:"32px"}):e.createElement(E.Z,null,T.displayName)));R.propTypes={provider:M().shape({icon:M().string,displayName:M().string.isRequired,uid:M().string.isRequired}).isRequired};const H=({providers:T,displayAllProviders:i})=>{const{formatMessage:B}=(0,L.Z)();return i?e.createElement(c.r,{gap:4},T.map(a=>e.createElement(m.P,{key:a.uid,col:4},e.createElement(R,{provider:a})))):T.length>2&&!i?e.createElement(c.r,{gap:4},T.slice(0,2).map(a=>e.createElement(m.P,{key:a.uid,col:4},e.createElement(R,{provider:a}))),e.createElement(m.P,{col:4},e.createElement(y.u,{label:B({id:"global.see-more"})},e.createElement(D,{as:U.rU,to:"/auth/providers"},e.createElement("span",{"aria-hidden":!0},"\u2022\u2022\u2022"))))):e.createElement(S,{justifyContent:"center"},T.map(a=>e.createElement(R,{key:a.uid,provider:a})))};H.defaultProps={displayAllProviders:!0},H.propTypes={providers:M().arrayOf(M().object).isRequired,displayAllProviders:M().bool},v.Z=H},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 f(y){if(!t.o(e,y))return Promise.resolve().then(function(){var m=new Error("Cannot find module '"+y+"'");throw m.code="MODULE_NOT_FOUND",m});var E=e[y],c=E[0];return t.e(E[1]).then(function(){return t.t(c,19)})}f.keys=function(){return Object.keys(e)},f.id=48224,Z.exports=f},47750:function(Z,v,t){"use strict";Z.exports=t.p+"70674f63fc3904c20de0.svg"}}]);
@@ -1,10 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{19150:function(U,l,e){e.d(l,{R:function(){return o}});var t=e(19565),a=e(33348),n=e(20108);function o(u={},i={}){const{id:s="",...d}=u,c=(0,a.stringify)(d,{encode:!1}),{get:m}=(0,t.kY)(),{data:r,isError:p,isLoading:O,refetch:A}=(0,n.useQuery)(["users",s,d],async()=>{const{data:{data:h}}=await m(`/admin/users/${s}${c?`?${c}`:""}`);return h},i);let E=[];return s&&r?E=[r]:Array.isArray(r?.results)&&(E=r.results),{users:E,pagination:r?.pagination??null,isLoading:O,isError:p,refetch:A}}},40874:function(U,l,e){e.r(l),e.d(l,{default:function(){return oe}});var t=e(32735),a=e(19565),n=e(15062),o=e(53038),u=e(78125),i=e(20011),s=e(27649),d=e(82055),c=e(41415),m=e(17e3),r=e(72850),p=e(87933),O=e(49372),A=e(15335),E=e(5803),h=e(66456),I=e(29439),j=e(92802),N=e(33795),x=e.n(N),Y=e(9086),C=e.n(Y),F=e(88423),z=e.n(F),H=e(60216),b=e.n(H),V=e(67879),v=e(19150),G=e(8997),ee=e(4397),te=e(1057);const ae=async(T,P)=>{const{put:f}=(0,a.tg)(),{data:y}=await f(`/admin/users/${T}`,P);return y.data};var se=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12},autoComplete:"new-password"},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12},autoComplete:"new-password"}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]];const ne=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),X=["email","firstname","lastname","username","isActive","roles"],J=T=>{let{canUpdate:P}=T;const{formatMessage:f}=(0,V.Z)(),{params:{id:y}}=(0,o.$B)("/settings/users/:id"),{push:W}=(0,o.k6)(),{setUserDisplayName:R}=(0,a.L7)(),B=(0,a.lm)(),{lockApp:Q,unlockApp:ie}=(0,a.o1)();(0,a.go)();const{users:[K],isLoading:k}=(0,v.R)({id:y},{onError(g){const{status:M}=g.response;M===403?(B({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),W("/")):B({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),le=async(g,M)=>{Q();try{const L=await ae(y,C()(g,"confirmPassword"));B({type:"success",message:f({id:"notification.success.saved",defaultMessage:"Saved"})});const D=a.I8.getUserInfo();if(y.toString()===D.id.toString()){a.I8.setUserInfo(L);const Z=x()(g,"username")||(0,G.Pp)(g.firstname,g.lastname);R(Z)}M.setValues(z()(g,X))}catch(L){const D=(0,G.Iz)(L.response.data),Z=Object.keys(D).reduce((_,w)=>(_[w]=D[w].id,_),{});M.setErrors(Z),B({type:"warning",message:x()(L,"response.data.error.message","notification.error")})}ie()},de=k?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},$=Object.keys(z()(K,X)).reduce((g,M)=>M==="roles"?(g[M]=(K?.roles||[]).map(L=>{let{id:D}=L;return D}),g):(g[M]=K?.[M],g),{}),ce=$.username||(0,G.Pp)($.firstname,$.lastname),q=f(de,{name:ce});return k?t.createElement(s.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(d.T,{primaryAction:t.createElement(c.z,{disabled:!0,startIcon:t.createElement(h.Z,null),type:"button",size:"L"},f({id:"global.save",defaultMessage:"Save"})),title:q,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},f({id:"global.back",defaultMessage:"Back"}))}),t.createElement(m.D,null,t.createElement(a.dO,null))):t.createElement(s.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(j.J9,{onSubmit:le,initialValues:$,validateOnChange:!1,validationSchema:te.YM},g=>{let{errors:M,values:L,handleChange:D,isSubmitting:Z,dirty:_}=g;return t.createElement(a.l0,null,t.createElement(d.T,{primaryAction:t.createElement(c.z,{disabled:Z||!P?!0:!_,startIcon:t.createElement(h.Z,null),loading:Z,type:"submit",size:"L"},f({id:"global.save",defaultMessage:"Save"})),title:q,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},f({id:"global.back",defaultMessage:"Back"}))}),t.createElement(m.D,null,K?.registrationToken&&t.createElement(r.x,{paddingBottom:6},t.createElement(ne,{registrationToken:K.registrationToken})),t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(r.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},f({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(A.r,{gap:5},se.map(w=>w.map(S=>t.createElement(E.P,(0,i.Z)({key:S.name},S.size),t.createElement(a.jm,(0,i.Z)({},S,{disabled:!P,error:M[S.name],onChange:D,value:L[S.name]||""})))))))),t.createElement(r.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(p.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(O.Z,{variant:"delta",as:"h2"},f({id:"global.roles",defaultMessage:"User's role"})),t.createElement(A.r,{gap:5},t.createElement(E.P,{col:6,xs:12},t.createElement(ee.Z,{disabled:!P,error:M.roles,onChange:D,value:L.roles}))))))))}))};J.propTypes={canUpdate:b().bool.isRequired};var re=J,oe=()=>{const T=(0,a.lm)(),P=(0,n.v9)(u._),f=t.useMemo(()=>({read:P.settings.users.read,update:P.settings.users.update}),[P.settings.users]),{isLoading:y,allowedActions:{canRead:W,canUpdate:R}}=(0,a.ss)(f),{state:B}=(0,o.TH)(),Q=B?.from??"/";return(0,t.useEffect)(()=>{y||!W&&!R&&T({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[y,W,R,T]),y?t.createElement(a.dO,null):!W&&!R?t.createElement(o.l_,{to:Q}):t.createElement(re,{canUpdate:R})}},76779:function(U,l,e){var t=e(32735),a=e(50563),n=e(19565),o=e(47765),u=e(60216),i=e.n(u),s=e(67879);const d=({children:c,target:m})=>{const r=(0,n.lm)(),{formatMessage:p}=(0,s.Z)(),{copy:O}=(0,n.VP)(),A=p({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),E=async()=>{await O(m)&&r({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(n.Y_,{endAction:t.createElement(a.h,{label:A,noBorder:!0,icon:t.createElement(o.Z,null),onClick:E}),title:m,titleEllipsis:!0,subtitle:c,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};d.propTypes={children:i().oneOfType([i().element,i().string]).isRequired,target:i().string.isRequired},l.Z=d},16325:function(U,l,e){var t=e(32735),a=e(60216),n=e.n(a),o=e(67879),u=e(78246),i=e(76779);const s=({registrationToken:d})=>{const{formatMessage:c}=(0,o.Z)(),m=`${window.location.origin}${u.Z}auth/register?registrationToken=${d}`;return t.createElement(i.Z,{target:m},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:n().string},l.Z=s},4397:function(U,l,e){var t=e(32735),a=e(68465),n=e(84967),o=e(19565),u=e(27169),i=e(60216),s=e.n(i),d=e(67879),c=e(20108),m=e(8471);const r=m.F4`
2
- from {
3
- transform: rotate(0deg);
4
- }
5
- to {
6
- transform: rotate(359deg);
7
- }
8
- `,p=m.ZP.div`
9
- animation: ${r} 2s infinite linear;
10
- `,O=()=>t.createElement(p,null,t.createElement(u.Z,null)),A=async()=>{const{get:h}=(0,o.tg)(),{data:I}=await h("/admin/roles");return I.data},E=({disabled:h,error:I,onChange:j,value:N})=>{const{status:x,data:Y}=(0,c.useQuery)(["roles"],A,{staleTime:5e4}),{formatMessage:C}=(0,d.Z)(),F=I?C({id:I,defaultMessage:I}):"",z=C({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),H=C({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),b=C({id:"app.components.Select.placeholder",defaultMessage:"Select"}),V=x==="loading"?t.createElement(O,null):void 0;return t.createElement(a.P,{id:"roles",disabled:h,error:F,hint:H,label:z,name:"roles",onChange:v=>{j({target:{name:"roles",value:v}})},placeholder:b,multi:!0,startIcon:V,value:N.map(v=>v.toString()),withTags:!0,required:!0},(Y||[]).map(v=>t.createElement(n.W,{key:v.id,value:v.id.toString()},C({id:`global.${v.code}`,defaultMessage:v.name}))))};E.defaultProps={disabled:!1,error:void 0},E.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},l.Z=E},1057:function(U,l,e){e.d(l,{YM:function(){return c},Rw:function(){return u}});var t=e(24346),a=e(19565);const n={firstname:t.Z_().trim().required(a.I0.required),lastname:t.Z_(),email:t.Z_().email(a.I0.email).lowercase().required(a.I0.required),username:t.Z_().nullable(),password:t.Z_().min(8,a.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,a.I0.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(m,r)=>m?r.required(a.I0.required):r)};var u={...n,currentPassword:t.Z_().when(["password","confirmPassword"],(m,r,p)=>m||r?p.required(a.I0.required):p),preferedLanguage:t.Z_().nullable()},s={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},c=t.Ry().shape({...n,isActive:t.Xg(),...s})},28890:function(U,l,e){var t=e(32735),a=e(60216),n=e.n(a),o=e(67879),u=e(78246),i=e(76779);const s=({registrationToken:d})=>{const{formatMessage:c}=(0,o.Z)();return d?t.createElement(i.Z,{target:`${window.location.origin}${u.Z}auth/register?registrationToken=${d}`},c({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(i.Z,{target:`${window.location.origin}${u.Z}auth/login`},c({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:n().string},l.Z=s},29439:function(U,l,e){e.d(l,{Z:function(){return n}});var t=e(74512);const a=o=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...o,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),n=a}}]);
@@ -1,11 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{19150:function(C,n,e){e.d(n,{R:function(){return l}});var t=e(19565),a=e(33348),r=e(20108);function l(o={},i={}){const{id:s="",...c}=o,d=(0,a.stringify)(c,{encode:!1}),{get:g}=(0,t.kY)(),{data:m,isError:v,isLoading:h,refetch:P}=(0,r.useQuery)(["users",s,c],async()=>{const{data:{data:D}}=await g(`/admin/users/${s}${d?`?${d}`:""}`);return D},i);let p=[];return s&&m?p=[m]:Array.isArray(m?.results)&&(p=m.results),{users:p,pagination:m?.pagination??null,isLoading:h,isError:v,refetch:P}}},83119:function(C,n){const e=()=>null;n.Z=e},83196:function(C,n,e){var t=e(32735),a=e(72850),r=e(41415),l=e(19565),o=e(5644),i=e(60216),s=e.n(i),c=e(67879);const d=({displayedFilters:g})=>{const[m,v]=(0,t.useState)(!1),{formatMessage:h}=(0,c.Z)(),P=(0,t.useRef)(),p=()=>{v(D=>!D)};return t.createElement(t.Fragment,null,t.createElement(a.x,{paddingTop:1,paddingBottom:1},t.createElement(r.z,{variant:"tertiary",ref:P,startIcon:t.createElement(o.Z,null),onClick:p,size:"S"},h({id:"app.utils.filters",defaultMessage:"Filters"})),m&&t.createElement(l.J5,{displayedFilters:g,isVisible:m,onToggle:p,source:P})),t.createElement(l.W$,{filtersSchema:g}))};d.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},n.Z=d},9814:function(C,n,e){var t=e(32735),a=e(41415),r=e(7961),l=e(60216),o=e.n(l),i=e(67879);const s=({onClick:c})=>{const{formatMessage:d}=(0,i.Z)();return t.createElement(a.z,{onClick:c,startIcon:t.createElement(r.Z,null),size:"S"},d({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};s.propTypes={onClick:o().func.isRequired},n.Z=s},58795:function(C,n,e){e.r(n),e.d(n,{default:function(){return Fe}});var t=e(32735),a=e(19565),r=e(15062),l=e(78125),o=e(27649),i=e(82055),s=e(99223),c=e(17e3),d=e(33348),g=e.n(d),m=e(67879),v=e(20108),h=e(53038),P=e(19150),p=e(83196),D=e(35658),B=e(94547),F=e(19786),V=e(82884),b=e(49372),$=e(87933),K=e(50563),Z=e(72850),se=e(68625),ne=e(4038),re=e(60216),E=e.n(re),y=e(8997);const le=({canDelete:M,headers:S,entriesToDelete:T,onClickDelete:z,onSelectRow:X,withMainAction:H,withBulkActions:I,rows:_})=>{const{push:j,location:{pathname:L}}=(0,h.k6)(),{formatMessage:A}=(0,m.Z)();return t.createElement(D.p,null,_.map(u=>{const x=T.findIndex(W=>W===u.id)!==-1;return t.createElement(B.Tr,{key:u.id,...(0,a.X7)({fn:()=>j(`${L}/${u.id}`),condition:I})},H&&t.createElement(F.Td,{...a.UW},t.createElement(V.C,{"aria-label":A({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),checked:x,onChange:()=>{X({name:u.id,value:!x})}})),S.map(({key:W,cellFormatter:Y,name:N,...Q})=>t.createElement(F.Td,{key:W},typeof Y=="function"?Y(u,{key:W,name:N,formatMessage:A,...Q}):t.createElement(b.Z,{textColor:"neutral800"},u[N]||"-"))),I&&t.createElement(F.Td,null,t.createElement($.k,{justifyContent:"end"},t.createElement(K.h,{onClick:()=>j(`${L}/${u.id}`),label:A({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),noBorder:!0,icon:t.createElement(se.Z,null)}),M&&t.createElement(Z.x,{paddingLeft:1,...a.UW},t.createElement(K.h,{onClick:()=>z(u.id),label:A({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,y.Pp)(u.firstname,u.lastname)}),noBorder:!0,icon:t.createElement(ne.Z,null)})))))}))};le.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},le.propTypes={canDelete:E().bool,entriesToDelete:E().array,headers:E().array.isRequired,onClickDelete:E().func,onSelectRow:E().func,rows:E().array,withBulkActions:E().bool,withMainAction:E().bool};var fe=le,ee=e(20011),oe=e(41415),ve=e(85025),Pe=e(55225),De=e(31600),me=e(15335),ie=e(5803),Oe=e(11406),he=e(26858),ye=e(51654),Ce=e(92802),ue=e(18782),Te=e(4397),G=e(24346);const Ee={firstname:"",lastname:"",email:"",roles:[]},Le=[],Ae=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0}]],Ie=G.Ry().shape({firstname:G.Z_().trim().required(a.I0.required),lastname:G.Z_(),email:G.Z_().email(a.I0.email).required(a.I0.required),roles:G.IX().min(1,a.I0.required).required(a.I0.required)}),Re={create:{buttonSubmitLabel:{id:"app.containers.Users.ModalForm.footer.button-success",defaultMessage:"Invite user"},isDisabled:!1,next:"magic-link"},"magic-link":{buttonSubmitLabel:{id:"global.finish",defaultMessage:"Finish"},isDisabled:!0,next:null}},Ue=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),ge=M=>{let{onSuccess:S,onToggle:T}=M;const[z,X]=(0,t.useState)("create"),[H,I]=(0,t.useState)(!1),[_,j]=(0,t.useState)(null),{formatMessage:L}=(0,m.Z)(),A=(0,a.lm)(),{lockApp:u,unlockApp:x}=(0,a.o1)(),{post:W}=(0,a.kY)(),Y=(0,ue.c)(Le,async()=>(await e.e(3269).then(e.bind(e,93269))).ROLE_LAYOUT,{combine(O,R){return[...O,R]},defaultValue:[]}),N=(0,ue.c)(Ee,async()=>(await e.e(3269).then(e.bind(e,93269))).FORM_INITIAL_VALUES,{combine(O,R){return{...O,...R}},defaultValue:Ee}),Q=(0,v.useMutation)(O=>W("/admin/users",O),{async onSuccess(O){let{data:R}=O;j(R.data.registrationToken),await S(),ae(),I(!1)},onError(O){throw I(!1),A({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),O},onSettled(){x()}}),k=L({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),te=async(O,R)=>{let{setErrors:q}=R;u(),I(!0);try{await Q.mutateAsync(O)}catch(J){x(),J?.response?.data?.error.message==="Email already taken"&&q({email:J.response.data.error.message})}},ae=()=>{Me?X(Me):T()},{buttonSubmitLabel:w,isDisabled:f,next:Me}=Re[z],be=z==="create"?t.createElement(oe.z,{type:"submit",loading:H},L(w)):t.createElement(oe.z,{type:"button",loading:H,onClick:T},L(w));return t.createElement(ve.P,{onClose:T,labelledBy:"title"},t.createElement(Pe.x,null,t.createElement(he.O,{label:k},t.createElement(ye.$,{isCurrent:!0},k))),t.createElement(Ce.J9,{enableReinitialize:!0,initialValues:N,onSubmit:te,validationSchema:Ie,validateOnChange:!1},O=>{let{errors:R,handleChange:q,values:J}=O;return t.createElement(a.l0,null,t.createElement(De.f,null,t.createElement($.k,{direction:"column",alignItems:"stretch",gap:6},z!=="create"&&t.createElement(Ue,{registrationToken:_}),t.createElement(Z.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},L({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement(Z.x,{paddingTop:4},t.createElement($.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(me.r,{gap:5},Ae.map(de=>de.map(U=>t.createElement(ie.P,(0,ee.Z)({key:U.name},U.size),t.createElement(a.jm,(0,ee.Z)({},U,{disabled:f,error:R[U.name],onChange:q,value:J[U.name]}))))))))),t.createElement(Z.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},L({id:"global.roles",defaultMessage:"User's role"})),t.createElement(Z.x,{paddingTop:4},t.createElement(me.r,{gap:5},t.createElement(ie.P,{col:6,xs:12},t.createElement(Te.Z,{disabled:f,error:R.roles,onChange:q,value:J.roles})),Y.map(de=>de.map(U=>t.createElement(ie.P,(0,ee.Z)({key:U.name},U.size),t.createElement(a.jm,(0,ee.Z)({},U,{disabled:f,onChange:q,value:J[U.name]})))))))))),t.createElement(Oe.m,{startActions:t.createElement(oe.z,{variant:"tertiary",onClick:T,type:"button"},L({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:be}))}))};ge.propTypes={onToggle:E().func.isRequired,onSuccess:E().func.isRequired};var Be=ge;const ce=({pagination:M})=>t.createElement(Z.x,{paddingTop:4},t.createElement($.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:M})));ce.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},ce.propTypes={pagination:E().shape({page:E().number,pageCount:E().number,pageSize:E().number,total:E().number})};var Se=ce,_e=[{name:"firstname",metadatas:{label:"Firstname"},fieldSchema:{type:"string"}},{name:"lastname",metadatas:{label:"Lastname"},fieldSchema:{type:"string"}},{name:"email",metadatas:{label:"Email"},fieldSchema:{type:"email"}},{name:"username",metadatas:{label:"Username"},fieldSchema:{type:"string"}},{name:"isActive",metadatas:{label:"Active user"},fieldSchema:{type:"boolean"}}],We=[{name:"firstname",key:"firstname",metadatas:{label:{id:"Settings.permissions.users.firstname",defaultMessage:"Firstname"},sortable:!0}},{name:"lastname",key:"lastname",metadatas:{label:{id:"Settings.permissions.users.lastname",defaultMessage:"Lastname"},sortable:!0}},{key:"email",name:"email",metadatas:{label:{id:"Settings.permissions.users.email",defaultMessage:"Email"},sortable:!0}},{key:"roles",name:"roles",metadatas:{label:{id:"Settings.permissions.users.roles",defaultMessage:"Roles"},sortable:!1},cellFormatter({roles:M},{formatMessage:S}){return t.createElement(b.Z,{textColor:"neutral800"},M.map(T=>S({id:`Settings.permissions.users.${T.code}`,defaultMessage:T.name})).join(`,
2
- `))}},{key:"username",name:"username",metadatas:{label:{id:"Settings.permissions.users.username",defaultMessage:"Username"},sortable:!0}},{key:"isActive",name:"isActive",metadatas:{label:{id:"Settings.permissions.users.user-status",defaultMessage:"User status"},sortable:!1},cellFormatter({isActive:M},{formatMessage:S}){return t.createElement($.k,null,t.createElement(a.qb,{isActive:M,variant:M?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},S({id:M?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:M?"Active":"Inactive"})))}}];const Ke=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)(),Ze=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),pe=["ee","license-limit-info"];var xe=()=>{const{post:M}=(0,a.kY)(),{formatAPIError:S}=(0,a.So)(),[T,z]=(0,t.useState)(!1),X=(0,r.v9)(l._),{allowedActions:{canCreate:H,canDelete:I,canRead:_}}=(0,a.ss)(X.settings.users),j=(0,v.useQueryClient)(),L=(0,a.lm)(),{formatMessage:A}=(0,m.Z)(),{search:u}=(0,h.TH)();(0,a.go)(),Ke();const{users:x,pagination:W,isError:Y,isLoading:N,refetch:Q}=(0,P.R)(g().parse(u,{ignoreQueryPrefix:!0}),{enabled:_}),k=We.map(f=>({...f,metadatas:{...f.metadatas,label:A(f.metadatas.label)}})),te=A({id:"global.users",defaultMessage:"Users"}),ae=()=>{z(f=>!f)},w=(0,v.useMutation)(async f=>{await M("/admin/users/batch-delete",{ids:f})},{async onSuccess(){await Q(),await j.refetchQueries(pe)},onError(f){L({type:"warning",message:{id:"notification.error",message:S(f),defaultMessage:"An error occured"}})}});return t.createElement(o.o,{"aria-busy":N},t.createElement(a.SL,{name:"Users"}),t.createElement(i.T,{primaryAction:H&&t.createElement(Ze,{onClick:ae}),title:te,subtitle:A({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),_&&t.createElement(s.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:A({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:te})}),t.createElement(p.Z,{displayedFilters:_e}))}),t.createElement(c.D,{canRead:_},!_&&t.createElement(a.ZF,null),Y&&t.createElement("div",null,"TODO: An error occurred"),_&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:N,onConfirmDeleteAll:w.mutateAsync,onConfirmDelete:f=>w.mutateAsync([f]),headers:k,rows:x,withBulkActions:!0,withMainAction:I},t.createElement(fe,{canDelete:I,headers:k,rows:x,withBulkActions:!0,withMainAction:I})),W&&t.createElement(Se,{pagination:W}))),T&&t.createElement(Be,{onSuccess:async()=>{await Q(),await j.refetchQueries(pe)},onToggle:ae}))},Fe=()=>{const M=(0,r.v9)(l._);return t.createElement(a.O4,{permissions:M.settings.users.main},t.createElement(xe,null))}},76779:function(C,n,e){var t=e(32735),a=e(50563),r=e(19565),l=e(47765),o=e(60216),i=e.n(o),s=e(67879);const c=({children:d,target:g})=>{const m=(0,r.lm)(),{formatMessage:v}=(0,s.Z)(),{copy:h}=(0,r.VP)(),P=v({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),p=async()=>{await h(g)&&m({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(r.Y_,{endAction:t.createElement(a.h,{label:P,noBorder:!0,icon:t.createElement(l.Z,null),onClick:p}),title:g,titleEllipsis:!0,subtitle:d,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};c.propTypes={children:i().oneOfType([i().element,i().string]).isRequired,target:i().string.isRequired},n.Z=c},16325:function(C,n,e){var t=e(32735),a=e(60216),r=e.n(a),l=e(67879),o=e(78246),i=e(76779);const s=({registrationToken:c})=>{const{formatMessage:d}=(0,l.Z)(),g=`${window.location.origin}${o.Z}auth/register?registrationToken=${c}`;return t.createElement(i.Z,{target:g},d({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string},n.Z=s},4397:function(C,n,e){var t=e(32735),a=e(68465),r=e(84967),l=e(19565),o=e(27169),i=e(60216),s=e.n(i),c=e(67879),d=e(20108),g=e(8471);const m=g.F4`
3
- from {
4
- transform: rotate(0deg);
5
- }
6
- to {
7
- transform: rotate(359deg);
8
- }
9
- `,v=g.ZP.div`
10
- animation: ${m} 2s infinite linear;
11
- `,h=()=>t.createElement(v,null,t.createElement(o.Z,null)),P=async()=>{const{get:D}=(0,l.tg)(),{data:B}=await D("/admin/roles");return B.data},p=({disabled:D,error:B,onChange:F,value:V})=>{const{status:b,data:$}=(0,d.useQuery)(["roles"],P,{staleTime:5e4}),{formatMessage:K}=(0,c.Z)(),Z=B?K({id:B,defaultMessage:B}):"",se=K({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),ne=K({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),re=K({id:"app.components.Select.placeholder",defaultMessage:"Select"}),E=b==="loading"?t.createElement(h,null):void 0;return t.createElement(a.P,{id:"roles",disabled:D,error:Z,hint:ne,label:se,name:"roles",onChange:y=>{F({target:{name:"roles",value:y}})},placeholder:re,multi:!0,startIcon:E,value:V.map(y=>y.toString()),withTags:!0,required:!0},($||[]).map(y=>t.createElement(r.W,{key:y.id,value:y.id.toString()},K({id:`global.${y.code}`,defaultMessage:y.name}))))};p.defaultProps={disabled:!1,error:void 0},p.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},n.Z=p},99724:function(C,n,e){var t=e(32735),a=e(87933),r=e(63919),l=e(99140),o=e(41415),i=e(69932),s=e(7961),c=e(36866),d=e.n(c),g=e(60216),m=e.n(g),v=e(67879),h=e(58414);const P=({onClick:p})=>{const{formatMessage:D}=(0,v.Z)(),{license:B}=(0,h.q5)(),{permittedSeats:F,shouldStopCreate:V}=B?.data??{};return t.createElement(a.k,{gap:2},!d()(F)&&V&&t.createElement(r.u,{description:D({id:"Settings.application.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"}),position:"left"},t.createElement(l.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:i.Z})),t.createElement(o.z,{"data-testid":"create-user-button",onClick:p,startIcon:t.createElement(s.Z,null),size:"S",disabled:V},D({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};P.propTypes={onClick:m().func.isRequired},n.Z=P},28890:function(C,n,e){var t=e(32735),a=e(60216),r=e.n(a),l=e(67879),o=e(78246),i=e(76779);const s=({registrationToken:c})=>{const{formatMessage:d}=(0,l.Z)();return c?t.createElement(i.Z,{target:`${window.location.origin}${o.Z}auth/register?registrationToken=${c}`},d({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(i.Z,{target:`${window.location.origin}${o.Z}auth/login`},d({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string},n.Z=s},99223:function(C,n,e){e.d(n,{Z:function(){return r}});var t=e(74512),a=e(87933);const r=({startActions:l,endActions:o})=>!l&&!o?null:(0,t.jsxs)(a.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(a.k,{gap:2,wrap:"wrap",children:l}),(0,t.jsx)(a.k,{gap:2,shrink:0,wrap:"wrap",children:o})]})},7961:function(C,n,e){e.d(n,{Z:function(){return r}});var t=e(74512);const a=l=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...l,children:[(0,t.jsx)("path",{fill:"#32324D",d:"M0 2.8A.8.8 0 0 1 .8 2h22.4a.8.8 0 0 1 .8.8v2.71a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2.8Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M1.922 7.991C.197 6.675 0 6.252 0 5.289h23.953c.305 1.363-1.594 2.506-2.297 3.125-1.953 1.363-6.253 4.36-7.828 5.45-1.575 1.09-3.031.455-3.562 0-2.063-1.41-6.62-4.557-8.344-5.873ZM22.8 18H1.2c-.663 0-1.2.471-1.2 1.053v1.894C0 21.529.537 22 1.2 22h21.6c.663 0 1.2-.471 1.2-1.053v-1.894c0-.582-.537-1.053-1.2-1.053Z"}),(0,t.jsx)("path",{fill:"#32324D",d:"M0 9.555v10.972h24V9.554c-2.633 1.95-8.367 6.113-9.96 7.166-1.595 1.052-3.352.438-4.032 0L0 9.555Z"})]}),r=a}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{19150:function(U,f,t){t.d(f,{R:function(){return E}});var e=t(19565),n=t(33348),y=t(20108);function E(L={},T={}){const{id:c="",...C}=L,h=(0,n.stringify)(C,{encode:!1}),{get:S}=(0,e.kY)(),{data:g,isError:b,isLoading:A,refetch:O}=(0,y.useQuery)(["users",c,C],async()=>{const{data:{data:I}}=await S(`/admin/users/${c}${h?`?${h}`:""}`);return I},T);let v=[];return c&&g?v=[g]:Array.isArray(g?.results)&&(v=g.results),{users:v,pagination:g?.pagination??null,isLoading:A,isError:b,refetch:O}}},83196:function(U,f,t){var e=t(32735),n=t(72850),y=t(41415),E=t(19565),L=t(5644),T=t(60216),c=t.n(T),C=t(67879);const h=({displayedFilters:S})=>{const[g,b]=(0,e.useState)(!1),{formatMessage:A}=(0,C.Z)(),O=(0,e.useRef)(),v=()=>{b(I=>!I)};return e.createElement(e.Fragment,null,e.createElement(n.x,{paddingTop:1,paddingBottom:1},e.createElement(y.z,{variant:"tertiary",ref:O,startIcon:e.createElement(L.Z,null),onClick:v,size:"S"},A({id:"app.utils.filters",defaultMessage:"Filters"})),g&&e.createElement(E.J5,{displayedFilters:S,isVisible:g,onToggle:v,source:O})),e.createElement(E.W$,{filtersSchema:S}))};h.propTypes={displayedFilters:c().arrayOf(c().shape({name:c().string.isRequired,metadatas:c().shape({label:c().string}),fieldSchema:c().shape({type:c().string})})).isRequired},f.Z=h},71765:function(U,f,t){t.r(f),t.d(f,{default:function(){return ve}});var e=t(32735),n=t(19565),y=t(15062),E=t(78125),L=t(96709),T=t(17e3),c=t(72850),C=t(27649),h=t(82055),S=t(99223),g=t(67879),b=t(83196),A=t(20108),O=t(53038),v=t(19150),X=({canReadAuditLogs:a,canReadUsers:d})=>{const{get:u}=(0,n.kY)(),{search:i}=(0,O.TH)(),m=(0,n.lm)(),r={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:R=>m({type:"warning",message:R.message})},{users:s,isError:l,isLoading:p}=(0,v.R)({},{...r,enabled:d,staleTime:2*(1e3*60)}),{data:M,isLoading:P,isError:Z}=(0,A.useQuery)(["auditLogs",i],async({queryKey:R})=>{const D=R[1],{data:Me}=await u(`/admin/audit-logs${D}`);return Me},{...r,enabled:a});return{auditLogs:M,users:s,isLoading:p||P,hasError:Z||l}},w=t(85025),k=t(55225),q=t(31600),_=t(26858),ee=t(51654),te=t(60216),o=t.n(te),ae=t(96315),N=()=>{const{formatDate:a}=(0,g.Z)();return u=>{const i=(0,ae.Z)(u),m=a(i,{dateStyle:"long"}),r=a(i,{timeStyle:"medium",hourCycle:"h24"});return`${m}, ${r}`}},B=t(87933),se=t(23866),F=t(49372),ne=t(15335),oe=t(64710);const H={"entry.create":"Create entry{model, select, undefined {} other { ({model})}}","entry.update":"Update entry{model, select, undefined {} other { ({model})}}","entry.delete":"Delete entry{model, select, undefined {} other { ({model})}}","entry.publish":"Publish entry{model, select, undefined {} other { ({model})}}","entry.unpublish":"Unpublish entry{model, select, undefined {} other { ({model})}}","media.create":"Create media","media.update":"Update media","media.delete":"Delete media","media-folder.create":"Create media folder","media-folder.update":"Update media folder","media-folder.delete":"Delete media folder","user.create":"Create user","user.update":"Update user","user.delete":"Delete user","admin.auth.success":"Admin login","admin.logout":"Admin logout","content-type.create":"Create content type","content-type.update":"Update content type","content-type.delete":"Delete content type","component.create":"Create component","component.update":"Update component","component.delete":"Delete component","role.create":"Create role","role.update":"Update role","role.delete":"Delete role","permission.create":"Create permission","permission.update":"Update permission","permission.delete":"Delete permission"},$=a=>H[a]||a,Q=({actionLabel:a,actionName:d})=>e.createElement(B.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(F.Z,{textColor:"neutral600",variant:"sigma"},a),e.createElement(F.Z,{textColor:"neutral600"},d));Q.propTypes={actionLabel:o().string.isRequired,actionName:o().string.isRequired};var x=Q;const W=({status:a,data:d,formattedDate:u})=>{const{formatMessage:i}=(0,g.Z)();if(a==="loading")return e.createElement(B.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(se.a,null,"Loading content..."));const{action:m,user:r,payload:s}=d;return e.createElement(e.Fragment,null,e.createElement(c.x,{marginBottom:3},e.createElement(F.Z,{variant:"delta",id:"title"},i({id:"Settings.permissions.auditLogs.details",defaultMessage:"Log Details"}))),e.createElement(ne.r,{gap:4,gridCols:2,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:6,marginBottom:4,background:"neutral100",hasRadius:!0},e.createElement(x,{actionLabel:i({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),actionName:i({id:`Settings.permissions.auditLogs.${m}`,defaultMessage:$(m)},{model:s?.model})}),e.createElement(x,{actionLabel:i({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"}),actionName:u}),e.createElement(x,{actionLabel:i({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),actionName:r?.displayName||"-"}),e.createElement(x,{actionLabel:i({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:r?.id.toString()||"-"})),e.createElement(oe.V,{value:JSON.stringify(s,null,2),disabled:!0,label:i({id:"Settings.permissions.auditLogs.payload",defaultMessage:"Payload"})}))};W.defaultProps={data:{}},W.propTypes={status:o().oneOf(["idle","loading","error","success"]).isRequired,data:o().shape({action:o().string,date:o().string,payload:o().object,user:o().object}),formattedDate:o().string.isRequired};var ie=W;const Y=({handleClose:a,logId:d})=>{const{get:u}=(0,n.kY)(),i=(0,n.lm)(),m=async M=>{const{data:P}=await u(`/admin/audit-logs/${M}`);if(!P)throw new Error("Audit log not found");return P},{data:r,status:s}=(0,A.useQuery)(["audit-log",d],()=>m(d),{onError(){i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),a()}}),l=N(),p=r?l(r.date):"";return e.createElement(w.P,{onClose:a,labelledBy:"title"},e.createElement(k.x,null,e.createElement(_.O,{label:p,id:"title"},e.createElement(ee.$,{isCurrent:!0},p))),e.createElement(q.f,null,e.createElement(ie,{status:s,data:r,formattedDate:p})))};Y.propTypes={handleClose:o().func.isRequired,logId:o().string.isRequired};var re=Y;const j=({pagination:a})=>e.createElement(c.x,{paddingTop:4},e.createElement(B.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.v4,null),e.createElement(n.tU,{pagination:a})));j.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},j.propTypes={pagination:o().shape({page:o().number,pageCount:o().number,pageSize:o().number,total:o().number})};var le=j,de=t(35658),me=t(94547),z=t(19786),ue=t(50563),ce=t(54894);const V=({headers:a,rows:d,onOpenModal:u})=>{const{formatMessage:i}=(0,g.Z)(),m=N(),r=({type:s,value:l,model:p})=>s==="date"?m(l):s==="action"?i({id:`Settings.permissions.auditLogs.${l}`,defaultMessage:$(l)},{model:p}):l||"-";return e.createElement(de.p,null,d.map(s=>e.createElement(me.Tr,{key:s.id,...(0,n.X7)({fn:()=>u(s.id)})},a.map(({key:l,name:p,cellFormatter:M})=>e.createElement(z.Td,{key:l},e.createElement(F.Z,{textColor:"neutral800"},r({type:l,value:M?M(s[p]):s[p],model:s.payload?.model})))),e.createElement(z.Td,{...n.UW},e.createElement(B.k,{justifyContent:"end"},e.createElement(ue.h,{onClick:()=>u(s.id),"aria-label":i({id:"app.component.table.view",defaultMessage:"{target} details"},{target:`${s.action} action`}),noBorder:!0,icon:e.createElement(ce.Z,null)}))))))};V.defaultProps={rows:[]},V.propTypes={headers:o().array.isRequired,rows:o().array,onOpenModal:o().func.isRequired};var ge=V,pe=t(21428),fe=t(90333);const K=({value:a,options:d,onChange:u})=>{const{formatMessage:i}=(0,g.Z)(),m=i({id:"Settings.permissions.auditLogs.filter.aria-label",defaultMessage:"Search and select an option to filter"});return e.createElement(pe.hQ,{"aria-label":m,value:a,onChange:u},d.map(({label:r,customValue:s})=>e.createElement(fe.O,{key:s,value:s},r)))};K.defaultProps={value:null},K.propTypes={value:o().string,options:o().arrayOf(o().shape({label:o().string.isRequired,customValue:o().string.isRequired}).isRequired).isRequired,onChange:o().func.isRequired};var J=K;const G=[{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$eq",defaultMessage:"is"},value:"$eq"},{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$ne",defaultMessage:"is not"},value:"$ne"}];var Ee=({formatMessage:a,users:d,canReadUsers:u})=>{const i=Object.keys(H).map(r=>({label:a({id:`Settings.permissions.auditLogs.${r}`,defaultMessage:$(r)},{model:void 0}),customValue:r})),m=[{name:"action",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),options:i,customInput:J},fieldSchema:{type:"enumeration"}},{name:"date",metadatas:{label:a({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"})},fieldSchema:{type:"datetime"}}];if(u&&d){const r=l=>l.username?l.username:l.firstname&&l.lastname?a({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:l.firstname,lastname:l.lastname}):l.email,s=d.map(l=>({label:r(l),customValue:l.id.toString()}));return[...m,{name:"user",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),options:s,customInput:J},fieldSchema:{type:"relation",mainField:{name:"id"}}}]}return m},ye=[{name:"action",key:"action",metadatas:{label:{id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"},sortable:!0}},{name:"date",key:"date",metadatas:{label:{id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"},sortable:!0}},{key:"user",name:"user",metadatas:{label:{id:"Settings.permissions.auditLogs.user",defaultMessage:"User"},sortable:!1},cellFormatter:a=>a?a.displayName:""}],Le=()=>{const{formatMessage:a}=(0,g.Z)(),d=(0,y.v9)(E._),{allowedActions:{canRead:u,canReadUsers:i}}=(0,n.ss)({...d.settings.auditLogs,readUsers:d.settings.users.read}),[{query:m},r]=(0,n.Kx)(),{auditLogs:s,users:l,isLoading:p,hasError:M}=X({canReadAuditLogs:u,canReadUsers:i});(0,n.go)();const P=Ee({formatMessage:a,users:l,canReadUsers:i}),Z=a({id:"global.auditLogs",defaultMessage:"Audit Logs"}),R=ye.map(D=>({...D,metadatas:{...D.metadatas,label:a(D.metadatas.label)}}));return M?e.createElement(L.A,null,e.createElement(T.D,null,e.createElement(c.x,{paddingTop:8},e.createElement(n.Hn,null)))):e.createElement(C.o,{"aria-busy":p},e.createElement(n.SL,{name:Z}),e.createElement(h.T,{title:Z,subtitle:a({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(S.Z,{startActions:e.createElement(b.Z,{displayedFilters:P})}),e.createElement(T.D,{canRead:u},e.createElement(n.tM,{contentType:"Audit logs",headers:R,rows:s?.results||[],withBulkActions:!0,isLoading:p},e.createElement(ge,{headers:R,rows:s?.results||[],onOpenModal:D=>r({id:D})})),e.createElement(le,{pagination:s?.pagination})),m?.id&&e.createElement(re,{handleClose:()=>r({id:null},"remove"),logId:m.id}))},ve=()=>{const a=(0,y.v9)(E._);return e.createElement(n.O4,{permissions:a.settings.auditLogs.main},e.createElement(Le,null))}},90333:function(U,f,t){t.d(f,{O:function(){return n}});var e=t(21428);const n=e.Wx},99223:function(U,f,t){t.d(f,{Z:function(){return y}});var e=t(74512),n=t(87933);const y=({startActions:E,endActions:L})=>!E&&!L?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:E}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:L})]})}}]);