@strapi/admin 4.12.4 → 4.12.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/admin/src/StrapiApp.js +1 -1
  2. package/admin/src/components/AuthenticatedApp.js +229 -0
  3. package/admin/src/components/GuidedTour/Modal/index.js +1 -3
  4. package/admin/src/content-manager/components/Wysiwyg/WysiwygNav.js +7 -30
  5. package/admin/src/content-manager/hooks/useSyncRbac/index.js +10 -2
  6. package/admin/src/content-manager/pages/App/index.js +5 -16
  7. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -1
  8. package/admin/src/content-manager/pages/EditView/Information/index.js +1 -1
  9. package/admin/src/content-manager/pages/EditViewLayoutManager/index.js +2 -2
  10. package/admin/src/content-manager/pages/ListSettingsView/index.js +16 -41
  11. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +2 -2
  12. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +1 -1
  13. package/admin/src/content-manager/pages/ListView/index.js +27 -1
  14. package/admin/src/content-manager/pages/ListViewLayoutManager/index.js +2 -2
  15. package/admin/src/hooks/useSettingsForm/index.js +14 -3
  16. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  17. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +1 -3
  18. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +1 -3
  19. package/admin/src/index.js +1 -1
  20. package/admin/src/pages/Admin/Onboarding/index.js +1 -3
  21. package/admin/src/pages/Admin/index.js +80 -74
  22. package/admin/src/pages/App/constants.js +1 -1
  23. package/admin/src/pages/App/index.js +160 -122
  24. package/admin/src/pages/AuthPage/index.js +2 -4
  25. package/admin/src/pages/HomePage/index.js +1 -3
  26. package/admin/src/pages/InstalledPluginsPage/index.js +1 -3
  27. package/admin/src/pages/{InternalErrorPage/index.js → InternalErrorPage.js} +3 -4
  28. package/admin/src/pages/MarketplacePage/index.js +0 -1
  29. package/admin/src/pages/{NotFoundPage/index.js → NotFoundPage.js} +1 -3
  30. package/admin/src/pages/ProfilePage/index.js +2 -4
  31. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +3 -3
  32. package/admin/src/pages/SettingsPage/constants.js +67 -132
  33. package/admin/src/pages/SettingsPage/index.js +31 -36
  34. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -1
  35. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +24 -31
  36. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +69 -35
  37. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +1 -1
  38. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +11 -6
  39. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +4 -1
  40. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +1 -1
  41. package/admin/src/pages/SettingsPage/pages/Users/ListPage/index.js +1 -0
  42. package/admin/src/pages/UseCasePage.js +174 -0
  43. package/admin/src/translations/zh-Hans.json +918 -902
  44. package/admin/src/utils/createRoute.js +5 -7
  45. package/admin/src/utils/formatAPIErrors.js +1 -3
  46. package/admin/src/utils/getFullName.js +1 -1
  47. package/admin/src/utils/sortLinks.js +1 -3
  48. package/admin/src/utils/uniqueAdminHash.js +2 -9
  49. package/build/{1049.f76cb14b.chunk.js → 1049.9d69d231.chunk.js} +1 -1
  50. package/build/1504.eff012f7.chunk.js +95 -0
  51. package/build/2166.c837469a.chunk.js +1 -0
  52. package/build/2225.33287e1b.chunk.js +79 -0
  53. package/build/2237.03792b63.chunk.js +114 -0
  54. package/build/2379.401f56f3.chunk.js +1 -0
  55. package/build/2395.e6a79fbb.chunk.js +26 -0
  56. package/build/{9806.3392505e.chunk.js → 2747.d1442a90.chunk.js} +78 -70
  57. package/build/2801.31393ffe.chunk.js +1 -0
  58. package/build/3483.8517171f.chunk.js +1 -0
  59. package/build/4546.7a3c0d03.chunk.js +1 -0
  60. package/build/502.8dd074ff.chunk.js +1 -0
  61. package/build/5483.5bfbb00d.chunk.js +6 -0
  62. package/build/7464.592a9295.chunk.js +1 -0
  63. package/build/748.fd2e5afd.chunk.js +105 -0
  64. package/build/773.6381d62d.chunk.js +18 -0
  65. package/build/7826.399afe81.chunk.js +103 -0
  66. package/build/8261.2525d35c.chunk.js +7 -0
  67. package/build/8276.e519a707.chunk.js +26 -0
  68. package/build/8299.62b67c72.chunk.js +1 -0
  69. package/build/Admin-AuthPage.90d64342.chunk.js +35 -0
  70. package/build/Admin-AuthenticatedApp.379ac945.chunk.js +24 -0
  71. package/build/Admin-UseCasePage.1f757db5.chunk.js +13 -0
  72. package/build/Admin_GuidedTourModal.8ccf1fbc.chunk.js +12 -0
  73. package/build/Admin_InternalErrorPage.9de92c6d.chunk.js +9 -0
  74. package/build/Admin_NotFoundPage.21620424.chunk.js +9 -0
  75. package/build/Admin_Onboarding.dbfa32f6.chunk.js +43 -0
  76. package/build/Admin_homePage.2000cbe9.chunk.js +86 -0
  77. package/build/Admin_marketplace.ec80e29b.chunk.js +63 -0
  78. package/build/Admin_pluginsPage.0c6851f8.chunk.js +14 -0
  79. package/build/Admin_profilePage.78cd8495.chunk.js +21 -0
  80. package/build/Admin_settingsPage.1760c3ce.chunk.js +119 -0
  81. package/build/StrapiApp.221fac30.chunk.js +5 -0
  82. package/build/{admin-edit-roles-page.6d567273.chunk.js → admin-edit-roles-page.24bdf746.chunk.js} +1 -1
  83. package/build/admin-edit-users.5d10d444.chunk.js +10 -0
  84. package/build/admin-users.2b3e4305.chunk.js +11 -0
  85. package/build/api-tokens-list-page.0af7d431.chunk.js +16 -0
  86. package/build/audit-logs-settings-page.0f73ccf8.chunk.js +1 -0
  87. package/build/content-manager.fb0833bd.chunk.js +1099 -0
  88. package/build/{content-type-builder.40534de5.chunk.js → content-type-builder.66066281.chunk.js} +18 -18
  89. package/build/email-settings-page.2f7e35c0.chunk.js +11 -0
  90. package/build/i18n-translation-ru-json.a3dbc125.chunk.js +1 -0
  91. package/build/index.html +1 -1
  92. package/build/main.ee3c1938.js +2859 -0
  93. package/build/review-workflows-settings-create-view.d24a32b9.chunk.js +1 -0
  94. package/build/review-workflows-settings-edit-view.6044b022.chunk.js +1 -0
  95. package/build/review-workflows-settings-list-view.3f0ef4bc.chunk.js +56 -0
  96. package/build/runtime~main.397ee447.js +2 -0
  97. package/build/{sso-settings-page.12b6d8ae.chunk.js → sso-settings-page.4dba0670.chunk.js} +1 -1
  98. package/build/transfer-tokens-list-page.d6986b03.chunk.js +16 -0
  99. package/build/users-advanced-settings-page.17052d72.chunk.js +9 -0
  100. package/build/users-email-settings-page.3de8ea50.chunk.js +9 -0
  101. package/build/users-permissions-translation-zh-Hans-json.8d82c809.chunk.js +1 -0
  102. package/build/users-providers-settings-page.0eaa916d.chunk.js +14 -0
  103. package/build/users-roles-settings-page.957ad48b.chunk.js +55 -0
  104. package/build/webhook-edit-page.665210af.chunk.js +33 -0
  105. package/build/zh-Hans-json.97efd015.chunk.js +1 -0
  106. package/ee/admin/hooks/useAuthProviders.js +25 -0
  107. package/ee/admin/hooks/{useLicenseLimitNotification/index.js → useLicenseLimitNotification.js} +2 -4
  108. package/ee/admin/hooks/{useLicenseLimits/useLicenseLimits.js → useLicenseLimits.js} +4 -1
  109. package/ee/admin/pages/App/constants.js +6 -5
  110. package/ee/admin/pages/AuthPage/components/Login/index.js +8 -4
  111. package/ee/admin/pages/AuthPage/components/Providers/index.js +8 -5
  112. package/ee/admin/pages/HomePage/index.js +1 -1
  113. package/ee/admin/pages/SettingsPage/constants.js +27 -42
  114. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +1 -1
  115. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +1 -1
  116. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +1 -1
  117. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/CreateAction/index.js +1 -1
  118. package/ee/admin/pages/SettingsPage/pages/Users/ListPage/index.js +1 -1
  119. package/package.json +10 -10
  120. package/admin/src/components/AuthenticatedApp/index.js +0 -118
  121. package/admin/src/components/AuthenticatedApp/utils/api.js +0 -85
  122. package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.js +0 -11
  123. package/admin/src/components/PluginsInitializer/index.js +0 -68
  124. package/admin/src/components/PluginsInitializer/init.js +0 -11
  125. package/admin/src/components/PluginsInitializer/reducer.js +0 -22
  126. package/admin/src/layouts/AppLayout/index.js +0 -33
  127. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +0 -23
  128. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +0 -17
  129. package/admin/src/pages/SettingsPage/utils/createSectionsRoutes.js +0 -11
  130. package/admin/src/pages/SettingsPage/utils/getSectionsToDisplay.js +0 -5
  131. package/admin/src/pages/SettingsPage/utils/index.js +0 -2
  132. package/admin/src/pages/UseCasePage/index.js +0 -175
  133. package/admin/src/utils/checkFormValidity.js +0 -15
  134. package/admin/src/utils/getAttributesToDisplay.js +0 -19
  135. package/admin/src/utils/getExistingActions.js +0 -32
  136. package/admin/src/utils/index.js +0 -9
  137. package/admin/src/utils/makeUniqueRoutes.js +0 -6
  138. package/build/1386.879bcd90.chunk.js +0 -7
  139. package/build/2225.c6244756.chunk.js +0 -79
  140. package/build/2379.f1641312.chunk.js +0 -1
  141. package/build/2395.46f8d0c1.chunk.js +0 -26
  142. package/build/2801.5cef5ec8.chunk.js +0 -1
  143. package/build/3483.03c24f96.chunk.js +0 -1
  144. package/build/3739.63e352f1.chunk.js +0 -103
  145. package/build/3929.5632f24d.chunk.js +0 -114
  146. package/build/448.829e1344.chunk.js +0 -1
  147. package/build/4546.cfafae68.chunk.js +0 -1
  148. package/build/502.8ae8ef60.chunk.js +0 -1
  149. package/build/5483.6dd2e776.chunk.js +0 -6
  150. package/build/5542.2415a393.chunk.js +0 -63
  151. package/build/6691.4985ef22.chunk.js +0 -105
  152. package/build/7464.3e64a1d5.chunk.js +0 -1
  153. package/build/8276.10a3f883.chunk.js +0 -26
  154. package/build/9944.7af075a5.chunk.js +0 -26
  155. package/build/Admin-authenticatedApp.f5ece8ff.chunk.js +0 -79
  156. package/build/Admin_InternalErrorPage.f45f2462.chunk.js +0 -1
  157. package/build/Admin_homePage.ac9dfb86.chunk.js +0 -81
  158. package/build/Admin_marketplace.dde9c148.chunk.js +0 -55
  159. package/build/Admin_pluginsPage.bbe79434.chunk.js +0 -6
  160. package/build/Admin_profilePage.192edc52.chunk.js +0 -13
  161. package/build/Admin_settingsPage.97cb9d41.chunk.js +0 -111
  162. package/build/admin-app.91898385.chunk.js +0 -36
  163. package/build/admin-edit-users.79eeb125.chunk.js +0 -10
  164. package/build/admin-users.123aa08e.chunk.js +0 -11
  165. package/build/api-tokens-list-page.505bf7e0.chunk.js +0 -16
  166. package/build/audit-logs-settings-page.4b422831.chunk.js +0 -1
  167. package/build/content-manager.2af15f57.chunk.js +0 -1099
  168. package/build/email-settings-page.d494d1eb.chunk.js +0 -11
  169. package/build/i18n-translation-ru-json.401bc498.chunk.js +0 -1
  170. package/build/main.f13fc96c.js +0 -2856
  171. package/build/review-workflows-settings-create-view.cb08cfa2.chunk.js +0 -1
  172. package/build/review-workflows-settings-edit-view.3c7cbe63.chunk.js +0 -1
  173. package/build/review-workflows-settings-list-view.1611dc1f.chunk.js +0 -56
  174. package/build/runtime~main.bb4efc54.js +0 -2
  175. package/build/transfer-tokens-list-page.22147d2c.chunk.js +0 -16
  176. package/build/users-advanced-settings-page.f0760eb8.chunk.js +0 -9
  177. package/build/users-email-settings-page.ff4b32f3.chunk.js +0 -9
  178. package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +0 -1
  179. package/build/users-providers-settings-page.48de0306.chunk.js +0 -14
  180. package/build/users-roles-settings-page.3f9f063e.chunk.js +0 -30
  181. package/build/webhook-edit-page.6cb479ff.chunk.js +0 -33
  182. package/build/zh-Hans-json.937b395b.chunk.js +0 -1
  183. package/ee/admin/hooks/index.js +0 -4
  184. package/ee/admin/hooks/useAuthProviders/index.js +0 -50
  185. package/ee/admin/hooks/useAuthProviders/reducer.js +0 -26
  186. package/ee/admin/hooks/useLicenseLimits/index.js +0 -1
  187. /package/ee/admin/hooks/{useLicenseLimits/__mocks__/index.js → __mocks__/useLicenseLimits.js} +0 -0
@@ -0,0 +1,5 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5762],{34412:function(k,h,t){"use strict";t.r(h),t.d(h,{default:function(){return mt}});var o=t(32735),d=t(12301),p=t(65810),g=t(56784),u=t.n(g),H=t(93839),T=t.n(H),y=t(86349),A=t.n(y),Q=t(88423),G=t.n(Q),ue=t(74758),D=t(14911),K=t(47750),pe="strapi-admin-language",P=t(19565),z=t(60216),s=t.n(z),U=t(20108),M=t(15062),V=t(76402),Z=t(97889);const F={menuLogo:null,authLogo:null};var X=(a=F,e)=>(0,Z.ZP)(a,n=>{switch(e.type){case"UPDATE_PROJECT_SETTINGS":{Object.assign(n,e.values);break}default:return n}});const se=({children:a,authLogo:e,menuLogo:n,showReleaseNotification:i,showTutorials:r})=>{const[{menuLogo:l,authLogo:c},v]=(0,o.useReducer)(X,F),N=(0,o.useCallback)(({menuLogo:$,authLogo:S})=>v({type:"UPDATE_PROJECT_SETTINGS",values:{menuLogo:$||n,authLogo:S||e}}),[e,n]),x=(0,o.useMemo)(()=>({logos:{menu:{custom:l,default:n},auth:{custom:c,default:e}},updateProjectSettings:N,showReleaseNotification:i,showTutorials:r}),[l,n,c,e,N,i,r]);return o.createElement(V._5.Provider,{value:x},a)};se.propTypes={authLogo:s().string.isRequired,children:s().element.isRequired,menuLogo:s().string.isRequired,showReleaseNotification:s().bool.isRequired,showTutorials:s().bool.isRequired};var Pe=se,je=t(33795),Le=t.n(je),be=t(3040),ve=t.n(be),B=t(96030),ke=a=>{const e={...a},n=B.ZP.get(B.JN),i=B.ZP.get(B.ik),r=B.ZP.get(B.kb);if(n&&n.forEach(l=>{const[c,v]=l.split(".");ve()(e,["guidedTourState",c,v],!0)}),i){const[l,c]=i.split(".");ve()(e,["guidedTourState",l,c],!0),B.ZP.addCompletedStep(i),B.ZP.addCurrentStep(null)}return r!==null&&ve()(e,"isSkipped",r),e};const Te={currentStep:null,guidedTourState:{contentTypeBuilder:{create:!1,success:!1},contentManager:{create:!1,success:!1},apiTokens:{create:!1,success:!1}},isGuidedTourVisible:!1,isSkipped:!0};var Oe=(a=Te,e)=>(0,Z.ZP)(a,n=>{switch(e.type){case"SET_CURRENT_STEP":{n.currentStep=e.step;break}case"SET_STEP_STATE":{const[i,r]=e.currentStep.split(".");n.guidedTourState[i][r]=e.value;break}case"SET_SKIPPED":{n.isSkipped=e.value;break}case"SET_GUIDED_TOUR_VISIBILITY":{n.isGuidedTourVisible=e.value;break}default:return n}}),xe=(a,e)=>{const n=Object.entries(e),i=n.findIndex(([l])=>l===a);return n.slice(0,i).every(([,l])=>Object.values(l).every(Boolean))},E=(a,e)=>{const n=a.split("."),i=n[1],r=Object.entries(e[n[0]]),l=r.findIndex(([v])=>v===i);return r.slice(0,l).every(([,v])=>v)};const m=({children:a})=>{const[{currentStep:e,guidedTourState:n,isGuidedTourVisible:i,isSkipped:r},l]=(0,o.useReducer)(Oe,Te,ke),c=S=>{if(S!==null){const I=Le()(n,S),ee=E(S,n);if(I||r||!ee)return null}return B.ZP.addCurrentStep(S),l({type:"SET_CURRENT_STEP",step:S})},v=S=>{l({type:"SET_GUIDED_TOUR_VISIBILITY",value:S})},N=(S,I)=>{B.ZP.addCompletedStep(S),l({type:"SET_STEP_STATE",currentStep:S,value:I})},x=S=>{const I=n[S];if(I){const ee=xe(S,n),te=Object.keys(I)[0],Se=I[te];if(ee&&!e&&!Se)return c(`${S}.${te}`)}return null},$=S=>{B.ZP.setSkipped(S),l({type:"SET_SKIPPED",value:S})};return o.createElement(P.Zc,{guidedTourState:n,currentStep:e,setCurrentStep:c,setGuidedTourVisibility:v,setSkipped:$,setStepState:N,startSection:x,isGuidedTourVisible:i,isSkipped:r},a)};m.propTypes={children:s().element.isRequired};var f=m,W=t(58732),oe=t.n(W),w=t(78023),ie=t(33229);const J=({changeLocale:a,children:e,localeNames:n})=>o.createElement(ie.Z.Provider,{value:{changeLocale:a,localeNames:n}},e);J.propTypes={changeLocale:s().func.isRequired,children:s().element.isRequired,localeNames:s().object.isRequired};var ae=J,j=a=>{const e=window.localStorage.getItem(pe);return{locale:a[e]?e:"en",localeNames:a}};const R={localeNames:{en:"English"},locale:"en"};var ye=(a=R,e)=>{switch(e.type){case"CHANGE_LOCALE":{const{locale:n}=e;return a.localeNames[n]?{...a,locale:n}:a}default:return a}};const de=({children:a,localeNames:e,messages:n})=>{const[{locale:i},r]=(0,o.useReducer)(ye,R,()=>j(e));(0,o.useEffect)(()=>{window.localStorage.setItem(pe,i),document.documentElement.setAttribute("lang",i)},[i]);const l=v=>{r({type:"CHANGE_LOCALE",locale:v})},c=oe()(n[i],n.en);return o.createElement(w.Z,{locale:i,defaultLocale:"en",messages:c,textComponent:"span"},o.createElement(ae,{changeLocale:l,localeNames:e},a))};de.propTypes={children:s().element.isRequired,localeNames:s().objectOf(s().string).isRequired,messages:s().object.isRequired};var me=de,Ce=t(24854),ge=t(67879),he=t(63465),Ee=t(8471),b=(0,Ee.vJ)`
2
+ body {
3
+ background: ${({theme:a})=>a.colors.neutral100};
4
+ }
5
+ `;const C=({children:a})=>{const{currentTheme:e,themes:n}=(0,he.M1)(),{locale:i}=(0,ge.Z)();return o.createElement(Ce.h,{locale:i,theme:n[e]||n.light},a,o.createElement(b,null))};C.propTypes={children:s().element.isRequired};var O=C;const q="STRAPI_THEME",we=()=>{const a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",e=localStorage.getItem(q);return e||localStorage.setItem(q,a),e||a},Ue=({children:a,themes:e})=>{const[n,i]=(0,o.useState)(we()),r=(0,o.useCallback)(c=>{i(c),localStorage.setItem(q,c)},[i]),l=(0,o.useMemo)(()=>({currentTheme:n,onChangeTheme:r,themes:e}),[n,r,e]);return o.createElement(V.Rj.Provider,{value:l},a)};Ue.propTypes={children:s().node.isRequired,themes:s().shape({light:s().shape({colors:s().object.isRequired,shadows:s().object.isRequired,sizes:s().object.isRequired,zIndices:s().array.isRequired,spaces:s().array.isRequired,borderRadius:s().string.isRequired,mediaQueries:s().object.isRequired,fontSizes:s().array.isRequired,lineHeights:s().array.isRequired,fontWeights:s().object.isRequired}).isRequired,dark:s().shape({colors:s().object.isRequired,shadows:s().object.isRequired,sizes:s().object.isRequired,zIndices:s().array.isRequired,spaces:s().array.isRequired,borderRadius:s().string.isRequired,mediaQueries:s().object.isRequired,fontSizes:s().array.isRequired,lineHeights:s().array.isRequired,fontWeights:s().object.isRequired}).isRequired,custom:s().object}).isRequired};var Je=Ue;const Ye=new U.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),Ge=({authLogo:a,children:e,components:n,customFields:i,fields:r,getAdminInjectedComponents:l,getPlugin:c,localeNames:v,menu:N,menuLogo:x,messages:$,plugins:S,runHookParallel:I,runHookSeries:ee,runHookWaterfall:te,settings:Se,showReleaseNotification:L,showTutorials:ne,store:Ie,themes:gt})=>o.createElement(me,{messages:$,localeNames:v},o.createElement(Je,{themes:gt},o.createElement(O,null,o.createElement(U.QueryClientProvider,{client:Ye},o.createElement(M.zt,{store:Ie},o.createElement(V.ux.Provider,{value:{getAdminInjectedComponents:l}},o.createElement(Pe,{authLogo:a,menuLogo:x,showReleaseNotification:L,showTutorials:ne},o.createElement(P._Y,{getPlugin:c,menu:N,plugins:S,runHookParallel:I,runHookWaterfall:te,runHookSeries:ee,settings:Se},o.createElement(P.rt,{components:n,fields:r},o.createElement(P.MG,{customFields:i},o.createElement(P.m$,null,o.createElement(P.w7,null,o.createElement(f,null,o.createElement(P.N$,null,e))))))))))))));Ge.propTypes={authLogo:s().oneOfType([s().string,s().any]).isRequired,children:s().element.isRequired,components:s().object.isRequired,customFields:s().object.isRequired,fields:s().object.isRequired,getAdminInjectedComponents:s().func.isRequired,getPlugin:s().func.isRequired,localeNames:s().objectOf(s().string).isRequired,menu:s().arrayOf(s().shape({to:s().string.isRequired,icon:s().func.isRequired,intlLabel:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired}).isRequired,permissions:s().array,Component:s().func})).isRequired,menuLogo:s().oneOfType([s().string,s().any]).isRequired,messages:s().object.isRequired,plugins:s().object.isRequired,runHookParallel:s().func.isRequired,runHookWaterfall:s().func.isRequired,runHookSeries:s().func.isRequired,settings:s().object.isRequired,showReleaseNotification:s().bool.isRequired,showTutorials:s().bool.isRequired,store:s().object.isRequired,themes:s().shape({light:s().shape({colors:s().object.isRequired,shadows:s().object.isRequired,sizes:s().object.isRequired,zIndices:s().array.isRequired,spaces:s().array.isRequired,borderRadius:s().string.isRequired,mediaQueries:s().object.isRequired,fontSizes:s().array.isRequired,lineHeights:s().array.isRequired,fontWeights:s().object.isRequired}).isRequired,dark:s().shape({colors:s().object.isRequired,shadows:s().object.isRequired,sizes:s().object.isRequired,zIndices:s().array.isRequired,spaces:s().array.isRequired,borderRadius:s().string.isRequired,mediaQueries:s().object.isRequired,fontSizes:s().array.isRequired,lineHeights:s().array.isRequired,fontWeights:s().object.isRequired}).isRequired,custom:s().object}).isRequired};var Qe=Ge,ze=t(59883),Re=t(6680);const Xe=(a,e)=>{let n=Re.compose;const i=[];a.forEach(l=>{i.push(l())});const r=(0,Re.createStore)(Be(e,{}),{},n((0,Re.applyMiddleware)(...i)));return r.asyncReducers={},r.injectReducer=(l,c)=>{r.asyncReducers[l]=c,r.replaceReducer(Be(e,r.asyncReducers))},r},Be=(a,e)=>(0,Re.combineReducers)({...a,...e});var qe=Xe,_e=t(35231),et=()=>{const a=[];return{register(e){a.push(e)},delete(e){a.splice(a.indexOf(e),1)},runWaterfall(e,n){return a.reduce((i,r)=>r(i,n),e)},async runWaterfallAsync(e,n){let i=e;for(const r of a)i=await r(i,n);return i},runSeries(...e){return a.map(n=>n(...e))},async runSeriesAsync(...e){const n=[];for(const i of a)n.push(await i(...e));return n},runParallel(...e){return Promise.all(a.map(n=>n(...e)))}}},Ae=t(66941),tt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAXVBMVEUAAABIRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9IRP9JRf9IRf9IRP5IRP5JRP9JRf////+Vk/+zsv++vf9mY/9taf9/fP+Jh//c3P9RTf/Ibar2AAAAFHRSTlMA/MJX+fPt48cahaff1dMaGqcahSpTPmAAAAEvSURBVFjD7dfNTsMwEATgXcf5cdKEtixtcYH3f0xEibIguba1g8Slc+58iqUedmhNaMbJzX3Xema5G2bfdv3iprE50s80g7Yqw0Oz1Z+cmOL2a38nxuy+BSfmuNv7BUhDRAMCDESBEYCDvsD6hmcMGGnCgIkcBjhaMGCmHgN66jCgoxYDWvIY4IkxgHFAkrmeU7kmfpkG4uUllXMtEE82QPs2QPs2QPs2QPs2QPsAoH0DoH0LoH0QeN3ydtnyXg38ok76MQ/gAfwf8JH8V18LQOljomBAFAyIkga4CGT7XAtEuQf4IpDri6e2BoiZA6OrAGLuxOnLQMweWXMRyPVlwQ/NAwZMNGLACJ/76ODYo5MHHl3o7EOHZ6BbjtbpG/5kfOv8P7ilbv7PX/M/rMVPqrI3XI3nd3sAAAAASUVORK5CYII=",nt={admin:{tutorials:{links:[]}},contentManager:{editView:{informations:[],"right-links":[]},listView:{actions:[],deleteModalAdditionalInfos:[],publishModalAdditionalInfos:[],unpublishModalAdditionalInfos:[]}}},st=t(10728),_=t(53038);const Ze=({component:a,path:e,...n})=>{const{pathname:i,search:r}=(0,_.TH)();return o.createElement(_.AW,{path:e,render:l=>P.I8.getToken()!==null?o.createElement(a,{...n,...l}):o.createElement(_.l_,{to:{pathname:"/auth/login",search:i!=="/"&&`?redirectTo=${encodeURIComponent(`${i}${r}`)}`}})})};Ze.propTypes={component:s().any.isRequired,path:s().string.isRequired};var Fe=(0,o.memo)(Ze);const We={contentManager:{main:[],collectionTypesConfigurations:[{action:"plugin::content-manager.collection-types.configure-view",subject:null}],componentsConfigurations:[{action:"plugin::content-manager.components.configure-layout",subject:null}],singleTypesConfigurations:[{action:"plugin::content-manager.single-types.configure-view",subject:null}]},marketplace:{main:[{action:"admin::marketplace.read",subject:null}],read:[{action:"admin::marketplace.read",subject:null}]},settings:{roles:{main:[{action:"admin::roles.create",subject:null},{action:"admin::roles.update",subject:null},{action:"admin::roles.read",subject:null},{action:"admin::roles.delete",subject:null}],create:[{action:"admin::roles.create",subject:null}],delete:[{action:"admin::roles.delete",subject:null}],read:[{action:"admin::roles.read",subject:null}],update:[{action:"admin::roles.update",subject:null}]},users:{main:[{action:"admin::users.create",subject:null},{action:"admin::users.read",subject:null},{action:"admin::users.update",subject:null},{action:"admin::users.delete",subject:null}],create:[{action:"admin::users.create",subject:null}],delete:[{action:"admin::users.delete",subject:null}],read:[{action:"admin::users.read",subject:null}],update:[{action:"admin::users.update",subject:null}]},webhooks:{main:[{action:"admin::webhooks.create",subject:null},{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],create:[{action:"admin::webhooks.create",subject:null}],delete:[{action:"admin::webhooks.delete",subject:null}],read:[{action:"admin::webhooks.read",subject:null},{action:"admin::webhooks.update",subject:null},{action:"admin::webhooks.delete",subject:null}],update:[{action:"admin::webhooks.update",subject:null}]},"api-tokens":{main:[{action:"admin::api-tokens.access",subject:null}],create:[{action:"admin::api-tokens.create",subject:null}],delete:[{action:"admin::api-tokens.delete",subject:null}],read:[{action:"admin::api-tokens.read",subject:null}],update:[{action:"admin::api-tokens.update",subject:null}],regenerate:[{action:"admin::api-tokens.regenerate",subject:null}]},"transfer-tokens":{main:[{action:"admin::transfer.tokens.access",subject:null}],create:[{action:"admin::transfer.tokens.create",subject:null}],delete:[{action:"admin::transfer.tokens.delete",subject:null}],read:[{action:"admin::transfer.tokens.read",subject:null}],update:[{action:"admin::transfer.tokens.update",subject:null}],regenerate:[{action:"admin::transfer.tokens.regenerate",subject:null}]},"project-settings":{read:[{action:"admin::project-settings.read",subject:null}],update:[{action:"admin::project-settings.update",subject:null}]}}};var ot=t(47446),$e=t(9592),Ke=t(4556);const it=o.lazy(()=>t.e(8826).then(t.bind(t,27129)).then(a=>({default:a.AuthPage}))),at=o.lazy(()=>Promise.all([t.e(748),t.e(3349)]).then(t.bind(t,46590)).then(a=>({default:a.AuthenticatedApp}))),rt=o.lazy(()=>t.e(9884).then(t.bind(t,48066)).then(a=>({default:a.UseCasePage}))),Ve=o.lazy(()=>t.e(5788).then(t.bind(t,1708)).then(a=>({default:a.NotFoundPage}))),ut=o.lazy(()=>t.e(9501).then(t.bind(t,53165)).then(a=>({default:a.InternalErrorPage})));function lt(){const{updateProjectSettings:a}=(0,ot.Z)(),{formatMessage:e}=(0,ge.Z)(),n=(0,M.I0)(),{get:i,post:r}=(0,P.kY)(),l=(0,$e.c)(We,async()=>(await t.e(3100).then(t.bind(t,73100))).ADMIN_PERMISSIONS_EE,{combine(L,ne){return A()({},L,ne)},defaultValue:We}),c=(0,$e.c)(Ke.hf,async()=>(await t.e(8299).then(t.bind(t,38299))).AUTH_ROUTES_EE,{defaultValue:[]}),[{hasAdmin:v,uuid:N},x]=o.useState({hasAdmin:!1,uuid:void 0});o.useEffect(()=>{n({type:Ke.XS,payload:l})},[l,n]);const[{data:$,error:S},{data:I,isLoading:ee},{data:te}]=(0,U.useQueries)([{queryKey:"renew-token",async queryFn(){const{data:{data:{token:L}}}=await r("/admin/renew-token",{token:P.I8.getToken()});return L},enabled:!!P.I8.getToken()},{queryKey:"init",async queryFn(){const{data:{data:L}}=await i("/admin/init");return L}},{queryKey:"telemetry-properties",async queryFn(){const{data:{data:L}}=await i("/admin/telemetry-properties",{validateStatus:ne=>ne<500});return L},enabled:!!P.I8.getToken()}]);o.useEffect(()=>{S?(P.I8.clearAppStorage(),window.location.reload()):$&&P.I8.updateToken($)},[S,$]),o.useEffect(()=>{!ee&&I&&(a({menuLogo:(0,P.CR)(I.menuLogo),authLogo:(0,P.CR)(I.authLogo)}),x(L=>({...L,hasAdmin:I.hasAdmin,uuid:I.uuid})))},[I,ee,a]),o.useEffect(()=>{async function L(){await fetch("https://analytics.strapi.io/api/v2/track",{body:JSON.stringify({event:"didInitializeAdministration",userId:"",eventPropeties:{},userProperties:{},groupProperties:{...te,projectId:N}}),headers:{"Content-Type":"application/json","X-Strapi-Event":"didInitializeAdministration"},method:"POST"})}N&&L()},[te,N]);const Se=o.useMemo(()=>({uuid:N,telemetryProperties:te}),[N,te]);return ee?o.createElement(P.dO,null):o.createElement(o.Suspense,{fallback:o.createElement(P.dO,null)},o.createElement(st.z,null,e({id:"skipToContent"})),o.createElement(P.L8,{value:Se},o.createElement(_.rs,null,c.map(({path:L,component:ne})=>o.createElement(_.AW,{key:L,path:L,component:ne,exact:!0})),o.createElement(_.AW,{path:"/auth/:authType",render:L=>o.createElement(it,{...L,setHasAdmin:ne=>x(Ie=>({...Ie,hasAdmin:ne})),hasAdmin:v}),exact:!0}),o.createElement(Fe,{path:"/usecase",component:rt}),o.createElement(Fe,{path:"/",component:at}),o.createElement(_.AW,{path:"/404",component:Ve}),o.createElement(_.AW,{path:"/500",component:ut}),o.createElement(_.AW,{path:"",component:Ve}))))}var ct={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 dt{constructor({adminConfig:e,appPlugins:n,library:i,middlewares:r,reducers:l}){this.customConfigurations=e.config,this.customBootstrapConfiguration=e.bootstrap,this.configurations={authLogo:K,head:{favicon:tt},locales:["en"],menuLogo:K,notifications:{releases:!0},themes:{light:d.W,dark:p.$},translations:{},tutorials:!0},this.appPlugins=n||{},this.library=i,this.middlewares=r,this.plugins={},this.reducers=l,this.translations={},this.hooksDict={},this.admin={injectionZones:nt},this.customFields=ze.rh,this.menu=[],this.settings={global:{id:"global",intlLabel:{id:"Settings.global",defaultMessage:"Global Settings"},links:[]}}}addComponents=e=>{Array.isArray(e)?e.map(n=>this.library.components.add(n)):this.library.components.add(e)};addCorePluginMenuLink=e=>{const n=JSON.stringify(e);u()(e.to,`link.to should be defined for ${n}`),u()(typeof e.to=="string",`Expected link.to to be a string instead received ${typeof e.to}`),u()(["/plugins/content-type-builder","/plugins/upload"].includes(e.to),"This method is not available for your plugin"),u()(e.intlLabel?.id&&e.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),this.menu.push(e)};addFields=e=>{Array.isArray(e)?e.map(n=>this.library.fields.add(n)):this.library.fields.add(e)};addMenuLink=e=>{const n=JSON.stringify(e);u()(e.to,`link.to should be defined for ${n}`),u()(typeof e.to=="string",`Expected link.to to be a string instead received ${typeof e.to}`),u()(e.intlLabel?.id&&e.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${n}`),u()(e.Component&&typeof e.Component=="function","link.Component should be a valid React Component"),u()(e.icon&&typeof e.icon=="function","link.Icon should be a valid React Component"),this.menu.push(e)};addMiddlewares=e=>{e.forEach(n=>{this.middlewares.add(n)})};addReducers=e=>{Object.keys(e).forEach(n=>{this.reducers.add(n,e[n])})};addSettingsLink=(e,n)=>{u()(this.settings[e],"The section does not exist");const i=JSON.stringify(n);u()(n.id,`link.id should be defined for ${i}`),u()(n.intlLabel?.id&&n.intlLabel?.defaultMessage,`link.intlLabel.id & link.intlLabel.defaultMessage for ${i}`),u()(n.to,`link.to should be defined for ${i}`),u()(n.Component&&typeof n.Component=="function","link.Component should be a valid React Component"),this.settings[e].links.push(n)};addSettingsLinks=(e,n)=>{u()(this.settings[e],"The section does not exist"),u()(Array.isArray(n),"TypeError expected links to be an array"),n.forEach(i=>{this.addSettingsLink(e,i)})};async bootstrap(){Object.keys(this.appPlugins).forEach(e=>{const n=this.appPlugins[e].bootstrap;n&&n({addSettingsLink:this.addSettingsLink,addSettingsLinks:this.addSettingsLinks,getPlugin:this.getPlugin,injectContentManagerComponent:this.injectContentManagerComponent,injectAdminComponent:this.injectAdminComponent,registerHook:this.registerHook})}),T()(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(Ae.No),this.createHook(Ae.LK),this.createHook(Ae.dV),this.createHook(Ae.Eo),Promise.resolve());createCustomConfigurations=async()=>{if(this.customConfigurations?.locales&&(this.configurations.locales=["en",...this.customConfigurations.locales?.filter(e=>e!=="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 e=this.customConfigurations.theme.dark,n=this.customConfigurations.theme.light;!e&&!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."),A()(this.configurations.themes.light,this.customConfigurations.theme)),n&&A()(this.configurations.themes.light,n),e&&A()(this.configurations.themes.dark,e)}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=e=>{this.hooksDict[e]=et()};createSettingSection=(e,n)=>{u()(e.id,"section.id should be defined"),u()(e.intlLabel?.id&&e.intlLabel?.defaultMessage,"section.intlLabel should be defined"),u()(Array.isArray(n),"TypeError expected links to be an array"),u()(this.settings[e.id]===void 0,"A similar section already exists"),this.settings[e.id]={...e,links:[]},n.forEach(i=>{this.addSettingsLink(e.id,i)})};createStore=()=>qe(this.middlewares.middlewares,this.reducers.reducers);getAdminInjectedComponents=(e,n,i)=>{try{return this.admin.injectionZones[e][n][i]||[]}catch(r){return console.error("Cannot get injected component",r),r}};getPlugin=e=>this.plugins[e];async initialize(){Object.keys(this.appPlugins).forEach(e=>{this.appPlugins[e].register(this)})}injectContentManagerComponent=(e,n,i)=>{u()(this.admin.injectionZones.contentManager[e]?.[n],`The ${e} ${n} zone is not defined in the content manager`),u()(i,"A Component must be provided"),this.admin.injectionZones.contentManager[e][n].push(i)};injectAdminComponent=(e,n,i)=>{u()(this.admin.injectionZones.admin[e]?.[n],`The ${e} ${n} zone is not defined in the admin`),u()(i,"A Component must be provided"),this.admin.injectionZones.admin[e][n].push(i)};async loadAdminTrads(){const e=this.configurations.locales.map(r=>t(48224)(`./${r}.json`).then(({default:l})=>({data:l,locale:r})).catch(()=>({data:null,locale:r})));return(await Promise.all(e)).reduce((r,l)=>(l.data&&(r[l.locale]=l.data),r),{})}async loadTrads(){const e=await this.loadAdminTrads(),n=Object.keys(this.appPlugins).map(c=>{const v=this.appPlugins[c].registerTrads;return v?v({locales:this.configurations.locales}):null}).filter(c=>c),r=(await Promise.all(n)).reduce((c,v)=>{const N=v.reduce((x,$)=>(x[$.locale]=$.data,x),{});return Object.keys(N).forEach(x=>{c[x]={...c[x],...N[x]}}),c},{}),l=this.configurations.locales.reduce((c,v)=>(c[v]={...e[v],...r[v]||{},...this.customConfigurations?.translations?.[v]},c),{});return this.configurations.translations=l,Promise.resolve()}registerHook=(e,n)=>{u()(this.hooksDict[e],`The hook ${e} is not defined. You are trying to register a hook that does not exist in the application.`),this.hooksDict[e].register(n)};registerPlugin=e=>{const n=(0,ze.Sy)(e);this.plugins[n.pluginId]=n};runHookSeries=(e,n=!1)=>n?this.hooksDict[e].runSeriesAsync():this.hooksDict[e].runSeries();runHookWaterfall=(e,n,i=!1,r)=>i?this.hooksDict[e].runWaterfallAsync(n,r):this.hooksDict[e].runWaterfall(n,r);runHookParallel=e=>this.hooksDict[e].runParallel();render(){const e=this.createStore(),n=G()(ct,this.configurations.locales||[]),{components:{components:i},fields:{fields:r}}=this.library;return o.createElement(Qe,{authLogo:this.configurations.authLogo,components:i,fields:r,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:(l,c,v=!1)=>this.runHookWaterfall(l,c,v,e),runHookSeries:this.runHookSeries,themes:this.configurations.themes,settings:this.settings,showTutorials:this.configurations.tutorials,showReleaseNotification:this.configurations.notifications.releases,store:e},o.createElement(o.Fragment,null,o.createElement(ue.q,{link:[{rel:"icon",type:"image/png",href:this.configurations.head.favicon}],htmlAttributes:{lang:localStorage.getItem(pe)||"en"}}),o.createElement(D.VK,{basename:_e.Z},o.createElement(lt,{store:e}))))}}var mt=({adminConfig:a={},appPlugins:e,library:n,middlewares:i,reducers:r})=>new dt({adminConfig:a,appPlugins:e,library:n,middlewares:i,reducers:r})},96030:function(k,h,t){"use strict";t.d(h,{JN:function(){return d},ik:function(){return o},kb:function(){return p}});const o="GUIDED_TOUR_CURRENT_STEP",d="GUIDED_TOUR_COMPLETED_STEPS",p="GUIDED_TOUR_SKIPPED",g=JSON.parse,u=JSON.stringify,H={clear(){localStorage.removeItem(o),localStorage.removeItem(d)},addCompletedStep(T){const y=g(localStorage.getItem(d))?.slice()||[];y.includes(T)||(y.push(T),localStorage.setItem(d,u(y)))},addCurrentStep(T){localStorage.setItem(o,u(T))},setSkipped(T){localStorage.setItem(p,u(T))},get(T){return g(localStorage.getItem(T))}};h.ZP=H},33229:function(k,h,t){"use strict";var o=t(32735);const d=(0,o.createContext)();h.Z=d},76402:function(k,h,t){"use strict";t.d(h,{ux:function(){return p},_5:function(){return u},$l:function(){return T},Rj:function(){return A}});var o=t(32735),p=(0,o.createContext)({}),u=(0,o.createContext)({}),T=(0,o.createContext)({}),A=(0,o.createContext)({})},35231:function(k,h){"use strict";const t="/admin/".replace(window.location.origin,"");h.Z=t},66941:function(k,h,t){"use strict";t.d(h,{Eo:function(){return p},LK:function(){return d},No:function(){return o},dV:function(){return g}});const o="Admin/CM/pages/ListView/inject-column-in-table",d="Admin/CM/pages/App/mutate-collection-types-links",p="Admin/CM/pages/EditView/mutate-edit-view-layout",g="Admin/CM/pages/App/mutate-single-types-links"},63465:function(k,h,t){"use strict";t.d(h,{um:function(){return o.Z},$_:function(){return T},rW:function(){return Q},G4:function(){return je},Te:function(){return Ne},M1:function(){return He}});var o=t(47446),d=t(90769),p=t(93051),g=t(32735),u=t(76402),T=()=>(0,g.useContext)(u.$l),y=t(19565),Q=(E,m,f,W)=>{const[oe,w]=(0,g.useState)(!1),ie=(0,y.lm)(),{post:J}=(0,y.kY)(),{formatAPIError:ae}=(0,y.So)();return{regenerateData:async()=>{try{const{data:{data:{accessKey:j}}}=await J(`${E}${m}/regenerate`);w(!1),f(j)}catch(j){w(!1),W?W(j):ie({type:"warning",message:ae(j)})}},isLoadingConfirmation:oe}};const G=!JSON.parse(localStorage.getItem("STRAPI_UPDATE_NOTIF")),ue=()=>{const{latestStrapiReleaseTag:E,shouldUpdateStrapi:m}=useAppInfo(),f=useNotification();return useEffect(()=>{m&&G&&f({type:"info",message:{id:"notification.version.update.message"},link:{url:`https://github.com/strapi/strapi/releases/tag/${E}`,label:{id:"global.see-more"}},blockTransition:!0,onClose:()=>localStorage.setItem("STRAPI_UPDATE_NOTIF",!0)})},[E,m,f]),null};var D=null,K=t(9086),fe=t.n(K),pe=t(5074),z=(E,m)=>({...E,fieldsToPick:m}),s=t(97889),U=t(88423),M=t.n(U),V=t(3040),Z=t.n(V),F=t(56236),le=t.n(F);const X={fieldsToPick:[],formErrors:{},initialData:{},isLoading:!0,modifiedData:{},showHeaderButtonLoader:!1,showHeaderLoader:!0},se=(E,m)=>(0,s.ZP)(E,f=>{switch(m.type){case"GET_DATA_SUCCEEDED":{f.isLoading=!1,f.showHeaderLoader=!1,f.initialData=M()(m.data,E.fieldsToPick),f.modifiedData=M()(m.data,E.fieldsToPick);break}case"ON_CANCEL":{f.modifiedData=E.initialData,f.formErrors={};break}case"ON_CHANGE":{m.inputType==="password"&&!m.value?le()(f.modifiedData,m.keys.split(".")):m.keys.includes("username")&&!m.value?Z()(f.modifiedData,m.keys.split("."),null):Z()(f.modifiedData,m.keys.split("."),m.value);break}case"ON_SUBMIT":{f.showHeaderButtonLoader=!0;break}case"ON_SUBMIT_SUCCEEDED":{f.initialData=M()(m.data,E.fieldsToPick),f.modifiedData=M()(m.data,E.fieldsToPick),f.showHeaderButtonLoader=!1;break}case"SET_ERRORS":{f.formErrors=m.errors,f.showHeaderButtonLoader=!1;break}default:return f}});var je=(E,m,f,W)=>{const[{formErrors:oe,initialData:w,isLoading:ie,modifiedData:J,showHeaderButtonLoader:ae,showHeaderLoader:ce},j]=(0,g.useReducer)(se,X,()=>z(X,W)),R=(0,y.lm)(),{lockApp:re,unlockApp:ye}=(0,y.o1)(),{get:de,put:me}=(0,y.kY)();return(0,g.useEffect)(()=>{E&&(async()=>{try{const{data:{data:b}}=await de(E);j({type:"GET_DATA_SUCCEEDED",data:b,fieldsToPick:W})}catch(b){console.error(b.response),R({type:"warning",message:{id:"notification.error"}})}})()},[E]),[{formErrors:oe,initialData:w,isLoading:ie,modifiedData:J,showHeaderButtonLoader:ae,showHeaderLoader:ce},j,{handleCancel:()=>{j({type:"ON_CANCEL"})},handleChange:({target:{name:Y,value:b,type:C}})=>{j({type:"ON_CHANGE",inputType:C,keys:Y,value:b})},handleSubmit:async Y=>{Y.preventDefault();let b=null;try{await m.validate(J,{abortEarly:!1})}catch(C){b=(0,y.CJ)(C)}if(j({type:"SET_ERRORS",errors:b||{}}),!b)try{re(),j({type:"ON_SUBMIT"});const C=fe()(J,["confirmPassword","registrationToken"]);C.roles&&(C.roles=C.roles.map(q=>q.id)),C.ssoLockedRoles&&(C.ssoLockedRoles=[...new Set(C.ssoLockedRoles)]);const{data:{data:O}}=await me(E,C);f(O),j({type:"ON_SUBMIT_SUCCEEDED",data:O}),R({type:"success",message:{id:"notification.success.saved"}})}catch(C){const O=C?.response?.payload??{data:{}};O?.data&&typeof O.data=="string"?R({type:"warning",message:O.data}):R({type:"warning",message:O.message});const q=(0,pe.I)(O);j({type:"SET_ERRORS",errors:q})}finally{ye()}},setField:(Y,b)=>{j({type:"ON_CHANGE",keys:Y,value:b})}}]},Le=t(15062),be=t(30305),ve=t(9592);const B={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"}]},De=E=>E.map(m=>{const f=m.links.map(W=>({...W,isDisplayed:!1}));return{...m,links:f}});var ke=t(98978),Te=t.n(ke);const Me=E=>Te()(E,m=>m.id);var Ne=()=>{const[{isLoading:E,menu:m},f]=(0,g.useState)({isLoading:!0,menu:[]}),{allPermissions:W}=(0,y.vn)(),{shouldUpdateStrapi:oe}=(0,y.L7)(),{settings:w}=(0,y.j1)(),ie=(0,Le.v9)(be._),{global:J,admin:ae}=(0,ve.c)(B,async()=>(await t.e(918).then(t.bind(t,50918))).LINKS_EE,{combine(R,re){return{admin:[...re.admin,...R.admin],global:[...R.global,...re.global]}},defaultValue:{admin:[],global:[]}}),ce=(0,g.useCallback)(R=>{if(!R.id)throw new Error("The settings menu item must have an id attribute.");return{...R,permissions:ie.settings?.[R.id]?.main}},[ie.settings]);(0,g.useEffect)(()=>{const R=async()=>{const Ce=await(ge=>Promise.all(ge.reduce((he,Ee,Y)=>{const b=C=>C.map(async(O,q)=>({hasPermission:await(0,y.qX)(W,O.permissions),sectionIndex:Y,linkIndex:q}));return[...he,...b(Ee.links)]},[])))(de);f(ge=>({...ge,isLoading:!1,menu:de.map((he,Ee)=>({...he,links:he.links.map((Y,b)=>{const C=Ce.find(O=>O.sectionIndex===Ee&&O.linkIndex===b);return{...Y,isDisplayed:Boolean(C.hasPermission)}})}))}))},{global:re,...ye}=w,de=De([{...w.global,links:Me([...w.global.links,...J.map(ce)]).map(me=>({...me,hasNotification:me.id==="000-application-infos"&&oe}))},{id:"permissions",intlLabel:{id:"Settings.permissions",defaultMessage:"Administration Panel"},links:ae.map(ce)},...Object.values(ye)]);R()},[ae,J,W,w,oe,ce]);const j=R=>({...R,links:R.links.filter(re=>re.isDisplayed)});return{isLoading:E,menu:m.map(j)}},He=()=>(0,g.useContext)(u.Rj)},47446:function(k,h,t){"use strict";var o=t(32735),d=t(76402);const p=()=>(0,o.useContext)(d._5);h.Z=p},90769:function(k,h,t){"use strict";t.d(h,{G:function(){return p}});var o=t(19565),d=t(20108);function p(){const{get:g}=(0,o.kY)(),{formatAPIError:u}=(0,o.So)(),H=(0,o.lm)(),T=(0,d.useQueries)(["components","content-types"].map(D=>({queryKey:["content-manager",D],async queryFn(){const{data:{data:K}}=await g(`/content-manager/${D}`);return K},onError(K){H({type:"warning",message:u(K)})}}))),[y,A]=T,Q=y.isLoading||A.isLoading,G=(A?.data??[]).filter(D=>D.kind==="collectionType"&&D.isDisplayed),ue=(A?.data??[]).filter(D=>D.kind!=="collectionType"&&D.isDisplayed);return{isLoading:Q,components:y?.data??[],collectionTypes:G,singleTypes:ue}}},9592:function(k,h,t){"use strict";t.d(h,{c:function(){return g}});var o=t(32735),d=t(19565);function p(){return window.strapi.isEE}function g(u,H,{defaultValue:T=null,combine:y=(Q,G)=>G,enabled:A=!0}={}){const Q=(0,d.W6)(H),G=(0,d.W6)(y),[{data:ue},D]=o.useState({data:p()&&A?T:u});return o.useEffect(()=>{async function K(){const fe=await Q();D({data:G(u,fe)})}p()&&A&&K()},[u,Q,G,A]),ue}},93051:function(k,h,t){"use strict";t.d(h,{Z:function(){return P}});var o=t(32735),d=t(19565),p=t(2287),g=t(36919),u=t(45112),H=t(15062),T=t(30305),y=t(99381),A=t.n(y),G=(z,s)=>s.map(({permissions:U})=>(0,d.qX)(z,U)),D=async(z,s,U)=>{const M=G(z,s),V=await Promise.all(M),Z=s.filter((X,se)=>V[se]),F=Z.findIndex(X=>X.to==="/settings");if(F===-1)return[];const le=A()(Z);return le[F].notificationsCount=U?1:0,le},fe=async(z,s)=>{const U=G(z,s),M=await Promise.all(U);return s.filter((Z,F)=>M[F])},P=()=>{const{allPermissions:z}=(0,d.vn)(),{shouldUpdateStrapi:s}=(0,d.L7)(),{menu:U}=(0,d.j1)(),M=(0,H.v9)(T._),[V,Z]=o.useState({generalSectionLinks:[{icon:p.Z,intlLabel:{id:"global.plugins",defaultMessage:"Plugins"},to:"/list-plugins",permissions:M.marketplace.main},{icon:g.Z,intlLabel:{id:"global.marketplace",defaultMessage:"Marketplace"},to:"/marketplace",permissions:M.marketplace.main},{icon:u.Z,intlLabel:{id:"global.settings",defaultMessage:"Settings"},to:"/settings",permissions:[],notificationsCount:0}],pluginsSectionLinks:[],isLoading:!0}),F=o.useRef(V.generalSectionLinks);return o.useEffect(()=>{async function le(){const X=await fe(z,U),se=await D(z,F.current,s);Z(Pe=>({...Pe,generalSectionLinks:se,pluginsSectionLinks:X,isLoading:!1}))}le()},[Z,F,z,U,M,s]),V}},30305:function(k,h,t){"use strict";t.d(h,{_:function(){return g}});var o=t(98178),d=t(69891);const p=()=>u=>u.admin_app||d.E,g=(0,o.P1)(p(),u=>u.permissions)},5074:function(k,h,t){"use strict";t.d(h,{I:function(){return o}});const o=({data:d})=>{try{return Object.keys(d).reduce((p,g)=>{const u=d[g][0];return p[g]={id:u,defaultMessage:u},p},{})}catch{return{}}}},48224:function(k,h,t){var o={"./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 d(p){if(!t.o(o,p))return Promise.resolve().then(function(){var H=new Error("Cannot find module '"+p+"'");throw H.code="MODULE_NOT_FOUND",H});var g=o[p],u=g[0];return t.e(g[1]).then(function(){return t.t(u,19)})}d.keys=function(){return Object.keys(o)},d.id=48224,k.exports=d},47750:function(k,h,t){"use strict";k.exports=t.p+"70674f63fc3904c20de0.svg"}}]);
@@ -6,7 +6,7 @@
6
6
  border-radius: ${({theme:z})=>z.borderRadius};
7
7
  font-size: ${12/16}rem;
8
8
  font-weight: bold;
9
- `,Re=()=>{const z=(0,re.$B)("/settings/roles/duplicate/:id"),Y=(0,p.lm)(),{lockApp:ne,unlockApp:w}=(0,p.o1)(),{formatMessage:j}=(0,oe.Z)(),[Q,he]=(0,e.useState)(!1),{replace:pe}=(0,re.k6)(),J=(0,e.useRef)(),{trackUsage:ce}=(0,p.rS)(),{post:Ie,put:Be}=(0,p.kY)(),{params:ve}=z??{},{isLoading:Ze,data:Le}=(0,_.d)(ve?.id,{cacheTime:0}),{permissions:ye,isLoading:Me}=(0,me.V)({id:ve?.id},{cacheTime:0,enabled:!!ve?.id}),Fe=Pe=>{ne(),he(!0),ve?.id?ce("willDuplicateRole"):ce("willCreateNewRole"),Promise.resolve(Ie("/admin/roles",Pe)).then(async({data:ee})=>{const{permissionsToSend:ie}=J.current.getPermissions();return ve?.id?ce("didDuplicateRole"):ce("didCreateNewRole"),ee.data.id&&!V()(ie)&&await Be(`/admin/roles/${ee.data.id}/permissions`,{permissions:ie}),ee}).then(ee=>{he(!1),Y({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),pe(`/settings/roles/${ee.data.id}`)}).catch(ee=>{console.error(ee),he(!1),Y({type:"warning",message:{id:"notification.error"}})}).finally(()=>{w()})},He=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,F.Z)(new Date,"PPP")}`;return e.createElement(v.o,null,e.createElement(p.SL,{name:"Roles"}),e.createElement(g.J9,{initialValues:{name:"",description:He},onSubmit:Fe,validationSchema:xe,validateOnChange:!1},({handleSubmit:Pe,values:ee,errors:ie,handleReset:le,handleChange:ue})=>e.createElement(p.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(P.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(O.z,{variant:"secondary",onClick:()=>{le(),J.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(O.z,{onClick:Pe,loading:Q,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(p.rU,{startIcon:e.createElement(S.Z,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(A.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(E.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(E.Z,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(ae,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(M.r,{gap:4},e.createElement(W.P,{col:6},e.createElement(a.o,{name:"name",error:ie.name&&j({id:ie.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:ue,required:!0,value:ee.name})),e.createElement(W.P,{col:6},e.createElement(B.g,{label:j({id:"global.description",defaultMessage:"Description"}),id:"description",error:ie.description&&j({id:ie.description}),onChange:ue},ee.description))))),!Ze&&!Me?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(G.Z,{isFormDisabled:!1,ref:J,permissions:ye,layout:Le})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(p.dO,null))))))))};function Se(){const z=(0,de.v9)(X._);return e.createElement(p.O4,{permissions:z.settings.roles.create},e.createElement(Re,null))}},1283:function(H,L,o){"use strict";o.d(L,{Z:function(){return ts}});var e=o(32735),v=o(91215),P=o(90980),b=o(3653),O=o(19565),A=o(23973),x=o.n(A),E=o(86834),M=o.n(E),W=o(60216),a=o.n(W),B=o(67879),p=o(72850),S=o(98978),F=o.n(S),g=o(8471),y=o(87933),V=o(82884),oe=o(15974),de=o(96441),re=o(33795),C=o.n(re),me=o(9086),X=o.n(me),G=o(79652),_=o(41415),Ce=o(45112);const be=g.ZP.div`
9
+ `,Re=()=>{const z=(0,re.$B)("/settings/roles/duplicate/:id"),Y=(0,p.lm)(),{lockApp:ne,unlockApp:w}=(0,p.o1)(),{formatMessage:j}=(0,oe.Z)(),[Q,he]=(0,e.useState)(!1),{replace:pe}=(0,re.k6)(),J=(0,e.useRef)(),{trackUsage:ce}=(0,p.rS)(),{post:Ie,put:Be}=(0,p.kY)(),{params:ve}=z??{},{isLoading:Ze,data:Le}=(0,_.d)(ve?.id,{cacheTime:0}),{permissions:ye,isLoading:Me}=(0,me.V)({id:ve?.id},{cacheTime:0,enabled:!!ve?.id}),Fe=Pe=>{ne(),he(!0),ve?.id?ce("willDuplicateRole"):ce("willCreateNewRole"),Promise.resolve(Ie("/admin/roles",Pe)).then(async({data:ee})=>{const{permissionsToSend:ie}=J.current.getPermissions();return ve?.id?ce("didDuplicateRole"):ce("didCreateNewRole"),ee.data.id&&!V()(ie)&&await Be(`/admin/roles/${ee.data.id}/permissions`,{permissions:ie}),ee}).then(ee=>{he(!1),Y({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),pe(`/settings/roles/${ee.data.id}`)}).catch(ee=>{console.error(ee),he(!1),Y({type:"warning",message:{id:"notification.error"}})}).finally(()=>{w()})},He=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,F.Z)(new Date,"PPP")}`;return e.createElement(v.o,null,e.createElement(p.SL,{name:"Roles"}),e.createElement(g.J9,{initialValues:{name:"",description:He},onSubmit:Fe,validationSchema:xe,validateOnChange:!1},({handleSubmit:Pe,values:ee,errors:ie,handleReset:le,handleChange:ue})=>e.createElement(p.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(P.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(O.z,{variant:"secondary",onClick:()=>{le(),J.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(O.z,{onClick:Pe,loading:Q,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(p.rU,{startIcon:e.createElement(S.Z,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(A.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.k,{justifyContent:"space-between"},e.createElement(x.x,null,e.createElement(x.x,null,e.createElement(E.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(x.x,null,e.createElement(E.Z,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(ae,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(M.r,{gap:4},e.createElement(W.P,{col:6},e.createElement(a.o,{name:"name",error:ie.name&&j({id:ie.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:ue,required:!0,value:ee.name})),e.createElement(W.P,{col:6},e.createElement(B.g,{label:j({id:"global.description",defaultMessage:"Description"}),id:"description",error:ie.description&&j({id:ie.description}),onChange:ue},ee.description))))),!Ze&&!Me?e.createElement(x.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(G.Z,{isFormDisabled:!1,ref:J,permissions:ye,layout:Le})):e.createElement(x.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(p.dO,null))))))))};function Se(){const z=(0,de.v9)(X._);return e.createElement(p.O4,{permissions:z.settings.roles.create},e.createElement(Re,null))}},1283:function(H,L,o){"use strict";o.d(L,{Z:function(){return ts}});var e=o(32735),v=o(91215),P=o(90980),b=o(3653),O=o(19565),A=o(23973),x=o.n(A),E=o(86834),M=o.n(E),W=o(60216),a=o.n(W),B=o(67879),p=o(72850),S=o(98978),F=o.n(S),g=o(8471),y=o(87933),V=o(82884),oe=o(15974),de=o(96441),re=o(33795),C=o.n(re),me=o(9086),X=o.n(me),G=o(63465),_=o(41415),Ce=o(45112);const be=g.ZP.div`
10
10
  position: relative;
11
11
 
12
12
  ${({hasConditions:t,disabled:n,theme:r})=>t&&`
@@ -0,0 +1,10 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{97108:function(B,c,e){e.d(c,{R:function(){return o}});var t=e(19565),a=e(20108);function o(i={},E={}){const{id:r="",...s}=i,{get:g}=(0,t.kY)(),{data:l,isError:n,isLoading:m,refetch:f}=(0,a.useQuery)(["users",r,s],async()=>{const{data:{data:y}}=await g(`/admin/users/${r}`,{params:s});return y},E);let v=[];return r&&l?v=[l]:Array.isArray(l?.results)&&(v=l.results),{users:v,pagination:l?.pagination??null,isLoading:m,isError:n,refetch:f}}},28363:function(B,c,e){e.r(c),e.d(c,{default:function(){return le}});var t=e(32735),a=e(19565),o=e(15062),i=e(53038),E=e(30305),r=e(27649),s=e(82055),g=e(41415),l=e(17e3),n=e(72850),m=e(87933),f=e(49372),v=e(15335),y=e(5803),L=e(66456),I=e(29439),O=e(92802),N=e(33795),x=e.n(N),j=e(9086),F=e.n(j),U=e(88423),S=e.n(U),Y=e(60216),H=e.n(Y),V=e(67879),G=e(97108),M=e(9592),ee=e(5074),J=e(35663),te=e(47577),ae=e(18703),se=e(32720);const ne=async(A,u)=>{const{put:C}=(0,a.tg)(),{data:T}=await C(`/admin/users/${A}`,u);return T.data};var oe=[[{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 b=["email","firstname","lastname","username","isActive","roles"],w=({canUpdate:A})=>{const{formatMessage:u}=(0,V.Z)(),{params:{id:C}}=(0,i.$B)("/settings/users/:id"),{push:T}=(0,i.k6)(),{setUserDisplayName:Z}=(0,a.L7)(),h=(0,a.lm)(),{lockApp:Q,unlockApp:X}=(0,a.o1)(),k=(0,M.c)(te.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE);(0,a.go)();const{users:[W],isLoading:ie}=(0,G.R)({id:C},{cacheTime:0,onError(d){const{status:p}=d.response;p===403?(h({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),T("/")):h({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),de=async(d,p)=>{Q();try{const P=await ne(C,F()(d,"confirmPassword"));h({type:"success",message:u({id:"notification.success.saved",defaultMessage:"Saved"})});const R=a.I8.getUserInfo();if(C.toString()===R.id.toString()){a.I8.setUserInfo(P);const K=x()(d,"username")||(0,J.P)(d.firstname,d.lastname);Z(K)}p.setValues(S()(d,b))}catch(P){const R=(0,ee.I)(P.response.data),K=Object.keys(R).reduce(($,D)=>($[D]=R[D].id,$),{});p.setErrors(K),h({type:"warning",message:x()(P,"response.data.error.message","notification.error")})}X()},q=ie||!k,ce=q?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},z=Object.keys(S()(W,b)).reduce((d,p)=>p==="roles"?(d[p]=(W?.roles||[]).map(({id:P})=>P),d):(d[p]=W?.[p],d),{}),me=z.username||(0,J.P)(z.firstname,z.lastname),_=u(ce,{name:me});return q?t.createElement(r.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(s.T,{primaryAction:t.createElement(g.z,{disabled:!0,startIcon:t.createElement(L.Z,null),type:"button",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:_,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement(l.D,null,t.createElement(a.dO,null))):t.createElement(r.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(O.J9,{onSubmit:de,initialValues:z,validateOnChange:!1,validationSchema:se.YM},({errors:d,values:p,handleChange:P,isSubmitting:R,dirty:K})=>t.createElement(a.l0,null,t.createElement(s.T,{primaryAction:t.createElement(g.z,{disabled:R||!A?!0:!K,startIcon:t.createElement(L.Z,null),loading:R,type:"submit",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:_,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(I.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement(l.D,null,W?.registrationToken&&t.createElement(n.x,{paddingBottom:6},t.createElement(k,{registrationToken:W.registrationToken})),t.createElement(m.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(n.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(m.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(f.Z,{variant:"delta",as:"h2"},u({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(v.r,{gap:5},oe.map($=>$.map(D=>t.createElement(y.P,{key:D.name,...D.size},t.createElement(a.jm,{...D,disabled:!A,error:d[D.name],onChange:P,value:p[D.name]||""}))))))),t.createElement(n.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(m.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(f.Z,{variant:"delta",as:"h2"},u({id:"global.roles",defaultMessage:"User's role"})),t.createElement(v.r,{gap:5},t.createElement(y.P,{col:6,xs:12},t.createElement(ae.Z,{disabled:!A,error:d.roles,onChange:P,value:p.roles}))))))))))};w.propTypes={canUpdate:H().bool.isRequired};var re=w,le=()=>{const A=(0,a.lm)(),u=(0,o.v9)(E._),C=t.useMemo(()=>({read:u.settings.users.read,update:u.settings.users.update}),[u.settings.users]),{isLoading:T,allowedActions:{canRead:Z,canUpdate:h}}=(0,a.ss)(C),{state:Q}=(0,i.TH)(),X=Q?.from??"/";return(0,t.useEffect)(()=>{T||!Z&&!h&&A({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[T,Z,h,A]),T?t.createElement(a.dO,null):!Z&&!h?t.createElement(i.l_,{to:X}):t.createElement(re,{canUpdate:h})}},84024:function(B,c,e){var t=e(32735),a=e(50563),o=e(19565),i=e(47765),E=e(60216),r=e.n(E),s=e(67879);const g=({children:l,target:n})=>{const m=(0,o.lm)(),{formatMessage:f}=(0,s.Z)(),{copy:v}=(0,o.VP)(),y=f({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),L=async()=>{await v(n)&&m({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(o.Y_,{endAction:t.createElement(a.h,{label:y,noBorder:!0,icon:t.createElement(i.Z,null),onClick:L}),title:n,titleEllipsis:!0,subtitle:l,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};g.propTypes={children:r().oneOfType([r().element,r().string]).isRequired,target:r().string.isRequired},c.Z=g},47577:function(B,c,e){e.d(c,{A:function(){return s}});var t=e(32735),a=e(60216),o=e.n(a),i=e(67879),E=e(35231),r=e(84024);const s=({registrationToken:g})=>{const{formatMessage:l}=(0,i.Z)(),n=`${window.location.origin}${E.Z}auth/register?registrationToken=${g}`;return t.createElement(r.Z,{target:n},l({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:o().string}},18703:function(B,c,e){var t=e(32735),a=e(68465),o=e(84967),i=e(19565),E=e(27169),r=e(60216),s=e.n(r),g=e(67879),l=e(20108),n=e(8471);const m=(0,n.F4)`
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ `,f=n.ZP.div`
9
+ animation: ${m} 2s infinite linear;
10
+ `,v=()=>t.createElement(f,null,t.createElement(E.Z,null)),y=async()=>{const{get:I}=(0,i.tg)(),{data:O}=await I("/admin/roles");return O.data},L=({disabled:I,error:O,onChange:N,value:x})=>{const{status:j,data:F}=(0,l.useQuery)(["roles"],y,{staleTime:5e4}),{formatMessage:U}=(0,g.Z)(),S=O?U({id:O,defaultMessage:O}):"",Y=U({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),H=U({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),V=U({id:"app.components.Select.placeholder",defaultMessage:"Select"}),G=j==="loading"?t.createElement(v,null):void 0;return t.createElement(a.P,{id:"roles",disabled:I,error:S,hint:H,label:Y,name:"roles",onChange:M=>{N({target:{name:"roles",value:M}})},placeholder:V,multi:!0,startIcon:G,value:x.map(M=>M.toString()),withTags:!0,required:!0},(F||[]).map(M=>t.createElement(o.W,{key:M.id,value:M.id.toString()},U({id:`global.${M.code}`,defaultMessage:M.name}))))};L.defaultProps={disabled:!1,error:void 0},L.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},c.Z=L},32720:function(B,c,e){e.d(c,{YM:function(){return l},Rw:function(){return E}});var t=e(24346),a=e(19565);const o={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",(n,m)=>n?m.required(a.I0.required):m)};var E={...o,currentPassword:t.Z_().when(["password","confirmPassword"],(n,m,f)=>n||m?f.required(a.I0.required):f),preferedLanguage:t.Z_().nullable()},s={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},l=t.Ry().shape({...o,isActive:t.Xg(),...s})},29439:function(B,c,e){e.d(c,{Z:function(){return o}});var t=e(74512);const a=i=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...i,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"})}),o=a}}]);
@@ -0,0 +1,11 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{97108:function(B,m,e){e.d(m,{R:function(){return l}});var t=e(19565),n=e(20108);function l(r={},u={}){const{id:a="",...s}=r,{get:v}=(0,t.kY)(),{data:o,isError:E,isLoading:C,refetch:A}=(0,n.useQuery)(["users",a,s],async()=>{const{data:{data:g}}=await v(`/admin/users/${a}`,{params:s});return g},u);let h=[];return a&&o?h=[o]:Array.isArray(o?.results)&&(h=o.results),{users:h,pagination:o?.pagination??null,isLoading:C,isError:E,refetch:A}}},59092:function(B,m,e){var t=e(32735),n=e(72850),l=e(41415),r=e(19565),u=e(5644),a=e(60216),s=e.n(a),v=e(67879);const o=({displayedFilters:E})=>{const[C,A]=(0,t.useState)(!1),{formatMessage:h}=(0,v.Z)(),g=(0,t.useRef)(),O=()=>{A(W=>!W)};return t.createElement(t.Fragment,null,t.createElement(n.x,{paddingTop:1,paddingBottom:1},t.createElement(l.z,{variant:"tertiary",ref:g,startIcon:t.createElement(u.Z,null),onClick:O,size:"S"},h({id:"app.utils.filters",defaultMessage:"Filters"})),C&&t.createElement(r.J5,{displayedFilters:E,isVisible:C,onToggle:O,source:g})),t.createElement(r.W$,{filtersSchema:E}))};o.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},m.Z=o},99528:function(B,m,e){e.d(m,{W:function(){return fe},Z:function(){return Ze}});var t=e(32735),n=e(27649),l=e(82055),r=e(99223),u=e(17e3),a=e(19565),s=e(33348),v=e.n(s),o=e(67879),E=e(20108),C=e(15062),A=e(53038),h=e(97108),g=e(9592),O=e(30305),W=e(59092),L=e(41415),ae=e(7961),se=e(60216),d=e.n(se);const q=({onClick:i})=>{const{formatMessage:f}=(0,o.Z)();return t.createElement(L.z,{onClick:i,startIcon:t.createElement(ae.Z,null),size:"S"},f({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};q.propTypes={onClick:d().func.isRequired};var Z=e(35658),ne=e(94547),J=e(19786),le=e(82884),b=e(49372),F=e(87933),P=e(50563),$=e(72850),pe=e(68625),Me=e(4038),re=e(35663);const oe=({canDelete:i,headers:f,entriesToDelete:T,onClickDelete:k,onSelectRow:V,withMainAction:j,withBulkActions:x,rows:R})=>{const{push:y,location:{pathname:H}}=(0,A.k6)(),{formatMessage:D}=(0,o.Z)();return t.createElement(Z.p,null,R.map(c=>{const z=T.findIndex(U=>U===c.id)!==-1;return t.createElement(ne.Tr,{key:c.id,...(0,a.X7)({fn:()=>y(`${H}/${c.id}`),condition:x})},j&&t.createElement(J.Td,{...a.UW},t.createElement(le.C,{"aria-label":D({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,re.P)(c.firstname,c.lastname)}),checked:z,onChange:()=>{V({name:c.id,value:!z})}})),f.map(({key:U,cellFormatter:Y,name:K,...N})=>t.createElement(J.Td,{key:U},typeof Y=="function"?Y(c,{key:U,name:K,formatMessage:D,...N}):t.createElement(b.Z,{textColor:"neutral800"},c[K]||"-"))),x&&t.createElement(J.Td,null,t.createElement(F.k,{justifyContent:"end"},t.createElement(P.h,{onClick:()=>y(`${H}/${c.id}`),label:D({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,re.P)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(pe.Z,null)}),i&&t.createElement($.x,{paddingLeft:1,...a.UW},t.createElement(P.h,{onClick:()=>k(c.id),label:D({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,re.P)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(Me.Z,null)})))))}))};oe.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},oe.propTypes={canDelete:d().bool,entriesToDelete:d().array,headers:d().array.isRequired,onClickDelete:d().func,onSelectRow:d().func,rows:d().array,withBulkActions:d().bool,withMainAction:d().bool};var ve=oe,ye=e(85025),he=e(55225),Pe=e(31600),de=e(15335),ie=e(5803),De=e(11406),Ce=e(26858),Ae=e(51654),Oe=e(92802),Le=e(47577),Te=e(18703),X=e(24346);const ue={firstname:"",lastname:"",email:"",roles:[]},Ie=[],Re=[[{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}]],Ue=X.Ry().shape({firstname:X.Z_().trim().required(a.I0.required),lastname:X.Z_(),email:X.Z_().email(a.I0.email).required(a.I0.required),roles:X.IX().min(1,a.I0.required).required(a.I0.required)}),Se={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}},Ee=({onSuccess:i,onToggle:f})=>{const[T,k]=(0,t.useState)("create"),[V,j]=(0,t.useState)(!1),[x,R]=(0,t.useState)(null),{formatMessage:y}=(0,o.Z)(),H=(0,a.lm)(),{lockApp:D,unlockApp:c}=(0,a.o1)(),{post:z}=(0,a.kY)(),U=(0,g.c)(Ie,async()=>(await e.e(311).then(e.bind(e,40311))).ROLE_LAYOUT,{combine(M,S){return[...M,S]},defaultValue:[]}),Y=(0,g.c)(ue,async()=>(await e.e(311).then(e.bind(e,40311))).FORM_INITIAL_VALUES,{combine(M,S){return{...M,...S}},defaultValue:ue}),K=(0,g.c)(Le.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE),N=(0,E.useMutation)(M=>z("/admin/users",M),{async onSuccess({data:M}){R(M.data.registrationToken),await i(),te(),j(!1)},onError(M){throw j(!1),H({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),M},onSettled(){c()}}),w=y({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),ee=async(M,{setErrors:S})=>{D(),j(!0);try{await N.mutateAsync(M)}catch(G){c(),G?.response?.data?.error.message==="Email already taken"&&S({email:G.response.data.error.message})}},te=()=>{p?k(p):f()},{buttonSubmitLabel:_,isDisabled:Q,next:p}=Se[T],be=T==="create"?t.createElement(L.z,{type:"submit",loading:V},y(_)):t.createElement(L.z,{type:"button",loading:V,onClick:f},y(_));return K?t.createElement(ye.P,{onClose:f,labelledBy:"title"},t.createElement(he.x,null,t.createElement(Ce.O,{label:w},t.createElement(Ae.$,{isCurrent:!0},w))),t.createElement(Oe.J9,{enableReinitialize:!0,initialValues:Y,onSubmit:ee,validationSchema:Ue,validateOnChange:!1},({errors:M,handleChange:S,values:G})=>t.createElement(a.l0,null,t.createElement(Pe.f,null,t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:6},T!=="create"&&t.createElement(K,{registrationToken:x}),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},y({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement($.x,{paddingTop:4},t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(de.r,{gap:5},Re.map(me=>me.map(I=>t.createElement(ie.P,{key:I.name,...I.size},t.createElement(a.jm,{...I,disabled:Q,error:M[I.name],onChange:S,value:G[I.name]})))))))),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},y({id:"global.roles",defaultMessage:"User's role"})),t.createElement($.x,{paddingTop:4},t.createElement(de.r,{gap:5},t.createElement(ie.P,{col:6,xs:12},t.createElement(Te.Z,{disabled:Q,error:M.roles,onChange:S,value:G.roles})),U.map(me=>me.map(I=>t.createElement(ie.P,{key:I.name,...I.size},t.createElement(a.jm,{...I,disabled:Q,onChange:S,value:G[I.name]}))))))))),t.createElement(De.m,{startActions:t.createElement(L.z,{variant:"tertiary",onClick:f,type:"button"},y({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:be})))):null};Ee.propTypes={onToggle:d().func.isRequired,onSuccess:d().func.isRequired};var Be=Ee;const ce=({pagination:i})=>t.createElement($.x,{paddingTop:4},t.createElement(F.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:i})));ce.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},ce.propTypes={pagination:d().shape({page:d().number,pageCount:d().number,pageSize:d().number,total:d().number})};var We=ce,xe=[{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"}}],Ke=[{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:i},{formatMessage:f}){return t.createElement(b.Z,{textColor:"neutral800"},i.map(T=>f({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:i},{formatMessage:f}){return t.createElement(F.k,null,t.createElement(a.qb,{isActive:i,variant:i?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},f({id:i?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:i?"Active":"Inactive"})))}}];const ge=["ee","license-limit-info"],fe=()=>{const{post:i}=(0,a.kY)(),{formatAPIError:f}=(0,a.So)(),[T,k]=(0,t.useState)(!1),V=(0,C.v9)(O._),{allowedActions:{canCreate:j,canDelete:x,canRead:R}}=(0,a.ss)(V.settings.users),y=(0,E.useQueryClient)(),H=(0,a.lm)(),{formatMessage:D}=(0,o.Z)(),{search:c}=(0,A.TH)();(0,a.go)();const{users:z,pagination:U,isError:Y,isLoading:K,refetch:N}=(0,h.R)(v().parse(c,{ignoreQueryPrefix:!0}),{cacheTime:0,enabled:R}),w=(0,g.c)(q,async()=>(await e.e(2379).then(e.bind(e,42379))).CreateActionEE),ee=Ke.map(p=>({...p,metadatas:{...p.metadatas,label:D(p.metadatas.label)}})),te=D({id:"global.users",defaultMessage:"Users"}),_=()=>{k(p=>!p)},Q=(0,E.useMutation)(async p=>{await i("/admin/users/batch-delete",{ids:p})},{async onSuccess(){await N(),await y.refetchQueries(ge)},onError(p){H({type:"warning",message:{id:"notification.error",message:f(p),defaultMessage:"An error occured"}})}});return w?t.createElement(n.o,{"aria-busy":K},t.createElement(a.SL,{name:"Users"}),t.createElement(l.T,{primaryAction:j&&t.createElement(w,{onClick:_}),title:te,subtitle:D({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),R&&t.createElement(r.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:te})}),t.createElement(W.Z,{displayedFilters:xe}))}),t.createElement(u.D,{canRead:R},!R&&t.createElement(a.ZF,null),Y&&t.createElement("div",null,"TODO: An error occurred"),R&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:K,onConfirmDeleteAll:Q.mutateAsync,onConfirmDelete:p=>Q.mutateAsync([p]),headers:ee,rows:z,withBulkActions:!0,withMainAction:x},t.createElement(ve,{canDelete:x,headers:ee,rows:z,withBulkActions:!0,withMainAction:x})),U&&t.createElement(We,{pagination:U}))),T&&t.createElement(Be,{onSuccess:async()=>{await N(),await y.refetchQueries(ge)},onToggle:_})):null};var Ze=()=>{const i=(0,g.c)(fe,async()=>(await e.e(2801).then(e.bind(e,12801))).UserListPageEE);return i?t.createElement(i,null):null}},25691:function(B,m,e){e.r(m);var t=e(32735),n=e(19565),l=e(15062),r=e(30305),u=e(99528);const a=()=>{const s=(0,l.v9)(r._);return t.createElement(n.O4,{permissions:s.settings.users.main},t.createElement(u.Z,null))};m.default=a},84024:function(B,m,e){var t=e(32735),n=e(50563),l=e(19565),r=e(47765),u=e(60216),a=e.n(u),s=e(67879);const v=({children:o,target:E})=>{const C=(0,l.lm)(),{formatMessage:A}=(0,s.Z)(),{copy:h}=(0,l.VP)(),g=A({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),O=async()=>{await h(E)&&C({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(l.Y_,{endAction:t.createElement(n.h,{label:g,noBorder:!0,icon:t.createElement(r.Z,null),onClick:O}),title:E,titleEllipsis:!0,subtitle:o,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};v.propTypes={children:a().oneOfType([a().element,a().string]).isRequired,target:a().string.isRequired},m.Z=v},47577:function(B,m,e){e.d(m,{A:function(){return s}});var t=e(32735),n=e(60216),l=e.n(n),r=e(67879),u=e(35231),a=e(84024);const s=({registrationToken:v})=>{const{formatMessage:o}=(0,r.Z)(),E=`${window.location.origin}${u.Z}auth/register?registrationToken=${v}`;return t.createElement(a.Z,{target:E},o({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:l().string}},18703:function(B,m,e){var t=e(32735),n=e(68465),l=e(84967),r=e(19565),u=e(27169),a=e(60216),s=e.n(a),v=e(67879),o=e(20108),E=e(8471);const C=(0,E.F4)`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,A=E.ZP.div`
10
+ animation: ${C} 2s infinite linear;
11
+ `,h=()=>t.createElement(A,null,t.createElement(u.Z,null)),g=async()=>{const{get:W}=(0,r.tg)(),{data:L}=await W("/admin/roles");return L.data},O=({disabled:W,error:L,onChange:ae,value:se})=>{const{status:d,data:q}=(0,o.useQuery)(["roles"],g,{staleTime:5e4}),{formatMessage:Z}=(0,v.Z)(),ne=L?Z({id:L,defaultMessage:L}):"",J=Z({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),le=Z({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),b=Z({id:"app.components.Select.placeholder",defaultMessage:"Select"}),F=d==="loading"?t.createElement(h,null):void 0;return t.createElement(n.P,{id:"roles",disabled:W,error:ne,hint:le,label:J,name:"roles",onChange:P=>{ae({target:{name:"roles",value:P}})},placeholder:b,multi:!0,startIcon:F,value:se.map(P=>P.toString()),withTags:!0,required:!0},(q||[]).map(P=>t.createElement(l.W,{key:P.id,value:P.id.toString()},Z({id:`global.${P.code}`,defaultMessage:P.name}))))};O.defaultProps={disabled:!1,error:void 0},O.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},m.Z=O},99223:function(B,m,e){e.d(m,{Z:function(){return l}});var t=e(74512),n=e(87933);const l=({startActions:r,endActions:u})=>!r&&!u?null:(0,t.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(n.k,{gap:2,wrap:"wrap",children:r}),(0,t.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:u})]})},7961:function(B,m,e){e.d(m,{Z:function(){return l}});var t=e(74512);const n=r=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...r,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"})]}),l=n}}]);
@@ -0,0 +1,16 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8056],{12584:function(K,E,t){t.d(E,{Z:function(){return p}});var e=t(32735),a=t(35658),P=t(94547),u=t(19786),k=t(49372),V=t(87933),l=t(19565),b=t(60216),n=t.n(b),S=t(67879),I=t(53038),D=t(72850),O=t(50563),v=t(4038);const N=({tokenName:s,onClickDelete:i,tokenType:y})=>{const{formatMessage:g}=(0,S.Z)(),{trackUsage:T}=(0,l.rS)(),[f,c]=(0,e.useState)(!1),C=()=>{c(!1),T("willDeleteToken",{tokenType:y}),i()};return e.createElement(D.x,{paddingLeft:1,onClick:d=>d.stopPropagation()},e.createElement(O.h,{onClick:()=>{c(!0)},label:g({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${s}`}),name:"delete",noBorder:!0,icon:e.createElement(v.Z,null)}),e.createElement(l.QH,{onToggleDialog:()=>c(!1),onConfirm:C,isOpen:f}))};N.propTypes={tokenName:n().string.isRequired,onClickDelete:n().func.isRequired,tokenType:n().string.isRequired};var w=N,Q=t(54894),J=t(8471);const $={edit:{id:"app.component.table.edit",defaultMessage:"Edit {target}"},read:{id:"app.component.table.read",defaultMessage:"Read {target}"}},z=(0,J.ZP)(l.rU)`
2
+ svg {
3
+ path {
4
+ fill: ${({theme:s})=>s.colors.neutral500};
5
+ }
6
+ }
7
+
8
+ &:hover,
9
+ &:focus {
10
+ svg {
11
+ path {
12
+ fill: ${({theme:s})=>s.colors.neutral800};
13
+ }
14
+ }
15
+ }
16
+ `,L=({tokenName:s,tokenId:i,buttonType:y,children:g})=>{const{formatMessage:T}=(0,S.Z)(),{location:{pathname:f}}=(0,I.k6)();return e.createElement(z,{to:`${f}/${i}`,title:T($[y],{target:s})},g)};L.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired,buttonType:n().string,children:n().node.isRequired},L.defaultProps={buttonType:"edit"};var h=L;const m=({tokenName:s,tokenId:i})=>e.createElement(h,{tokenName:s,tokenId:i,buttonType:"read"},e.createElement(Q.Z,null));m.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var U=m,F=t(68625);const A=({tokenName:s,tokenId:i})=>e.createElement(h,{tokenName:s,tokenId:i},e.createElement(F.Z,null));A.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var H=A;const R=({permissions:s,headers:i,contentType:y,isLoading:g,tokens:T,onConfirmDelete:f,tokenType:c})=>{const{canDelete:C,canUpdate:d,canRead:B}=s,M=C||d||B,[{query:x}]=(0,l.Kx)(),{formatMessage:Z}=(0,S.Z)(),[,j]=x?x.sort.split(":"):"ASC",{push:W,location:{pathname:Y}}=(0,I.k6)(),{trackUsage:o}=(0,l.rS)(),X=T.sort((r,q)=>{const G=r.name.localeCompare(q.name);return j==="DESC"?-G:G});return e.createElement(l.tM,{headers:i,contentType:y,rows:T,withBulkActions:M,isLoading:g,onConfirmDelete:f},e.createElement(a.p,null,X.map(r=>e.createElement(P.Tr,{key:r.id,...(0,l.X7)({fn(){o("willEditTokenFromList",{tokenType:c}),W(`${Y}/${r.id}`)},condition:d})},e.createElement(u.Td,{maxWidth:(0,l.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},r.name)),e.createElement(u.Td,{maxWidth:(0,l.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",ellipsis:!0},r.description)),e.createElement(u.Td,null,e.createElement(k.Z,{textColor:"neutral800"},e.createElement(l.ij,{timestamp:new Date(r.createdAt)}))),e.createElement(u.Td,null,r.lastUsedAt&&e.createElement(k.Z,{textColor:"neutral800"},e.createElement(l.ij,{timestamp:new Date(r.lastUsedAt),customIntervals:[{unit:"hours",threshold:1,text:Z({id:"Settings.apiTokens.lastHour",defaultMessage:"last hour"})}]}))),M&&e.createElement(u.Td,null,e.createElement(V.k,{justifyContent:"end"},d&&e.createElement(H,{tokenName:r.name,tokenId:r.id}),!d&&B&&e.createElement(U,{tokenName:r.name,tokenId:r.id}),C&&e.createElement(w,{tokenName:r.name,onClickDelete:()=>f(r.id),tokenType:c})))))))};R.propTypes={tokens:n().array,permissions:n().shape({canRead:n().bool,canDelete:n().bool,canUpdate:n().bool}).isRequired,headers:n().arrayOf(n().shape({cellFormatter:n().func,key:n().string.isRequired,metadatas:n().shape({label:n().string.isRequired,sortable:n().bool}).isRequired,name:n().string.isRequired})),contentType:n().string.isRequired,isLoading:n().bool,onConfirmDelete:n().func,tokenType:n().string.isRequired},R.defaultProps={tokens:[],headers:[],isLoading:!1,onConfirmDelete(){}};var p=R},49756:function(K,E,t){t.d(E,{Z:function(){return e},f:function(){return a}});const e="api-token",a="transfer-token"},22614:function(K,E,t){t.r(E),t.d(E,{default:function(){return L}});var e=t(32735),a=t(19565),P=t(15062),u=t(30305),k=t(27649),V=t(82055),l=t(17e3),b=t(19406),n=t(33348),S=t.n(n),I=t(67879),D=t(20108),O=t(53038),v=t(49756),N=t(12584),Q=[{name:"name",key:"name",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.name",defaultMessage:"Name"},sortable:!0}},{name:"description",key:"description",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.description",defaultMessage:"Description"},sortable:!1}},{name:"createdAt",key:"createdAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.createdAt",defaultMessage:"Created at"},sortable:!1}},{name:"lastUsedAt",key:"lastUsedAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.lastUsedAt",defaultMessage:"Last used"},sortable:!1}}],$=()=>{(0,a.go)();const h=(0,D.useQueryClient)(),{formatMessage:m}=(0,I.Z)(),U=(0,a.lm)(),F=(0,P.v9)(u._),{allowedActions:{canCreate:A,canDelete:H,canUpdate:R,canRead:p}}=(0,a.ss)(F.settings["api-tokens"]),{push:s}=(0,O.k6)(),{trackUsage:i}=(0,a.rS)(),{startSection:y}=(0,a.c1)(),g=e.useRef(y),{get:T,del:f}=(0,a.kY)(),{formatAPIError:c}=(0,a.So)();e.useEffect(()=>{g.current&&g.current("apiTokens")},[]),e.useEffect(()=>{s({search:S().stringify({sort:"name:ASC"},{encode:!1})})},[s]);const C=Q.map(o=>({...o,metadatas:{...o.metadatas,label:m(o.metadatas.label)}})),{data:d,isLoading:B}=(0,D.useQuery)(["api-tokens"],async()=>{i("willAccessTokenList",{tokenType:v.Z});const{data:{data:o}}=await T("/admin/api-tokens");return i("didAccessTokenList",{number:o.length,tokenType:v.Z}),o},{cacheTime:0,enabled:p,onError(o){U({type:"warning",message:c(o)})}}),M=B,x=(0,D.useMutation)(async o=>{await f(`/admin/api-tokens/${o}`)},{async onSuccess(){await h.invalidateQueries(["api-tokens"]),i("didDeleteToken")},onError(o){U({type:"warning",message:c(o)})}}),Z=d&&d.length>0,j=p&&Z,W=p&&!Z&&!A,Y=p&&!Z&&A;return e.createElement(k.o,{"aria-busy":M},e.createElement(a.SL,{name:"API Tokens"}),e.createElement(V.T,{title:m({id:"Settings.apiTokens.title",defaultMessage:"API Tokens"}),subtitle:m({id:"Settings.apiTokens.description",defaultMessage:"List of generated tokens to consume the API"}),primaryAction:A&&e.createElement(a.Qj,{"data-testid":"create-api-token-button",startIcon:e.createElement(b.Z,null),size:"S",onClick:()=>i("willAddTokenFromList",{tokenType:v.Z}),to:"/settings/api-tokens/create"},m({id:"Settings.apiTokens.create",defaultMessage:"Create new API Token"}))}),e.createElement(l.D,null,!p&&e.createElement(a.ZF,null),j&&e.createElement(N.Z,{permissions:{canRead:p,canDelete:H,canUpdate:R},headers:C,contentType:"api-tokens",rows:d,isLoading:M,onConfirmDelete:o=>x.mutateAsync(o),tokens:d,tokenType:v.Z}),Y&&e.createElement(a.dJ,{content:{id:"Settings.apiTokens.addFirstToken",defaultMessage:"Add your first API Token"},action:e.createElement(a.Qj,{variant:"secondary",startIcon:e.createElement(b.Z,null),to:"/settings/api-tokens/create"},m({id:"Settings.apiTokens.addNewToken",defaultMessage:"Add new API Token"}))}),W&&e.createElement(a.dJ,{content:{id:"Settings.apiTokens.emptyStateLayout",defaultMessage:"You don\u2019t have any content yet..."}})))},L=()=>{const h=(0,P.v9)(u._);return e.createElement(a.O4,{permissions:h.settings["api-tokens"].main},e.createElement($,null))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{97108:function(R,p,t){t.d(p,{R:function(){return v}});var e=t(19565),n=t(20108);function v(f={},M={}){const{id:h="",...c}=f,{get:O}=(0,e.kY)(),{data:E,isError:C,isLoading:y,refetch:P}=(0,n.useQuery)(["users",h,c],async()=>{const{data:{data:S}}=await O(`/admin/users/${h}`,{params:c});return S},M);let D=[];return h&&E?D=[E]:Array.isArray(E?.results)&&(D=E.results),{users:D,pagination:E?.pagination??null,isLoading:y,isError:C,refetch:P}}},59092:function(R,p,t){var e=t(32735),n=t(72850),v=t(41415),f=t(19565),M=t(5644),h=t(60216),c=t.n(h),O=t(67879);const E=({displayedFilters:C})=>{const[y,P]=(0,e.useState)(!1),{formatMessage:D}=(0,O.Z)(),S=(0,e.useRef)(),b=()=>{P(V=>!V)};return e.createElement(e.Fragment,null,e.createElement(n.x,{paddingTop:1,paddingBottom:1},e.createElement(v.z,{variant:"tertiary",ref:S,startIcon:e.createElement(M.Z,null),onClick:b,size:"S"},D({id:"app.utils.filters",defaultMessage:"Filters"})),y&&e.createElement(f.J5,{displayedFilters:C,isVisible:y,onToggle:b,source:S})),e.createElement(f.W$,{filtersSchema:C}))};E.propTypes={displayedFilters:c().arrayOf(c().shape({name:c().string.isRequired,metadatas:c().shape({label:c().string}),fieldSchema:c().shape({type:c().string})})).isRequired},p.Z=E},1487:function(R,p,t){t.r(p),t.d(p,{default:function(){return ve}});var e=t(32735),n=t(19565),v=t(15062),f=t(30305),M=t(96709),h=t(17e3),c=t(72850),O=t(27649),E=t(82055),C=t(99223),y=t(67879),P=t(59092),D=t(20108),S=t(53038),b=t(97108),X=({canReadAuditLogs:a,canReadUsers:d})=>{const{get:u}=(0,n.kY)(),{search:i}=(0,S.TH)(),m=(0,n.lm)(),[{query:l}]=(0,n.Kx)(),s={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:L=>m({type:"warning",message:L.message})},{users:r,isError:g,isLoading:T}=(0,b.R)({},{...s,enabled:d,staleTime:2*(1e3*60)}),{data:A,isLoading:B,isError:F}=(0,D.useQuery)(["auditLogs",i],async()=>{const{data:L}=await u("/admin/audit-logs",{params:l});return L},{...s,enabled:a});return{auditLogs:A,users:r,isLoading:T||B,hasError:F||g}},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,y.Z)();return u=>{const i=(0,ae.Z)(u),m=a(i,{dateStyle:"long"}),l=a(i,{timeStyle:"medium",hourCycle:"h24"});return`${m}, ${l}`}},U=t(87933),se=t(23866),I=t(49372),ne=t(15335),oe=t(9538);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"},Z=a=>H[a]||a,Q=({actionLabel:a,actionName:d})=>e.createElement(U.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(I.Z,{textColor:"neutral600",variant:"sigma"},a),e.createElement(I.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,y.Z)();if(a==="loading")return e.createElement(U.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(se.a,null,"Loading content..."));const{action:m,user:l,payload:s}=d;return e.createElement(e.Fragment,null,e.createElement(c.x,{marginBottom:3},e.createElement(I.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:Z(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:l?.displayName||"-"}),e.createElement(x,{actionLabel:i({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:l?.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 T=>{const{data:A}=await u(`/admin/audit-logs/${T}`);if(!A)throw new Error("Audit log not found");return A},{data:l,status:s}=(0,D.useQuery)(["audit-log",d],()=>m(d),{onError(){i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),a()}}),r=N(),g=l?r(l.date):"";return e.createElement(w.P,{onClose:a,labelledBy:"title"},e.createElement(k.x,null,e.createElement(_.O,{label:g,id:"title"},e.createElement(ee.$,{isCurrent:!0},g))),e.createElement(q.f,null,e.createElement(ie,{status:s,data:l,formattedDate:g})))};Y.propTypes={handleClose:o().func.isRequired,logId:o().string.isRequired};var re=Y;const $=({pagination:a})=>e.createElement(c.x,{paddingTop:4},e.createElement(U.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.v4,null),e.createElement(n.tU,{pagination:a})));$.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},$.propTypes={pagination:o().shape({page:o().number,pageCount:o().number,pageSize:o().number,total:o().number})};var le=$,de=t(35658),me=t(94547),z=t(19786),ue=t(50563),ce=t(54894);const j=({headers:a,rows:d,onOpenModal:u})=>{const{formatMessage:i}=(0,y.Z)(),m=N(),l=({type:s,value:r,model:g})=>s==="date"?m(r):s==="action"?i({id:`Settings.permissions.auditLogs.${r}`,defaultMessage:Z(r)},{model:g}):r||"-";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:r,name:g,cellFormatter:T})=>e.createElement(z.Td,{key:r},e.createElement(I.Z,{textColor:"neutral800"},l({type:r,value:T?T(s[g]):s[g],model:s.payload?.model})))),e.createElement(z.Td,{...n.UW},e.createElement(U.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)}))))))};j.defaultProps={rows:[]},j.propTypes={headers:o().array.isRequired,rows:o().array,onOpenModal:o().func.isRequired};var ge=j,pe=t(21428),fe=t(90333);const K=({value:a,options:d,onChange:u})=>{const{formatMessage:i}=(0,y.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:l,customValue:s})=>e.createElement(fe.O,{key:s,value:s},l)))};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(l=>({label:a({id:`Settings.permissions.auditLogs.${l}`,defaultMessage:Z(l)},{model:void 0}),customValue:l})),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 l=r=>r.username?r.username:r.firstname&&r.lastname?a({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:r.firstname,lastname:r.lastname}):r.email,s=d.map(r=>({label:l(r),customValue:r.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,y.Z)(),d=(0,v.v9)(f._),{allowedActions:{canRead:u,canReadUsers:i}}=(0,n.ss)({...d.settings.auditLogs,readUsers:d.settings.users.read}),[{query:m},l]=(0,n.Kx)(),{auditLogs:s,users:r,isLoading:g,hasError:T}=X({canReadAuditLogs:u,canReadUsers:i});(0,n.go)();const A=Ee({formatMessage:a,users:r,canReadUsers:i}),B=a({id:"global.auditLogs",defaultMessage:"Audit Logs"}),F=ye.map(L=>({...L,metadatas:{...L.metadatas,label:a(L.metadatas.label)}}));return T?e.createElement(M.A,null,e.createElement(h.D,null,e.createElement(c.x,{paddingTop:8},e.createElement(n.Hn,null)))):e.createElement(O.o,{"aria-busy":g},e.createElement(n.SL,{name:B}),e.createElement(E.T,{title:B,subtitle:a({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(C.Z,{startActions:e.createElement(P.Z,{displayedFilters:A})}),e.createElement(h.D,{canRead:u},e.createElement(n.tM,{contentType:"Audit logs",headers:F,rows:s?.results||[],withBulkActions:!0,isLoading:g},e.createElement(ge,{headers:F,rows:s?.results||[],onOpenModal:L=>l({id:L})})),e.createElement(le,{pagination:s?.pagination})),m?.id&&e.createElement(re,{handleClose:()=>l({id:null},"remove"),logId:m.id}))},ve=()=>{const a=(0,v.v9)(f._);return e.createElement(n.O4,{permissions:a.settings.auditLogs.main},e.createElement(Le,null))}},90333:function(R,p,t){t.d(p,{O:function(){return n}});var e=t(21428);const n=e.Wx},99223:function(R,p,t){t.d(p,{Z:function(){return v}});var e=t(74512),n=t(87933);const v=({startActions:f,endActions:M})=>!f&&!M?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:f}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:M})]})}}]);