@strapi/admin 4.12.6 → 4.13.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/admin/src/StrapiApp.js +1 -1
  2. package/admin/src/components/AuthenticatedApp/index.js +118 -0
  3. package/admin/src/components/AuthenticatedApp/utils/api.js +85 -0
  4. package/admin/src/components/AuthenticatedApp/utils/checkLatestStrapiVersion.js +11 -0
  5. package/admin/src/components/GuidedTour/Modal/index.js +3 -1
  6. package/admin/src/components/NpsSurvey/hooks/useNpsSurveySettings.js +17 -0
  7. package/admin/src/components/NpsSurvey/index.js +365 -0
  8. package/admin/src/components/PluginsInitializer/index.js +68 -0
  9. package/admin/src/components/PluginsInitializer/init.js +11 -0
  10. package/admin/src/components/PluginsInitializer/reducer.js +22 -0
  11. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumns.js +2 -0
  12. package/admin/src/content-manager/components/DynamicZone/components/DynamicZoneLabel.js +1 -1
  13. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +8 -1
  14. package/admin/src/content-manager/components/Filter/CustomInputs/AdminUsersFilter.js +42 -0
  15. package/admin/src/content-manager/components/Filter/Filter.js +54 -0
  16. package/admin/src/content-manager/components/Filter/index.js +1 -0
  17. package/admin/src/content-manager/components/InputUID/index.js +222 -216
  18. package/admin/src/content-manager/components/RelationInput/RelationInput.js +4 -0
  19. package/admin/src/content-manager/components/RepeatableComponent/index.js +32 -2
  20. package/admin/src/content-manager/components/Wysiwyg/Editor.js +432 -68
  21. package/admin/src/content-manager/components/Wysiwyg/WysiwygStyles.js +0 -7
  22. package/admin/src/content-manager/components/Wysiwyg/index.js +147 -152
  23. package/admin/src/content-manager/hooks/useAllowedAttributes.js +47 -0
  24. package/admin/src/content-manager/pages/App/index.js +16 -5
  25. package/admin/src/content-manager/pages/EditView/Information/index.js +9 -8
  26. package/admin/src/content-manager/pages/ListSettingsView/components/Settings.js +40 -7
  27. package/admin/src/content-manager/pages/ListSettingsView/index.js +6 -2
  28. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +2 -2
  29. package/admin/src/content-manager/pages/ListView/components/FieldPicker/index.js +67 -69
  30. package/admin/src/content-manager/pages/ListView/components/TableRows/index.js +1 -1
  31. package/admin/src/content-manager/pages/ListView/components/ViewSettingsMenu/index.js +80 -0
  32. package/admin/src/content-manager/pages/ListView/index.js +236 -67
  33. package/admin/src/content-manager/utils/getDisplayName.js +33 -0
  34. package/admin/src/content-manager/utils/index.js +1 -0
  35. package/admin/src/hooks/useSettingsForm/index.js +3 -14
  36. package/admin/src/hooks/useSettingsMenu/index.js +2 -2
  37. package/admin/src/hooks/useSettingsMenu/utils/formatLinks.js +3 -1
  38. package/admin/src/hooks/useSettingsMenu/utils/sortLinks.js +3 -1
  39. package/admin/src/index.js +1 -1
  40. package/admin/src/layouts/AppLayout/index.js +33 -0
  41. package/admin/src/pages/Admin/Onboarding/index.js +3 -1
  42. package/admin/src/pages/Admin/index.js +73 -77
  43. package/admin/src/pages/App/constants.js +1 -1
  44. package/admin/src/pages/App/index.js +122 -160
  45. package/admin/src/pages/AuthPage/components/Register/index.js +5 -0
  46. package/admin/src/pages/AuthPage/index.js +4 -2
  47. package/admin/src/pages/HomePage/index.js +3 -1
  48. package/admin/src/pages/InstalledPluginsPage/index.js +3 -1
  49. package/admin/src/pages/{InternalErrorPage.js → InternalErrorPage/index.js} +4 -3
  50. package/admin/src/pages/{NotFoundPage.js → NotFoundPage/index.js} +3 -1
  51. package/admin/src/pages/ProfilePage/index.js +4 -2
  52. package/admin/src/pages/SettingsPage/constants.js +132 -67
  53. package/admin/src/pages/SettingsPage/index.js +18 -23
  54. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -1
  55. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +1 -1
  56. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +1 -2
  57. package/admin/src/pages/SettingsPage/pages/Users/ListPage/DynamicTable/TableRows/index.js +1 -1
  58. package/admin/src/pages/UseCasePage/index.js +175 -0
  59. package/admin/src/plugins.js +7 -8
  60. package/admin/src/translations/en.json +10 -1
  61. package/admin/src/utils/checkFormValidity.js +15 -0
  62. package/admin/src/utils/createRoute.js +7 -5
  63. package/admin/src/utils/formatAPIErrors.js +3 -1
  64. package/admin/src/utils/getAttributesToDisplay.js +19 -0
  65. package/admin/src/utils/getExistingActions.js +32 -0
  66. package/admin/src/utils/getFullName.js +1 -1
  67. package/admin/src/utils/index.js +9 -0
  68. package/admin/src/utils/makeUniqueRoutes.js +6 -0
  69. package/admin/src/utils/sortLinks.js +3 -1
  70. package/admin/src/utils/uniqueAdminHash.js +9 -2
  71. package/build/{1049.9d69d231.chunk.js → 1049.ec69f5e0.chunk.js} +1 -1
  72. package/build/1227.9f37e1dc.chunk.js +1 -0
  73. package/build/1386.ea73b677.chunk.js +7 -0
  74. package/build/{2225.33287e1b.chunk.js → 2225.649fb7bc.chunk.js} +2 -2
  75. package/build/{2237.03792b63.chunk.js → 2237.b832ae6e.chunk.js} +4 -4
  76. package/build/{2379.401f56f3.chunk.js → 2379.1f98a31a.chunk.js} +1 -1
  77. package/build/{2395.e6a79fbb.chunk.js → 2395.0e5e8ded.chunk.js} +1 -1
  78. package/build/{2801.31393ffe.chunk.js → 2801.8e1aa82a.chunk.js} +1 -1
  79. package/build/3483.19381b40.chunk.js +1 -0
  80. package/build/3739.63e352f1.chunk.js +103 -0
  81. package/build/4174.f1f39e40.chunk.js +1 -0
  82. package/build/448.829e1344.chunk.js +1 -0
  83. package/build/4546.a5946d22.chunk.js +1 -0
  84. package/build/4724.aea5c8c1.chunk.js +6 -0
  85. package/build/{502.8dd074ff.chunk.js → 502.7bba43b1.chunk.js} +1 -1
  86. package/build/6158.c3c13c20.chunk.js +1 -0
  87. package/build/6691.4985ef22.chunk.js +105 -0
  88. package/build/{7464.592a9295.chunk.js → 7464.eb057bec.chunk.js} +1 -1
  89. package/build/78.dcc6df5c.chunk.js +1 -0
  90. package/build/{8276.e519a707.chunk.js → 8276.be3ed581.chunk.js} +2 -2
  91. package/build/{2747.d1442a90.chunk.js → 9806.5d5a0e8d.chunk.js} +64 -72
  92. package/build/9944.7af075a5.chunk.js +26 -0
  93. package/build/Admin-authenticatedApp.43b6ec9a.chunk.js +79 -0
  94. package/build/Admin_InternalErrorPage.38155af3.chunk.js +1 -0
  95. package/build/Admin_homePage.6f128523.chunk.js +81 -0
  96. package/build/Admin_marketplace.061a6e5a.chunk.js +55 -0
  97. package/build/Admin_pluginsPage.16f837b8.chunk.js +6 -0
  98. package/build/Admin_profilePage.678bce24.chunk.js +13 -0
  99. package/build/Admin_settingsPage.af7309e4.chunk.js +111 -0
  100. package/build/{Upload_ConfigureTheView.345ac1e0.chunk.js → Upload_ConfigureTheView.3fc1c100.chunk.js} +1 -1
  101. package/build/admin-app.d63bd229.chunk.js +36 -0
  102. package/build/{admin-edit-roles-page.24bdf746.chunk.js → admin-edit-roles-page.38a6c863.chunk.js} +3 -3
  103. package/build/admin-edit-users.545fc882.chunk.js +10 -0
  104. package/build/{admin-roles-list.23ddff26.chunk.js → admin-roles-list.1e2e814d.chunk.js} +1 -1
  105. package/build/admin-users.b8ea5677.chunk.js +11 -0
  106. package/build/{api-tokens-create-page.46c2ea84.chunk.js → api-tokens-create-page.e0c15627.chunk.js} +1 -1
  107. package/build/{api-tokens-edit-page.58139df9.chunk.js → api-tokens-edit-page.9f2dce47.chunk.js} +1 -1
  108. package/build/{api-tokens-list-page.0af7d431.chunk.js → api-tokens-list-page.d747051c.chunk.js} +2 -2
  109. package/build/{audit-logs-settings-page.0f73ccf8.chunk.js → audit-logs-settings-page.96f9d608.chunk.js} +1 -1
  110. package/build/content-manager.ccff1078.chunk.js +1097 -0
  111. package/build/{content-type-builder-list-view.bf9be456.chunk.js → content-type-builder-list-view.b71cf240.chunk.js} +1 -1
  112. package/build/{content-type-builder.66066281.chunk.js → content-type-builder.e5669749.chunk.js} +18 -18
  113. package/build/{email-settings-page.2f7e35c0.chunk.js → email-settings-page.2809f0bf.chunk.js} +1 -1
  114. package/build/en-json.e12fd5fc.chunk.js +1 -0
  115. package/build/{i18n-settings-page.47f78016.chunk.js → i18n-settings-page.5f716172.chunk.js} +1 -1
  116. package/build/index.html +1 -1
  117. package/build/main.c6c9e04c.js +2859 -0
  118. package/build/{review-workflows-settings-create-view.d24a32b9.chunk.js → review-workflows-settings-create-view.4a156a19.chunk.js} +1 -1
  119. package/build/{review-workflows-settings-edit-view.6044b022.chunk.js → review-workflows-settings-edit-view.ce984d1f.chunk.js} +1 -1
  120. package/build/{review-workflows-settings-list-view.3f0ef4bc.chunk.js → review-workflows-settings-list-view.419b8deb.chunk.js} +2 -2
  121. package/build/runtime~main.dcf1cb45.js +2 -0
  122. package/build/{sso-settings-page.4dba0670.chunk.js → sso-settings-page.45153df5.chunk.js} +1 -1
  123. package/build/{transfer-tokens-create-page.1597e6ab.chunk.js → transfer-tokens-create-page.ebba16d8.chunk.js} +1 -1
  124. package/build/{transfer-tokens-edit-page.8741529f.chunk.js → transfer-tokens-edit-page.d7bb2b3e.chunk.js} +1 -1
  125. package/build/{transfer-tokens-list-page.d6986b03.chunk.js → transfer-tokens-list-page.cfe1736c.chunk.js} +2 -2
  126. package/build/{upload-settings.7f93d4c0.chunk.js → upload-settings.cc5ad813.chunk.js} +1 -1
  127. package/build/{upload.37488080.chunk.js → upload.756efc28.chunk.js} +1 -1
  128. package/build/{users-advanced-settings-page.17052d72.chunk.js → users-advanced-settings-page.818d84eb.chunk.js} +1 -1
  129. package/build/{users-email-settings-page.3de8ea50.chunk.js → users-email-settings-page.c1967c09.chunk.js} +1 -1
  130. package/build/{users-providers-settings-page.0eaa916d.chunk.js → users-providers-settings-page.11893e08.chunk.js} +1 -1
  131. package/build/{users-roles-settings-page.957ad48b.chunk.js → users-roles-settings-page.2b051e6a.chunk.js} +1 -1
  132. package/build/webhook-edit-page.de45c635.chunk.js +33 -0
  133. package/build/{webhook-list-page.65e1b5bb.chunk.js → webhook-list-page.ca91df8b.chunk.js} +1 -1
  134. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/AssigneeFilter.js +42 -0
  135. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/StageFilter.js +70 -0
  136. package/ee/admin/content-manager/components/Filter/CustomInputs/ReviewWorkflows/constants.js +71 -0
  137. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +9 -217
  138. package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/AssigneeSelect.js +147 -0
  139. package/ee/admin/content-manager/pages/EditView/InformationBox/components/AssigneeSelect/index.js +1 -0
  140. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/StageSelect.js +243 -0
  141. package/ee/admin/content-manager/pages/EditView/InformationBox/components/StageSelect/index.js +1 -0
  142. package/ee/admin/content-manager/pages/EditView/InformationBox/constants.js +2 -0
  143. package/ee/admin/content-manager/pages/ListSettingsView/constants.js +7 -0
  144. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/ReviewWorkflowsAssigneeEE.js +21 -0
  145. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/constants.js +44 -17
  146. package/ee/admin/content-manager/pages/ListView/ReviewWorkflowsColumn/index.js +1 -0
  147. package/ee/admin/pages/App/constants.js +5 -6
  148. package/ee/admin/pages/SettingsPage/constants.js +42 -27
  149. package/ee/server/constants/workflows.js +1 -0
  150. package/ee/server/controllers/index.js +1 -0
  151. package/ee/server/controllers/workflows/assignees/index.js +44 -0
  152. package/ee/server/routes/review-workflows.js +17 -0
  153. package/ee/server/services/index.js +1 -0
  154. package/ee/server/services/review-workflows/assignees.js +54 -0
  155. package/ee/server/services/review-workflows/metrics/index.js +5 -0
  156. package/ee/server/services/review-workflows/review-workflows.js +20 -11
  157. package/ee/server/validation/review-workflows.js +8 -0
  158. package/index.js +2 -6
  159. package/package.json +9 -9
  160. package/scripts/build.js +15 -15
  161. package/scripts/create-dev-plugins-file.js +5 -38
  162. package/server/controllers/role.js +2 -0
  163. package/server/controllers/user.js +2 -0
  164. package/server/services/permission/permissions-manager/index.js +3 -1
  165. package/server/services/permission/permissions-manager/sanitize.js +19 -7
  166. package/server/services/permission/permissions-manager/validate.js +218 -0
  167. package/utils/create-cache-dir.js +62 -16
  168. package/utils/create-plugins-exclude-path.js +3 -23
  169. package/utils/get-plugins.js +110 -0
  170. package/utils/index.js +1 -1
  171. package/webpack.config.js +10 -13
  172. package/admin/src/components/AuthenticatedApp.js +0 -229
  173. package/admin/src/content-manager/components/AttributeFilter/Filters.js +0 -58
  174. package/admin/src/content-manager/components/AttributeFilter/hooks/useAllowedAttributes.js +0 -42
  175. package/admin/src/content-manager/components/AttributeFilter/index.js +0 -40
  176. package/admin/src/content-manager/components/Wysiwyg/EditorStylesContainer.js +0 -344
  177. package/admin/src/pages/UseCasePage.js +0 -174
  178. package/build/2166.c837469a.chunk.js +0 -1
  179. package/build/3483.8517171f.chunk.js +0 -1
  180. package/build/3984.dda474f7.chunk.js +0 -1
  181. package/build/4546.7a3c0d03.chunk.js +0 -1
  182. package/build/5483.5bfbb00d.chunk.js +0 -6
  183. package/build/6158.c974fd83.chunk.js +0 -1
  184. package/build/748.fd2e5afd.chunk.js +0 -105
  185. package/build/773.6381d62d.chunk.js +0 -18
  186. package/build/7826.399afe81.chunk.js +0 -103
  187. package/build/8261.2525d35c.chunk.js +0 -7
  188. package/build/8299.62b67c72.chunk.js +0 -1
  189. package/build/Admin-AuthPage.90d64342.chunk.js +0 -35
  190. package/build/Admin-AuthenticatedApp.379ac945.chunk.js +0 -24
  191. package/build/Admin-UseCasePage.1f757db5.chunk.js +0 -13
  192. package/build/Admin_GuidedTourModal.8ccf1fbc.chunk.js +0 -12
  193. package/build/Admin_InternalErrorPage.9de92c6d.chunk.js +0 -9
  194. package/build/Admin_NotFoundPage.21620424.chunk.js +0 -9
  195. package/build/Admin_Onboarding.dbfa32f6.chunk.js +0 -43
  196. package/build/Admin_homePage.2000cbe9.chunk.js +0 -86
  197. package/build/Admin_marketplace.ec80e29b.chunk.js +0 -63
  198. package/build/Admin_pluginsPage.0c6851f8.chunk.js +0 -14
  199. package/build/Admin_profilePage.78cd8495.chunk.js +0 -21
  200. package/build/Admin_settingsPage.1760c3ce.chunk.js +0 -119
  201. package/build/StrapiApp.221fac30.chunk.js +0 -5
  202. package/build/admin-edit-users.5d10d444.chunk.js +0 -10
  203. package/build/admin-users.2b3e4305.chunk.js +0 -11
  204. package/build/content-manager.fb0833bd.chunk.js +0 -1099
  205. package/build/en-json.08c05fcf.chunk.js +0 -1
  206. package/build/main.ee3c1938.js +0 -2859
  207. package/build/runtime~main.397ee447.js +0 -2
  208. package/build/webhook-edit-page.665210af.chunk.js +0 -33
  209. package/scripts/create-plugins-file.js +0 -92
  210. package/utils/get-plugins-path.js +0 -41
  211. /package/server/services/permission/permissions-manager/{query-builers.js → query-builders.js} +0 -0
@@ -1,14 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3677],{91534:function(y,u,n){n.r(u),n.d(u,{PluginsPage:function(){return M}});var t=n(32735),s=n(19565),g=n(74758),h=n(67879),f=n(15062),x=n(30305),o=n(94638),m=n(96709),v=n(27649),P=n(82055),C=n(17e3),j=n(56755),e=n(33827),l=n(94547),i=n(19786),a=n(49372),r=n(35658),c=n(20108);const E=d=>{const p=(0,s.lm)(),{get:T}=(0,s.kY)();return(0,c.useQuery)(["plugins"],async()=>{const{data:O}=await T("/admin/plugins");return O},{onSuccess(){d&&d()},onError(){p({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};var B=()=>{const{formatMessage:d}=(0,h.Z)(),{notifyStatus:p}=(0,o.G)();(0,s.go)();const T=d({id:"global.plugins",defaultMessage:"Plugins"}),O=()=>{p(d({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:T}))},{status:D,data:R}=E(O);return D!=="success"&&D!=="error"?t.createElement(m.A,null,t.createElement(v.o,{"aria-busy":!0},t.createElement(s.dO,null))):t.createElement(m.A,null,t.createElement(v.o,null,t.createElement(P.T,{title:T,subtitle:d({id:"app.components.ListPluginsPage.description",defaultMessage:"List of the installed plugins in the project."})}),t.createElement(C.D,null,t.createElement(j.i,{colCount:2,rowCount:R?.plugins?.length??0+1},t.createElement(e.h,null,t.createElement(l.Tr,null,t.createElement(i.Th,null,t.createElement(a.Z,{variant:"sigma",textColor:"neutral600"},d({id:"global.name",defaultMessage:"Name"}))),t.createElement(i.Th,null,t.createElement(a.Z,{variant:"sigma",textColor:"neutral600"},d({id:"global.description",defaultMessage:"description"}))))),t.createElement(r.p,null,R.plugins.map(({name:A,displayName:I,description:Z})=>t.createElement(l.Tr,{key:A},t.createElement(i.Td,null,t.createElement(a.Z,{textColor:"neutral800",variant:"omega",fontWeight:"bold"},d({id:`global.plugins.${A}`,defaultMessage:I}))),t.createElement(i.Td,null,t.createElement(a.Z,{textColor:"neutral800"},d({id:`global.plugins.${A}.description`,defaultMessage:Z}))))))))))};const M=()=>{const{formatMessage:d}=(0,h.Z)(),p=(0,f.v9)(x._);return t.createElement(s.O4,{permissions:p.marketplace.main},t.createElement(g.q,{title:d({id:"global.plugins",defaultMessage:"Plugins"})}),t.createElement(B,null))}},17e3:function(y,u,n){n.d(u,{D:function(){return g}});var t=n(74512),s=n(72850);const g=({children:h})=>(0,t.jsx)(s.x,{paddingLeft:10,paddingRight:10,children:h})},82055:function(y,u,n){n.d(u,{T:function(){return P}});var t=n(74512),s=n(32735),g=n(8471);const h=e=>{const l=(0,s.useRef)(null),[i,a]=(0,s.useState)(!0),r=([c])=>{a(c.isIntersecting)};return(0,s.useEffect)(()=>{const c=l.current,E=new IntersectionObserver(r,e);return c&&E.observe(l.current),()=>{c&&E.disconnect()}},[l,e]),[l,i]};var f=n(81957);const x=(e,l)=>{const i=(0,f.W)(l);(0,s.useLayoutEffect)(()=>{const a=new ResizeObserver(i);return Array.isArray(e)?e.forEach(r=>{r.current&&a.observe(r.current)}):e.current&&a.observe(e.current),()=>{a.disconnect()}},[e,i])};var o=n(72850),m=n(87933),v=n(49372);const P=e=>{const l=(0,s.useRef)(null),[i,a]=(0,s.useState)(null),[r,c]=h({root:null,rootMargin:"0px",threshold:0});return x(r,()=>{r.current&&a(r.current.getBoundingClientRect())}),(0,s.useEffect)(()=>{l.current&&a(l.current.getBoundingClientRect())},[l]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{height:i?.height},ref:r,children:c&&(0,t.jsx)(j,{ref:l,...e})}),!c&&(0,t.jsx)(j,{...e,sticky:!0,width:i?.width})]})};P.displayName="HeaderLayout";const C=(0,g.ZP)(o.x)`
2
- width: ${({width:e})=>e?`${e/16}rem`:void 0};
3
- z-index: ${({theme:e})=>e.zIndices[1]};
4
- `,j=s.forwardRef(({navigationAction:e,primaryAction:l,secondaryAction:i,subtitle:a,title:r,sticky:c,width:E,...L},B)=>{const M=typeof a=="string";return c?(0,t.jsx)(C,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:E,"data-strapi-header-sticky":!0,children:(0,t.jsxs)(m.k,{justifyContent:"space-between",children:[(0,t.jsxs)(m.k,{children:[e&&(0,t.jsx)(o.x,{paddingRight:3,children:e}),(0,t.jsxs)(o.x,{children:[(0,t.jsx)(v.Z,{variant:"beta",as:"h1",...L,children:r}),M?(0,t.jsx)(v.Z,{variant:"pi",textColor:"neutral600",children:a}):a]}),i?(0,t.jsx)(o.x,{paddingLeft:4,children:i}):null]}),(0,t.jsx)(m.k,{children:l?(0,t.jsx)(o.x,{paddingLeft:2,children:l}):void 0})]})}):(0,t.jsxs)(o.x,{ref:B,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:e?6:8,background:"neutral100","data-strapi-header":!0,children:[e?(0,t.jsx)(o.x,{paddingBottom:2,children:e}):null,(0,t.jsxs)(m.k,{justifyContent:"space-between",children:[(0,t.jsxs)(m.k,{minWidth:0,children:[(0,t.jsx)(v.Z,{as:"h1",variant:"alpha",...L,children:r}),i?(0,t.jsx)(o.x,{paddingLeft:4,children:i}):null]}),l]}),M?(0,t.jsx)(v.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:a}):a]})})},96709:function(y,u,n){n.d(u,{A:function(){return x}});var t=n(74512),s=n(8471),g=n(72850);const h=(0,s.ZP)(g.x)`
5
- display: grid;
6
- grid-template-columns: ${({hasSideNav:o})=>o?"auto 1fr":"1fr"};
7
- `,f=(0,s.ZP)(g.x)`
8
- overflow-x: hidden;
9
- `,x=({sideNav:o,children:m})=>(0,t.jsxs)(h,{hasSideNav:!!o,children:[o,(0,t.jsx)(f,{paddingBottom:10,children:m})]})},27649:function(y,u,n){n.d(u,{o:function(){return f}});var t=n(74512),s=n(8471),g=n(72850);const h=(0,s.ZP)(g.x)`
10
- // To prevent global outline on focus visible to force an outline when Main is focused
11
- &:focus-visible {
12
- outline: none;
13
- }
14
- `,f=({labelledBy:x="main-content-title",...o})=>(0,t.jsx)(h,{"aria-labelledby":x,as:"main",id:"main-content",tabIndex:-1,...o})}}]);
@@ -1,21 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9497],{51399:function(W,E,t){var e=t(32735),n=t(33229);const h=()=>{const{changeLocale:M,localeNames:L,messages:S}=(0,e.useContext)(n.Z);return{changeLocale:M,localeNames:L,messages:S}};E.Z=h},94987:function(W,E,t){t.r(E),t.d(E,{ProfilePage:function(){return me}});var e=t(32735),n=t(94638),h=t(27649),M=t(82055),L=t(17e3),S=t(41415),m=t(72850),w=t(87933),r=t(19565),I=t(66456),A=t(92802),T=t(74758),a=t(67879),d=t(20108),p=t(51399),g=t(63465),f=t(35663),P=t(10369),D=t(63642),b=t(49372),U=t(15335),y=t(5803),K=t(54894),Q=t(60492),ae=t(60216),s=t.n(ae),V=t(8471);const k=(0,V.ZP)(P.o)`
2
- ::-ms-reveal {
3
- display: none;
4
- }
5
- `,$=(0,V.ZP)(D.E)`
6
- svg {
7
- height: ${(0,r.Q1)(16)};
8
- width: ${(0,r.Q1)(16)};
9
- path {
10
- fill: ${({theme:o})=>o.colors.neutral600};
11
- }
12
- }
13
- `,G=({errors:o,onChange:v,values:x})=>{const{formatMessage:u}=(0,a.Z)(),[l,F]=(0,e.useState)(!1),[i,N]=(0,e.useState)(!1),[H,J]=(0,e.useState)(!1);return e.createElement(m.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(w.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.Z,{variant:"delta",as:"h2"},u({id:"global.change-password",defaultMessage:"Change password"})),e.createElement(U.r,{gap:5},e.createElement(y.P,{s:12,col:6},e.createElement(P.o,{error:o.currentPassword?u({id:o.currentPassword,defaultMessage:o.currentPassword}):"",onChange:v,value:x.currentPassword,label:u({id:"Auth.form.currentPassword.label",defaultMessage:"Current Password"}),name:"currentPassword",type:l?"text":"password",endAction:e.createElement($,{onClick:R=>{R.stopPropagation(),F(O=>!O)},label:u(l?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},l?e.createElement(K.Z,null):e.createElement(Q.Z,null))}))),e.createElement(U.r,{gap:5},e.createElement(y.P,{s:12,col:6},e.createElement(k,{error:o.password?u({id:o.password,defaultMessage:o.password}):"",onChange:v,value:x.password,label:u({id:"global.password",defaultMessage:"Password"}),name:"password",type:i?"text":"password",autoComplete:"new-password",endAction:e.createElement($,{onClick:R=>{R.stopPropagation(),N(O=>!O)},label:u(i?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},i?e.createElement(K.Z,null):e.createElement(Q.Z,null))})),e.createElement(y.P,{s:12,col:6},e.createElement(k,{error:o.confirmPassword?u({id:o.confirmPassword,defaultMessage:o.confirmPassword}):"",onChange:v,value:x.confirmPassword,label:u({id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"}),name:"confirmPassword",type:H?"text":"password",autoComplete:"new-password",endAction:e.createElement($,{onClick:R=>{R.stopPropagation(),J(O=>!O)},label:u(H?{id:"Auth.form.password.show-password",defaultMessage:"Show password"}:{id:"Auth.form.password.hide-password",defaultMessage:"Hide password"})},H?e.createElement(K.Z,null):e.createElement(Q.Z,null))})))))};G.propTypes={errors:s().shape({currentPassword:s().string,password:s().string,confirmPassword:s().string}),onChange:s().func,values:s().shape({currentPassword:s().string,password:s().string,confirmPassword:s().string})},G.defaultProps={errors:{},onChange(){},values:{currentPassword:"",password:"",confirmPassword:""}};var ne=G,q=t(68465),_=t(84967),se=t(23940),re=t.n(se);const Y=({onChange:o,values:v,localeNames:x,allApplicationThemes:u})=>{const{formatMessage:l}=(0,a.Z)(),F=Object.keys(u).filter(i=>u[i]);return e.createElement(m.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(w.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(w.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(b.Z,{variant:"delta",as:"h2"},l({id:"Settings.profile.form.section.experience.title",defaultMessage:"Experience"})),e.createElement(b.Z,null,l({id:"Settings.profile.form.section.experience.interfaceLanguageHelp",defaultMessage:"Preference changes will apply only to you. More information is available {here}."},{here:e.createElement(m.x,{as:"a",color:"primary600",target:"_blank",rel:"noopener noreferrer",href:"https://docs.strapi.io/developer-docs/latest/development/admin-customization.html#locales"},l({id:"Settings.profile.form.section.experience.here",defaultMessage:"here"}))}))),e.createElement(U.r,{gap:5},e.createElement(y.P,{s:12,col:6},e.createElement(q.P,{label:l({id:"Settings.profile.form.section.experience.interfaceLanguage",defaultMessage:"Interface language"}),placeholder:l({id:"global.select",defaultMessage:"Select"}),hint:l({id:"Settings.profile.form.section.experience.interfaceLanguage.hint",defaultMessage:"This will only display your own interface in the chosen language."}),onClear:()=>{o({target:{name:"preferedLanguage",value:null}})},clearLabel:l({id:"Settings.profile.form.section.experience.clear.select",defaultMessage:"Clear the interface language selected"}),value:v.preferedLanguage,onChange:i=>{o({target:{name:"preferedLanguage",value:i}})}},Object.entries(x).map(([i,N])=>e.createElement(_.W,{value:i,key:i},N)))),e.createElement(y.P,{s:12,col:6},e.createElement(q.P,{label:l({id:"Settings.profile.form.section.experience.mode.label",defaultMessage:"Interface mode"}),placeholder:l({id:"components.Select.placeholder",defaultMessage:"Select"}),hint:l({id:"Settings.profile.form.section.experience.mode.hint",defaultMessage:"Displays your interface in the chosen mode."}),value:v.currentTheme,onChange:i=>{o({target:{name:"currentTheme",value:i}})}},F.map(i=>e.createElement(_.W,{value:i,key:i},l({id:"Settings.profile.form.section.experience.mode.option-label",defaultMessage:"{name} mode"},{name:l({id:i,defaultMessage:re()(i)})}))))))))};Y.propTypes={allApplicationThemes:s().object,onChange:s().func,values:s().shape({preferedLanguage:s().string,currentTheme:s().string}),localeNames:s().object},Y.defaultProps={allApplicationThemes:{},onChange(){},values:{preferedLanguage:null,currentTheme:""},localeNames:{}};var oe=Y;const X=({errors:o,onChange:v,values:x})=>{const{formatMessage:u}=(0,a.Z)();return e.createElement(m.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(w.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(b.Z,{variant:"delta",as:"h2"},u({id:"global.profile",defaultMessage:"Profile"})),e.createElement(U.r,{gap:5},e.createElement(y.P,{s:12,col:6},e.createElement(r.jm,{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},error:o.firstname,onChange:v,value:x.firstname,type:"text",name:"firstname",required:!0})),e.createElement(y.P,{s:12,col:6},e.createElement(r.jm,{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},error:o.lastname,onChange:v,value:x.lastname,type:"text",name:"lastname"})),e.createElement(y.P,{s:12,col:6},e.createElement(r.jm,{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},error:o.email,onChange:v,value:x.email,type:"email",name:"email",required:!0})),e.createElement(y.P,{s:12,col:6},e.createElement(r.jm,{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},error:o.username,onChange:v,value:x.username,type:"text",name:"username"})))))};X.propTypes={errors:s().shape({firstname:s().string,lastname:s().string,username:s().string,email:s().string}),onChange:s().func,values:s().shape({firstname:s().string,lastname:s().string,username:s().string,email:s().string})},X.defaultProps={errors:{},onChange(){},values:{firstname:"",lastname:"",username:"",email:""}};var le=X,ie=t(24346),de=t(32720),ce=ie.Ry().shape(de.Rw);const me=()=>{const{changeLocale:o,localeNames:v}=(0,p.Z)(),{setUserDisplayName:x}=(0,r.L7)(),u=(0,d.useQueryClient)(),{formatMessage:l}=(0,a.Z)(),{trackUsage:F}=(0,r.rS)(),i=(0,r.lm)(),{lockApp:N,unlockApp:H}=(0,r.o1)(),{notifyStatus:J}=(0,n.G)(),{currentTheme:R,themes:O,onChangeTheme:ue}=(0,g.M1)(),{get:ee,put:ge}=(0,r.kY)();(0,r.go)();const{isLoading:fe,data:z}=(0,d.useQuery)("user",async()=>{const{data:c}=await ee("/admin/users/me");return c.data},{onSuccess(){J(l({id:"Settings.profile.form.notify.data.loaded",defaultMessage:"Your profile data has been loaded"}))},onError(){i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),{isLoading:pe,data:he}=(0,d.useQuery)(["providers","isSSOLocked"],async()=>{const{data:{data:c}}=await ee("/admin/providers/isSSOLocked");return c},{enabled:window.strapi.isEE&&window.strapi.features.isEnabled("sso"),onError(){i({type:"warning",message:{id:"Settings.permissions.users.sso.provider.error"}})}}),ve=fe||pe,te=(0,d.useMutation)(async c=>{const{confirmPassword:j,currentTheme:C,...B}=c,{data:Z}=await ge("/admin/users/me",B);return{...Z.data,currentTheme:c.currentTheme}},{async onSuccess(c){await u.invalidateQueries("user");const{email:j,firstname:C,lastname:B,username:Z,preferedLanguage:Ae}=c;r.I8.setUserInfo({email:j,firstname:C,lastname:B,username:Z,preferedLanguage:Ae});const Te=c.username||(0,f.P)(c.firstname,c.lastname);x(Te),o(c.preferedLanguage),ue(c.currentTheme),F("didChangeMode",{newMode:c.currentTheme}),i({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})},onSettled(){H()},refetchActive:!0}),{isLoading:Ee}=te,we=async(c,{setErrors:j})=>{N();const C=c.username||null;te.mutate({...c,username:C},{onError(B){const Z=B?.response?.data;return Z?.data?j(Z.data):i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}})};if(ve)return e.createElement(h.o,{"aria-busy":"true"},e.createElement(T.q,{title:l({id:"Settings.profile.form.section.helmet.title",defaultMessage:"User profile"})}),e.createElement(M.T,{title:l({id:"Settings.profile.form.section.profile.page.title",defaultMessage:"Profile page"})}),e.createElement(L.D,null,e.createElement(r.dO,null)));const Pe=he?.isSSOLocked??!1,{email:ye,firstname:xe,lastname:Me,username:Le,preferedLanguage:Se}=z,Ie={email:ye,firstname:xe,lastname:Me,username:Le,preferedLanguage:Se,currentTheme:R};return e.createElement(h.o,{"aria-busy":Ee},e.createElement(T.q,{title:l({id:"Settings.profile.form.section.helmet.title",defaultMessage:"User profile"})}),e.createElement(A.J9,{onSubmit:we,initialValues:Ie,validateOnChange:!1,validationSchema:ce,enableReinitialize:!0},({errors:c,values:j,handleChange:C,isSubmitting:B,dirty:Z})=>e.createElement(r.l0,null,e.createElement(M.T,{title:z.username||(0,f.P)(z.firstname,z.lastname),primaryAction:e.createElement(S.z,{startIcon:e.createElement(I.Z,null),loading:B,type:"submit",disabled:!Z},l({id:"global.save",defaultMessage:"Save"}))}),e.createElement(m.x,{paddingBottom:10},e.createElement(L.D,null,e.createElement(w.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(le,{errors:c,onChange:C,values:j}),!Pe&&e.createElement(ne,{errors:c,onChange:C,values:j}),e.createElement(oe,{allApplicationThemes:O,onChange:C,values:j,localeNames:v})))))))}},32720:function(W,E,t){t.d(E,{YM:function(){return r},Rw:function(){return L}});var e=t(24346),n=t(19565);const h={firstname:e.Z_().trim().required(n.I0.required),lastname:e.Z_(),email:e.Z_().email(n.I0.email).lowercase().required(n.I0.required),username:e.Z_().nullable(),password:e.Z_().min(8,n.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:e.Z_().min(8,n.I0.minLength).oneOf([e.iH("password"),null],"components.Input.error.password.noMatch").when("password",(I,A)=>I?A.required(n.I0.required):A)};var L={...h,currentPassword:e.Z_().when(["password","confirmPassword"],(I,A,T)=>I||A?T.required(n.I0.required):T),preferedLanguage:e.Z_().nullable()},m={roles:e.IX().min(1,n.I0.required).required(n.I0.required)},r=e.Ry().shape({...h,isActive:e.Xg(),...m})},17e3:function(W,E,t){t.d(E,{D:function(){return h}});var e=t(74512),n=t(72850);const h=({children:M})=>(0,e.jsx)(n.x,{paddingLeft:10,paddingRight:10,children:M})},82055:function(W,E,t){t.d(E,{T:function(){return I}});var e=t(74512),n=t(32735),h=t(8471);const M=a=>{const d=(0,n.useRef)(null),[p,g]=(0,n.useState)(!0),f=([P])=>{g(P.isIntersecting)};return(0,n.useEffect)(()=>{const P=d.current,D=new IntersectionObserver(f,a);return P&&D.observe(d.current),()=>{P&&D.disconnect()}},[d,a]),[d,p]};var L=t(81957);const S=(a,d)=>{const p=(0,L.W)(d);(0,n.useLayoutEffect)(()=>{const g=new ResizeObserver(p);return Array.isArray(a)?a.forEach(f=>{f.current&&g.observe(f.current)}):a.current&&g.observe(a.current),()=>{g.disconnect()}},[a,p])};var m=t(72850),w=t(87933),r=t(49372);const I=a=>{const d=(0,n.useRef)(null),[p,g]=(0,n.useState)(null),[f,P]=M({root:null,rootMargin:"0px",threshold:0});return S(f,()=>{f.current&&g(f.current.getBoundingClientRect())}),(0,n.useEffect)(()=>{d.current&&g(d.current.getBoundingClientRect())},[d]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{style:{height:p?.height},ref:f,children:P&&(0,e.jsx)(T,{ref:d,...a})}),!P&&(0,e.jsx)(T,{...a,sticky:!0,width:p?.width})]})};I.displayName="HeaderLayout";const A=(0,h.ZP)(m.x)`
14
- width: ${({width:a})=>a?`${a/16}rem`:void 0};
15
- z-index: ${({theme:a})=>a.zIndices[1]};
16
- `,T=n.forwardRef(({navigationAction:a,primaryAction:d,secondaryAction:p,subtitle:g,title:f,sticky:P,width:D,...b},U)=>{const y=typeof g=="string";return P?(0,e.jsx)(A,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:D,"data-strapi-header-sticky":!0,children:(0,e.jsxs)(w.k,{justifyContent:"space-between",children:[(0,e.jsxs)(w.k,{children:[a&&(0,e.jsx)(m.x,{paddingRight:3,children:a}),(0,e.jsxs)(m.x,{children:[(0,e.jsx)(r.Z,{variant:"beta",as:"h1",...b,children:f}),y?(0,e.jsx)(r.Z,{variant:"pi",textColor:"neutral600",children:g}):g]}),p?(0,e.jsx)(m.x,{paddingLeft:4,children:p}):null]}),(0,e.jsx)(w.k,{children:d?(0,e.jsx)(m.x,{paddingLeft:2,children:d}):void 0})]})}):(0,e.jsxs)(m.x,{ref:U,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0,children:[a?(0,e.jsx)(m.x,{paddingBottom:2,children:a}):null,(0,e.jsxs)(w.k,{justifyContent:"space-between",children:[(0,e.jsxs)(w.k,{minWidth:0,children:[(0,e.jsx)(r.Z,{as:"h1",variant:"alpha",...b,children:f}),p?(0,e.jsx)(m.x,{paddingLeft:4,children:p}):null]}),d]}),y?(0,e.jsx)(r.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:g}):g]})})},27649:function(W,E,t){t.d(E,{o:function(){return L}});var e=t(74512),n=t(8471),h=t(72850);const M=(0,n.ZP)(h.x)`
17
- // To prevent global outline on focus visible to force an outline when Main is focused
18
- &:focus-visible {
19
- outline: none;
20
- }
21
- `,L=({labelledBy:S="main-content-title",...m})=>(0,e.jsx)(M,{"aria-labelledby":S,as:"main",id:"main-content",tabIndex:-1,...m})}}]);
@@ -1,119 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5895],{87211:function($,y,e){e.r(y),e.d(y,{SettingsPage:function(){return xe}});var t=e(32735),d=e(96709),r=e(19565),M=e(74758),m=e(67879),x=e(53038),c=e(63465),C=e(9592),O=e(63602),D=e(90700),U=e(78090),R=e(77013),l=e(79318),f=e(66618),g=e(60216),n=e.n(g),p=e(14911);const L=({menu:a})=>{const{formatMessage:o}=(0,m.Z)(),{trackUsage:i}=(0,r.rS)(),{pathname:s}=(0,x.TH)(),S=a.filter(u=>!u.links.every(h=>h.isDisplayed===!1)).map(u=>({...u,title:u.intlLabel,links:u.links.map(h=>({...h,title:h.intlLabel,name:h.id}))})),T=o({id:"global.settings",defaultMessage:"Settings"}),v=(u=null)=>{i("willNavigate",{from:s,to:u})};return t.createElement(D.m,{ariaLabel:T},t.createElement(U.p,{label:T}),t.createElement(R.Z,null,S.map(u=>t.createElement(l.D,{key:u.id,label:o(u.intlLabel)},u.links.map(h=>t.createElement(f.E,{as:p.OL,withBullet:h.hasNotification,to:h.to,onClick:()=>v(h.to),key:h.id},o(h.intlLabel)))))))};L.propTypes={menu:n().array.isRequired};var z=L;const G=[{component:t.lazy(()=>e.e(3455).then(e.bind(e,32239))),path:"/settings/roles"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(2544)]).then(e.bind(e,15570))),path:"/settings/roles/duplicate/:id"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(2544)]).then(e.bind(e,15570))),path:"/settings/roles/new"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(2544)]).then(e.bind(e,87056))),path:"/settings/roles/:id"},{component:t.lazy(()=>e.e(5199).then(e.bind(e,25691))),path:"/settings/users"},{component:t.lazy(()=>e.e(4263).then(e.bind(e,28363))),path:"/settings/users/:id"},{component:t.lazy(()=>e.e(5162).then(e.bind(e,5722))),path:"/settings/webhooks/create"},{component:t.lazy(()=>e.e(5162).then(e.bind(e,63939))),path:"/settings/webhooks/:id"},{component:t.lazy(()=>e.e(4121).then(e.bind(e,93826))),path:"/settings/webhooks"},{component:t.lazy(()=>e.e(8056).then(e.bind(e,22614))),path:"/settings/api-tokens"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(4628),e.e(2225),e.e(4299)]).then(e.bind(e,79494))),path:"/settings/api-tokens/create"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(4628),e.e(2225),e.e(92)]).then(e.bind(e,77238))),path:"/settings/api-tokens/:id"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(4628),e.e(1049),e.e(4816)]).then(e.bind(e,7360))),path:"/settings/transfer-tokens/create"},{component:t.lazy(()=>e.e(9600).then(e.bind(e,51318))),path:"/settings/transfer-tokens"},{component:t.lazy(()=>Promise.all([e.e(1387),e.e(4628),e.e(1049),e.e(2492)]).then(e.bind(e,66523))),path:"/settings/transfer-tokens/:id"}];var Q=e(27649),b=e(23866),Y=e(82055),Z=e(41415),nt=e(17e3),B=e(87933),I=e(49372),k=e(15335),J=e(5803),X=e(50428),q=e(66456),tt=e(47361),et=e(20108),ot=e(15062),at=e(30305),A=e(72850);const w=750,_=100,Et=["image/jpeg","image/png","image/svg+xml"];var jt=e(23272),It=e(68387),vt=e(50563),Dt=e(98779),zt=e(19406),At=e(44647),Bt=e(85025),Ut=e(55225),st=e(97889);const xt={localImage:void 0};var Zt=(a=xt,o)=>(0,st.ZP)(a,i=>{switch(o.type){case"SET_LOCAL_IMAGE":{i.localImage=o.value;break}default:return i}});const lt=({onChangeLogo:a,customLogo:o,goTo:i,Component:s,modalTitle:E,next:S,prev:T,currentStep:v})=>{const[{localImage:u},h]=(0,t.useReducer)(Zt,xt),{formatMessage:K}=(0,m.Z)(),P=W=>{h({type:"SET_LOCAL_IMAGE",value:W})},F=()=>{i(null)};return v?t.createElement(Bt.P,{labelledBy:"modal",onClose:F},t.createElement(Ut.x,null,t.createElement(I.Z,{fontWeight:"bold",as:"h2",id:"modal"},K(E))),t.createElement(s,{setLocalImage:P,goTo:i,next:S,prev:T,onClose:F,asset:u||o,onChangeLogo:a})):null};lt.defaultProps={Component:void 0,currentStep:void 0,customLogo:void 0,modalTitle:void 0,next:null,prev:null},lt.propTypes={Component:n().elementType,currentStep:n().string,customLogo:n().shape({name:n().string,url:n().string,width:n().number,height:n().number,ext:n().string}),goTo:n().func.isRequired,modalTitle:n().shape({id:n().string,defaultMessage:n().string}),next:n().string,onChangeLogo:n().func.isRequired,prev:n().string};var Ft=lt;const Lt={currentStep:void 0};var Wt=(a=Lt,o)=>(0,st.ZP)(a,i=>{switch(o.type){case"GO_TO":{i.currentStep=o.to;break}default:return i}}),$t=e(91215),it=e(90980),Kt=e(9026),rt=e(3653),Nt=e(98275),Gt=e(87107),bt=e(99140),Ht=e(47851),dt=e(11406),Vt=e(47284),Qt=e(8471);const Yt={id:"Settings.application.customization.modal.upload.error-format",defaultMessage:"Wrong format uploaded (accepted formats only: jpeg, jpg, png, svg)."},Mt={id:"Settings.application.customization.modal.upload.error-size",defaultMessage:"The file uploaded is too large (max dimension: {dimension}x{dimension}, max file size: {size}KB)"},Jt=a=>new Promise(o=>{const i=new FileReader;i.onload=()=>{const s=new Image;s.onload=function(){o({width:s.width,height:s.height})},s.src=i.result},i.readAsDataURL(a)}),Xt=(a,o)=>({ext:a.name.split(".").pop(),size:a.size/1e3,name:a.name,url:URL.createObjectURL(a),rawFile:a,width:o.width,height:o.height}),yt=async a=>{let o;if(!Et.includes(a.type))throw o=new Error("File format"),o.displayMessage=Yt,o;const s=await Jt(a);if(!(s.width<=w&&s.height<=w))throw o=new Error("File sizing"),o.displayMessage=Mt,o;const S=Xt(a,s);if(!(S.size<=_))throw o=new Error("File sizing"),o.displayMessage=Mt,o;return S},wt=(0,Qt.ZP)(Nt._)`
2
- opacity: 0;
3
- position: absolute;
4
- top: 0;
5
- bottom: 0;
6
- left: 0;
7
- right: 0;
8
- z-index: 1;
9
- `,ct=({setLocalImage:a,goTo:o,next:i,onClose:s})=>{const{formatMessage:E}=(0,m.Z)(),[S,T]=(0,t.useState)(!1),[v,u]=(0,t.useState)(void 0),h=(0,t.useRef)(null),K=()=>T(!0),P=()=>T(!1),F=H=>{H.preventDefault(),h.current.click()},W=async()=>{P();const H=h.current.files[0];if(H)try{const V=await yt(H);a(V),o(i)}catch(V){if(V.displayMessage)u(E(V.displayMessage,{size:_,dimension:w})),h.current.focus();else throw V}},N=()=>S?"primary500":v?"danger600":"neutral300";return t.createElement(t.Fragment,null,t.createElement("form",null,t.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},t.createElement(Gt.g,{name:"logo-upload",error:v},t.createElement("label",{htmlFor:"logo-upload"},t.createElement(B.k,{direction:"column",alignItems:"stretch",gap:2},t.createElement(B.k,{paddingTop:9,paddingBottom:7,hasRadius:!0,justifyContent:"center",direction:"column",background:S?"primary100":"neutral100",borderColor:N(),borderStyle:"dashed",borderWidth:"1px",position:"relative",onDragEnter:K,onDragLeave:P},t.createElement(bt.J,{color:"primary600",width:`${60/16}rem`,height:`${60/16}rem`,as:Vt.Z,"aria-hidden":!0}),t.createElement(A.x,{paddingTop:3,paddingBottom:5},t.createElement(I.Z,{variant:"delta",as:"span"},E({id:"Settings.application.customization.modal.upload.drag-drop",defaultMessage:"Drag and Drop here or"}))),t.createElement(wt,{accept:Et,cursor:"pointer",as:"input",type:"file",name:"files",tabIndex:-1,zIndex:1,onChange:W,ref:h,id:"logo-upload"}),t.createElement(Z.z,{type:"button",onClick:F},E({id:"Settings.application.customization.modal.upload.cta.browse",defaultMessage:"Browse files"})),t.createElement(A.x,{paddingTop:6},t.createElement(I.Z,{variant:"pi",textColor:"neutral600"},E({id:"Settings.application.customization.modal.upload.file-validation",defaultMessage:"Max dimension: {dimension}x{dimension}, Max size: {size}KB"},{size:_,dimension:w})))),t.createElement(Ht.c,null)))))),t.createElement(dt.m,{startActions:t.createElement(Z.z,{onClick:s,variant:"tertiary"},E({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"}))}))};ct.defaultProps={next:null},ct.propTypes={goTo:n().func.isRequired,next:n().string,onClose:n().func.isRequired,setLocalImage:n().func.isRequired};var kt=ct,qt=e(10369),_t=async a=>{try{const{get:o}=(0,r.tg)(),i=await o(a,{responseType:"blob",timeout:8e3});return new File([i.data],i.config.url,{type:i.headers["content-type"]})}catch(o){throw o.displayMessage={id:"Settings.application.customization.modal.upload.error-network",defaultMessage:"Network error"},o}};const gt=({goTo:a,next:o,onClose:i,setLocalImage:s})=>{const{formatMessage:E}=(0,m.Z)(),[S,T]=(0,t.useState)(""),[v,u]=(0,t.useState)(null),h=P=>{T(P.target.value)},K=async()=>{try{const P=await _t(S),F=await yt(P);s(F),a(o)}catch(P){if(P.displayMessage)u(E(P.displayMessage,{size:_,dimension:w}));else throw P}};return t.createElement("form",{onSubmit:P=>{P.preventDefault(),K()}},t.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},t.createElement(qt.o,{label:E({id:"Settings.application.customization.modal.upload.from-url.input-label",defaultMessage:"URL"}),error:v,onChange:h,value:S,name:"logo-url"})),t.createElement(dt.m,{startActions:t.createElement(Z.z,{onClick:i,variant:"tertiary"},E({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:t.createElement(Z.z,{type:"submit"},E({id:"Settings.application.customization.modal.upload.next",defaultMessage:"Next"}))}))};gt.defaultProps={next:null},gt.propTypes={goTo:n().func.isRequired,next:n().string,onClose:n().func.isRequired,setLocalImage:n().func.isRequired};var te=gt;const ut=({setLocalImage:a,goTo:o,next:i,onClose:s})=>{const{formatMessage:E}=(0,m.Z)();return t.createElement($t.v,{label:E({id:"Settings.application.customization.modal.tab.label",defaultMessage:"How do you want to upload your assets?"}),variant:"simple"},t.createElement(A.x,{paddingLeft:8,paddingRight:8},t.createElement(it.m,null,t.createElement(it.O,null,E({id:"Settings.application.customization.modal.upload.from-computer",defaultMessage:"From computer"})),t.createElement(it.O,null,E({id:"Settings.application.customization.modal.upload.from-url",defaultMessage:"From url"}))),t.createElement(Kt.i,null)),t.createElement(rt.n,null,t.createElement(rt.x,null,t.createElement(kt,{onClose:s,setLocalImage:a,goTo:o,next:i})),t.createElement(rt.x,null,t.createElement(te,{onClose:s,setLocalImage:a,goTo:o,next:i}))))};ut.defaultProps={next:null},ut.propTypes={goTo:n().func.isRequired,next:n().string,onClose:n().func.isRequired,setLocalImage:n().func.isRequired};var ee=ut,ne=e(42466),oe=e(20853),ae=e(2800),se=e(26835),le=e(41048),Ct=e(37083),ie=e(11505);const St=({asset:a})=>{const{formatMessage:o}=(0,m.Z)();return t.createElement(ne.Z,null,t.createElement(oe.O,null,t.createElement(ae.H,{size:"S",src:a.url})),t.createElement(se.e,null,t.createElement(le.a,null,t.createElement(Ct.l,null,a.name),t.createElement(Ct._,null,`${a.ext.toUpperCase()} - ${a.width}\u2715${a.height}`)),t.createElement(ie.E,null,o({id:"Settings.application.customization.modal.pending.card-badge",defaultMessage:"image"}))))};St.propTypes={asset:n().shape({name:n().string,url:n().string,width:n().number,height:n().number,ext:n().string}).isRequired};var re=St;const mt=({onClose:a,asset:o,prev:i,next:s,goTo:E,setLocalImage:S,onChangeLogo:T})=>{const{formatMessage:v}=(0,m.Z)(),u=()=>{S(void 0),E(i)},h=()=>{T(o),E(s)};return t.createElement(t.Fragment,null,t.createElement(A.x,{paddingLeft:8,paddingRight:8,paddingTop:6,paddingBottom:6},t.createElement(B.k,{justifyContent:"space-between",paddingBottom:6},t.createElement(B.k,{direction:"column",alignItems:"flex-start"},t.createElement(I.Z,{variant:"pi",fontWeight:"bold"},v({id:"Settings.application.customization.modal.pending.title",defaultMessage:"Logo ready to upload"})),t.createElement(I.Z,{variant:"pi",textColor:"neutral500"},v({id:"Settings.application.customization.modal.pending.subtitle",defaultMessage:"Manage the chosen logo before uploading it"}))),t.createElement(Z.z,{onClick:u,variant:"secondary"},v({id:"Settings.application.customization.modal.pending.choose-another",defaultMessage:"Choose another logo"}))),t.createElement(A.x,{maxWidth:(0,r.Q1)(180)},o.url?t.createElement(re,{asset:o}):null)),t.createElement(dt.m,{startActions:t.createElement(Z.z,{onClick:a,variant:"tertiary"},v({id:"Settings.application.customization.modal.cancel",defaultMessage:"Cancel"})),endActions:t.createElement(Z.z,{onClick:h},v({id:"Settings.application.customization.modal.pending.upload",defaultMessage:"Upload logo"}))}))};mt.defaultProps={next:null,prev:null},mt.propTypes={goTo:n().func.isRequired,asset:n().shape({name:n().string,url:n().string,width:n().number,height:n().number,ext:n().string}).isRequired,next:n().string,onClose:n().func.isRequired,onChangeLogo:n().func.isRequired,prev:n().string,setLocalImage:n().func.isRequired};var de=mt,ce={upload:{Component:ee,modalTitle:{id:"Settings.application.customization.modal.upload",defaultMessage:"Upload logo"},next:"pending",prev:null},pending:{Component:de,modalTitle:{id:"Settings.application.customization.modal.pending",defaultMessage:"Pending logo"},next:null,prev:"upload"}};const pt=({canUpdate:a,customLogo:o,defaultLogo:i,hint:s,label:E,onChangeLogo:S,onResetLogo:T})=>{const[{currentStep:v},u]=(0,t.useReducer)(Wt,Lt),{Component:h,next:K,prev:P,modalTitle:F}=ce[v]||{},{formatMessage:W}=(0,m.Z)(),N=H=>{u({type:"GO_TO",to:H})};return t.createElement(t.Fragment,null,t.createElement(jt.F,{label:E,selectedSlide:0,hint:s,previousLabel:"",nextLabel:"",onNext:()=>{},onPrevious:()=>{},secondaryLabel:o?.name||"logo.png",actions:t.createElement(It.b,null,t.createElement(vt.h,{disabled:!a,onClick:()=>N(o?"pending":"upload"),label:W({id:"Settings.application.customization.carousel.change-action",defaultMessage:"Change logo"}),icon:t.createElement(zt.Z,null)}),o&&t.createElement(vt.h,{disabled:!a,onClick:T,label:W({id:"Settings.application.customization.carousel.reset-action",defaultMessage:"Reset logo"}),icon:t.createElement(At.Z,null)}))},t.createElement(Dt.q,{label:W({id:"Settings.application.customization.carousel-slide.label",defaultMessage:"Logo slide"})},t.createElement(A.x,{maxHeight:"40%",maxWidth:"40%",as:"img",src:o?.url||i,alt:W({id:"Settings.application.customization.carousel.title",defaultMessage:"Logo"})}))),t.createElement(Ft,{Component:h,currentStep:v,onChangeLogo:S,customLogo:o,goTo:N,next:K,prev:P,modalTitle:F}))};pt.defaultProps={canUpdate:!1,customLogo:null,hint:null},pt.propTypes={canUpdate:n().bool,customLogo:n().shape({url:n().string,name:n().string}),label:n().string.isRequired,hint:n().string,defaultLogo:n().string.isRequired,onChangeLogo:n().func.isRequired,onResetLogo:n().func.isRequired};var Rt=pt,ge=e(86349),ue=e.n(ge),me=(a,o)=>ue()(a,{menuLogo:{display:o.menuLogo},authLogo:{display:o.authLogo}});const ht={menuLogo:{display:null,submit:{rawFile:null,isReset:!1}},authLogo:{display:null,submit:{rawFile:null,isReset:!1}}};var pe=(a=ht,o)=>(0,st.ZP)(a,i=>{switch(o.type){case"SET_CUSTOM_MENU_LOGO":{i.menuLogo.display=o.value,i.menuLogo.submit.rawFile=o.value.rawFile;break}case"SET_CUSTOM_AUTH_LOGO":{i.authLogo.display=o.value,i.authLogo.submit.rawFile=o.value.rawFile;break}case"RESET_CUSTOM_MENU_LOGO":{i.menuLogo.display=null,i.menuLogo.submit={rawFile:null,isReset:!0};break}case"RESET_CUSTOM_AUTH_LOGO":{i.authLogo.display=null,i.authLogo.submit={rawFile:null,isReset:!0};break}default:return i}});const ft=(0,t.forwardRef)(({canUpdate:a,projectSettingsStored:o},i)=>{const{formatMessage:s}=(0,m.Z)(),{trackUsage:E}=(0,r.rS)(),{logos:{menu:S,auth:T}}=(0,c.um)(),[{menuLogo:v,authLogo:u},h]=(0,t.useReducer)(pe,ht,()=>me(ht,o)),K=N=>{h({type:"SET_CUSTOM_MENU_LOGO",value:N})},P=()=>{E("didClickResetLogo",{logo:"menu"}),h({type:"RESET_CUSTOM_MENU_LOGO"})},F=N=>{h({type:"SET_CUSTOM_AUTH_LOGO",value:N})},W=()=>{E("didClickResetLogo",{logo:"auth"}),h({type:"RESET_CUSTOM_AUTH_LOGO"})};return(0,t.useImperativeHandle)(i,()=>({getValues:()=>({menuLogo:v.submit,authLogo:u.submit})})),t.createElement(A.x,{hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},t.createElement(I.Z,{variant:"delta",as:"h3"},s({id:"Settings.application.customization",defaultMessage:"Customization"})),t.createElement(I.Z,{variant:"pi",textColor:"neutral600"},s({id:"Settings.application.customization.size-details",defaultMessage:"Max dimension: {dimension}\xD7{dimension}, Max file size: {size}KB"},{dimension:w,size:_})),t.createElement(k.r,{paddingTop:4,gap:4},t.createElement(J.P,{col:6,s:12},t.createElement(Rt,{canUpdate:a,customLogo:v.display,defaultLogo:S.default,hint:s({id:"Settings.application.customization.menu-logo.carousel-hint",defaultMessage:"Replace the logo in the main navigation"}),label:s({id:"Settings.application.customization.carousel.menu-logo.title",defaultMessage:"Menu logo"}),onChangeLogo:K,onResetLogo:P})),t.createElement(J.P,{col:6,s:12},t.createElement(Rt,{canUpdate:a,customLogo:u.display,defaultLogo:T.default,hint:s({id:"Settings.application.customization.auth-logo.carousel-hint",defaultMessage:"Replace the logo in the authentication pages"}),label:s({id:"Settings.application.customization.carousel.auth-logo.title",defaultMessage:"Auth logo"}),onChangeLogo:F,onResetLogo:W}))))});ft.defaultProps={canUpdate:!1,projectSettingsStored:null},ft.propTypes={canUpdate:n().bool,projectSettingsStored:n().shape({menuLogo:n().shape({url:n().string,name:n().string})})};var he=ft,fe=a=>{const o=new FormData;return Object.entries(a).forEach(([i,s])=>{s&&s.rawFile instanceof File&&o.append(i,s.rawFile),s&&s.isReset&&o.append(i,null)}),o};const Ee=()=>null;var ve=()=>{const a=t.useRef(),o=(0,r.lm)(),{trackUsage:i}=(0,r.rS)(),{formatMessage:s}=(0,m.Z)(),{get:E,post:S}=(0,r.kY)(),{updateProjectSettings:T}=(0,c.um)(),v=(0,ot.v9)(at._),{formatAPIError:u}=(0,r.So)(),{communityEdition:h,latestStrapiReleaseTag:K,nodeVersion:P,shouldUpdateStrapi:F,strapiVersion:W}=(0,r.L7)(),N=(0,C.c)(Ee,async()=>(await e.e(502).then(e.bind(e,50502))).AdminSeatInfoEE),{allowedActions:{canRead:H,canUpdate:V}}=(0,r.ss)(v.settings["project-settings"]);(0,r.go)();const{data:Tt,isLoading:Le}=(0,et.useQuery)(["project-settings"],async()=>{const{data:j}=await E("/admin/project-settings");return j},{cacheTime:0,enabled:H,select(j){return{...j,authLogo:j.authLogo?{...j.authLogo,url:(0,r.CR)(j.authLogo.url)}:j.authLogo,menuLogo:j.menuLogo?{...j.menuLogo,url:(0,r.CR)(j.menuLogo.url)}:j.menuLogo}}}),Me=(0,et.useMutation)(j=>S("/admin/project-settings",j,{headers:{"Content-Type":"multipart/form-data"}}),{onError(j){o({type:"warning",message:u(j)})},async onSuccess(j){const{menuLogo:Pt,authLogo:Ot}=j;T({menuLogo:Pt?.url,authLogo:Ot?.url}),Pt?.rawFile&&i("didChangeLogo",{logo:"menu"}),Ot?.rawFile&&i("didChangeLogo",{logo:"auth"}),o({type:"success",message:s({id:"app",defaultMessage:"Saved"})})}}),ye=j=>{j.preventDefault(),Me.mutate(fe(a.current.getValues()))};return N?t.createElement(d.A,null,t.createElement(r.SL,{name:"Application"}),t.createElement(Q.o,null,Le?t.createElement(b.a,null,s({id:"Settings.application.isLoading",defaultMessage:"Loading"})):t.createElement("form",{onSubmit:ye},t.createElement(Y.T,{title:s({id:"Settings.application.title",defaultMessage:"Overview"}),subtitle:s({id:"Settings.application.description",defaultMessage:"Administration panel\u2019s global information"}),primaryAction:V&&t.createElement(Z.z,{type:"submit",startIcon:t.createElement(q.Z,null)},s({id:"global.save",defaultMessage:"Save"}))}),t.createElement(nt.D,null,t.createElement(B.k,{direction:"column",alignItems:"stretch",gap:6},t.createElement(B.k,{direction:"column",alignItems:"stretch",gap:4,hasRadius:!0,background:"neutral0",shadow:"tableShadow",paddingTop:6,paddingBottom:6,paddingRight:7,paddingLeft:7},t.createElement(I.Z,{variant:"delta",as:"h3"},s({id:"global.details",defaultMessage:"Details"})),t.createElement(k.r,{gap:5,as:"dl"},t.createElement(J.P,{col:6,s:12},t.createElement(I.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},s({id:"Settings.application.strapiVersion",defaultMessage:"strapi version"})),t.createElement(B.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},t.createElement(I.Z,null,"v",W),F&&t.createElement(X.r,{href:`https://github.com/strapi/strapi/releases/tag/${K}`,isExternal:!0,endIcon:t.createElement(tt.Z,null)},s({id:"Settings.application.link-upgrade",defaultMessage:"Upgrade your admin panel"})))),t.createElement(J.P,{col:6,s:12},t.createElement(I.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},s({id:"Settings.application.edition-title",defaultMessage:"current plan"})),t.createElement(B.k,{gap:3,direction:"column",alignItems:"start",as:"dd"},t.createElement(I.Z,null,s({id:"Settings.application.ee-or-ce",defaultMessage:"{communityEdition, select, true {Community Edition} other {Enterprise Edition}}"},{communityEdition:h})),t.createElement(X.r,{href:"https://strapi.io/pricing-self-hosted",isExternal:!0,endIcon:t.createElement(tt.Z,null)},s({id:"Settings.application.link-pricing",defaultMessage:"See all pricing plans"})))),t.createElement(J.P,{col:6,s:12},t.createElement(I.Z,{variant:"sigma",textColor:"neutral600",as:"dt"},s({id:"Settings.application.node-version",defaultMessage:"node version"})),t.createElement(I.Z,{as:"dd"},P)),t.createElement(N,null))),H&&Tt&&t.createElement(he,{canUpdate:V,ref:a,projectSettingsStored:Tt})))))):null};function xe(){const{settingId:a}=(0,x.UO)(),{settings:o}=(0,r.j1)(),{formatMessage:i}=(0,m.Z)(),{isLoading:s,menu:E}=(0,c.Te)(),S=(0,C.c)(G,async()=>(await e.e(3483).then(e.bind(e,11009))).SETTINGS_ROUTES_EE,{combine(v,u){return[...v,...u]},defaultValue:[]}),T=Object.values(o).flatMap(v=>v.links.map(u=>(0,O.o)(u.Component,u.to,u.exact||!1)));return s?t.createElement(r.dO,null):a?t.createElement(d.A,{sideNav:t.createElement(z,{menu:E})},t.createElement(M.q,{title:i({id:"global.settings",defaultMessage:"Settings"})}),t.createElement(x.rs,null,t.createElement(x.AW,{path:"/settings/application-infos",component:ve,exact:!0}),S.map(({path:v,component:u})=>t.createElement(x.AW,{key:v,path:v,component:u,exact:!0})),T)):t.createElement(x.l_,{to:"/settings/application-infos"})}},17e3:function($,y,e){e.d(y,{D:function(){return r}});var t=e(74512),d=e(72850);const r=({children:M})=>(0,t.jsx)(d.x,{paddingLeft:10,paddingRight:10,children:M})},82055:function($,y,e){e.d(y,{T:function(){return D}});var t=e(74512),d=e(32735),r=e(8471);const M=l=>{const f=(0,d.useRef)(null),[g,n]=(0,d.useState)(!0),p=([L])=>{n(L.isIntersecting)};return(0,d.useEffect)(()=>{const L=f.current,z=new IntersectionObserver(p,l);return L&&z.observe(f.current),()=>{L&&z.disconnect()}},[f,l]),[f,g]};var m=e(81957);const x=(l,f)=>{const g=(0,m.W)(f);(0,d.useLayoutEffect)(()=>{const n=new ResizeObserver(g);return Array.isArray(l)?l.forEach(p=>{p.current&&n.observe(p.current)}):l.current&&n.observe(l.current),()=>{n.disconnect()}},[l,g])};var c=e(72850),C=e(87933),O=e(49372);const D=l=>{const f=(0,d.useRef)(null),[g,n]=(0,d.useState)(null),[p,L]=M({root:null,rootMargin:"0px",threshold:0});return x(p,()=>{p.current&&n(p.current.getBoundingClientRect())}),(0,d.useEffect)(()=>{f.current&&n(f.current.getBoundingClientRect())},[f]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{height:g?.height},ref:p,children:L&&(0,t.jsx)(R,{ref:f,...l})}),!L&&(0,t.jsx)(R,{...l,sticky:!0,width:g?.width})]})};D.displayName="HeaderLayout";const U=(0,r.ZP)(c.x)`
10
- width: ${({width:l})=>l?`${l/16}rem`:void 0};
11
- z-index: ${({theme:l})=>l.zIndices[1]};
12
- `,R=d.forwardRef(({navigationAction:l,primaryAction:f,secondaryAction:g,subtitle:n,title:p,sticky:L,width:z,...G},Q)=>{const b=typeof n=="string";return L?(0,t.jsx)(U,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:z,"data-strapi-header-sticky":!0,children:(0,t.jsxs)(C.k,{justifyContent:"space-between",children:[(0,t.jsxs)(C.k,{children:[l&&(0,t.jsx)(c.x,{paddingRight:3,children:l}),(0,t.jsxs)(c.x,{children:[(0,t.jsx)(O.Z,{variant:"beta",as:"h1",...G,children:p}),b?(0,t.jsx)(O.Z,{variant:"pi",textColor:"neutral600",children:n}):n]}),g?(0,t.jsx)(c.x,{paddingLeft:4,children:g}):null]}),(0,t.jsx)(C.k,{children:f?(0,t.jsx)(c.x,{paddingLeft:2,children:f}):void 0})]})}):(0,t.jsxs)(c.x,{ref:Q,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:l?6:8,background:"neutral100","data-strapi-header":!0,children:[l?(0,t.jsx)(c.x,{paddingBottom:2,children:l}):null,(0,t.jsxs)(C.k,{justifyContent:"space-between",children:[(0,t.jsxs)(C.k,{minWidth:0,children:[(0,t.jsx)(O.Z,{as:"h1",variant:"alpha",...G,children:p}),g?(0,t.jsx)(c.x,{paddingLeft:4,children:g}):null]}),f]}),b?(0,t.jsx)(O.Z,{variant:"epsilon",textColor:"neutral600",as:"p",children:n}):n]})})},96709:function($,y,e){e.d(y,{A:function(){return x}});var t=e(74512),d=e(8471),r=e(72850);const M=(0,d.ZP)(r.x)`
13
- display: grid;
14
- grid-template-columns: ${({hasSideNav:c})=>c?"auto 1fr":"1fr"};
15
- `,m=(0,d.ZP)(r.x)`
16
- overflow-x: hidden;
17
- `,x=({sideNav:c,children:C})=>(0,t.jsxs)(M,{hasSideNav:!!c,children:[c,(0,t.jsx)(m,{paddingBottom:10,children:C})]})},50428:function($,y,e){e.d(y,{r:function(){return U}});var t=e(74512),d=e(32735),r=e(47361),M=e(14911),m=e(8471),x=e(30350),c=e(49372),C=e(72850);const O=m.ZP.a`
18
- display: inline-flex;
19
- align-items: center;
20
- text-decoration: none;
21
- pointer-events: ${({disabled:R})=>R?"none":void 0};
22
- color: ${({disabled:R,theme:l})=>R?l.colors.neutral600:l.colors.primary600};
23
-
24
- svg path {
25
- transition: fill 150ms ease-out;
26
- fill: currentColor;
27
- }
28
-
29
- svg {
30
- font-size: ${10/16}rem;
31
- }
32
-
33
- ${c.Z} {
34
- transition: color 150ms ease-out;
35
- color: currentColor;
36
- }
37
-
38
- &:hover {
39
- color: ${({theme:R})=>R.colors.primary500};
40
- }
41
-
42
- &:active {
43
- color: ${({theme:R})=>R.colors.primary700};
44
- }
45
-
46
- ${x.BF};
47
- `,D=(0,m.ZP)(C.x)`
48
- display: flex;
49
- `,U=d.forwardRef(({children:R,href:l,to:f,disabled:g=!1,startIcon:n,endIcon:p,...L},z)=>(0,t.jsxs)(O,{as:f&&!g?M.OL:"a",target:l?"_blank":void 0,rel:l?"noreferrer noopener":void 0,to:g?void 0:f,href:g?"#":l,disabled:g,ref:z,...L,children:[n&&(0,t.jsx)(D,{as:"span","aria-hidden":!0,paddingRight:2,children:n}),(0,t.jsx)(c.Z,{children:R}),p&&!l&&(0,t.jsx)(D,{as:"span","aria-hidden":!0,paddingLeft:2,children:p}),l&&(0,t.jsx)(D,{as:"span","aria-hidden":!0,paddingLeft:2,children:(0,t.jsx)(r.Z,{})})]}))},27649:function($,y,e){e.d(y,{o:function(){return m}});var t=e(74512),d=e(8471),r=e(72850);const M=(0,d.ZP)(r.x)`
50
- // To prevent global outline on focus visible to force an outline when Main is focused
51
- &:focus-visible {
52
- outline: none;
53
- }
54
- `,m=({labelledBy:x="main-content-title",...c})=>(0,t.jsx)(M,{"aria-labelledby":x,as:"main",id:"main-content",tabIndex:-1,...c})},90700:function($,y,e){e.d(y,{m:function(){return x}});var t=e(74512),d=e(8471),r=e(15335);const M=`${232/16}rem`,m=(0,d.ZP)(r.r)`
55
- width: ${M};
56
- background: ${({theme:c})=>c.colors.neutral100};
57
- position: sticky;
58
- top: 0;
59
- height: 100vh;
60
- overflow-y: auto;
61
- border-right: 1px solid ${({theme:c})=>c.colors.neutral200};
62
- z-index: 1;
63
- `,x=({ariaLabel:c,...C})=>(0,t.jsx)(m,{"aria-label":c,as:"nav",...C})},78090:function($,y,e){e.d(y,{p:function(){return n}});var t=e(74512),d=e(32735),r=e(6792),M=e(8471),m=e(94486),x=e(74971);const c=p=>{const L=(0,d.useRef)();return(0,d.useEffect)(()=>{L.current=p}),L.current};var C=e(9026),O=e(72850),D=e(89252),U=e(61774),R=e(87933),l=e(49372),f=e(50563);const g=(0,M.ZP)(C.i)`
64
- width: ${24/16}rem;
65
- background-color: ${({theme:p})=>p.colors.neutral200};
66
- `,n=({as:p="h2",label:L,searchLabel:z="",searchable:G=!1,onChange:Q=()=>{},value:b="",onClear:Y=()=>{},onSubmit:Z=()=>{},id:nt})=>{const[B,I]=(0,d.useState)(!1),k=c(B),J=(0,x.M)(nt),X=(0,d.useRef)(void 0),q=(0,d.useRef)(void 0);(0,d.useEffect)(()=>{B&&X.current&&X.current.focus(),k&&!B&&q.current&&q.current.focus()},[B,k]);const tt=()=>{I(A=>!A)},et=A=>{Y(A),X.current.focus()},ot=A=>{A.relatedTarget?.id!==J&&I(!1)},at=A=>{A.key===m.y.ESCAPE&&I(!1)};return B?(0,t.jsxs)(O.x,{paddingLeft:4,paddingTop:5,paddingBottom:2,paddingRight:4,children:[(0,t.jsx)(D.U,{children:(0,t.jsx)(U.w,{name:"searchbar",value:b,onChange:Q,placeholder:"e.g: strapi-plugin-abcd",onKeyDown:at,ref:X,onBlur:ot,onClear:et,onSubmit:Z,clearLabel:"Clear",size:"S",children:z})}),(0,t.jsx)(O.x,{paddingLeft:2,paddingTop:4,children:(0,t.jsx)(g,{})})]}):(0,t.jsxs)(O.x,{paddingLeft:6,paddingTop:6,paddingBottom:2,paddingRight:4,children:[(0,t.jsxs)(R.k,{justifyContent:"space-between",alignItems:"flex-start",children:[(0,t.jsx)(l.Z,{variant:"beta",as:p,children:L}),G&&(0,t.jsx)(f.h,{ref:q,onClick:tt,label:z,icon:(0,t.jsx)(r.Z,{})})]}),(0,t.jsx)(O.x,{paddingTop:4,children:(0,t.jsx)(g,{})})]})}},66618:function($,y,e){e.d(y,{E:function(){return R}});var t=e(74512),d=e(32735),r=e(56243),M=e(8471),m=e(72850),x=e(49372),c=e(87933),C=e(62499);const O=(0,M.ZP)(m.x)`
67
- display: flex;
68
- align-items: center;
69
- justify-content: space-between;
70
- text-decoration: none;
71
- color: ${({theme:l})=>l.colors.neutral800};
72
- svg > * {
73
- fill: ${({theme:l})=>l.colors.neutral600};
74
- }
75
-
76
- &.active {
77
- ${({theme:l})=>`
78
- background-color: ${l.colors.primary100};
79
- border-right: 2px solid ${l.colors.primary600};
80
- svg > * {
81
- fill: ${l.colors.primary700};
82
- }
83
- ${x.Z} {
84
- color: ${l.colors.primary700};
85
- font-weight: 500;
86
- }
87
- `}
88
- }
89
-
90
- &:focus-visible {
91
- outline-offset: -2px;
92
- }
93
- `,D=(0,M.ZP)(r.Z)`
94
- width: ${12/16}rem;
95
- height: ${4/16}rem;
96
- * {
97
- fill: ${({theme:l,$active:f})=>f?l.colors.primary600:l.colors.neutral600};
98
- }
99
- `,U=M.ZP.div`
100
- svg {
101
- height: ${12/16}rem;
102
- width: ${12/16}rem;
103
- }
104
- `,R=d.forwardRef(({children:l,icon:f=null,withBullet:g=!1,as:n=C.f,isSubSectionChild:p=!1,...L},z)=>(0,t.jsxs)(O,{as:n,icon:f,background:"neutral100",paddingLeft:p?9:7,paddingBottom:2,paddingTop:2,ref:z,...L,children:[(0,t.jsxs)(c.k,{children:[f?(0,t.jsx)(U,{children:f}):(0,t.jsx)(D,{}),(0,t.jsx)(m.x,{paddingLeft:2,children:(0,t.jsx)(x.Z,{as:"span",children:l})})]}),g&&(0,t.jsx)(m.x,{as:c.k,paddingRight:4,children:(0,t.jsx)(D,{$active:!0})})]}))},79318:function($,y,e){e.d(y,{D:function(){return f}});var t=e(74512),d=e(32735),r=e(8471),M=e(16899),m=e(87933),x=e(72850),c=e(49372);const C=(0,r.ZP)(m.k)`
105
- border: none;
106
- padding: 0;
107
- background: transparent;
108
- `,O=r.ZP.div`
109
- display: flex;
110
- align-items: center;
111
- transform: rotateX(${({rotated:g})=>g?"0deg":"180deg"});
112
- `,D=({collapsable:g=!1,label:n,onClick:p=()=>{},ariaExpanded:L,ariaControls:z})=>g?(0,t.jsxs)(C,{as:"button",onClick:p,"aria-expanded":L,"aria-controls":z,textAlign:"left",children:[(0,t.jsx)(x.x,{paddingRight:1,children:(0,t.jsx)(c.Z,{variant:"sigma",textColor:"neutral600",children:n})}),g&&(0,t.jsx)(O,{rotated:L,children:(0,t.jsx)(M.Z,{"aria-hidden":!0})})]}):(0,t.jsx)(C,{children:(0,t.jsx)(x.x,{paddingRight:1,children:(0,t.jsx)(c.Z,{variant:"sigma",textColor:"neutral600",children:n})})});var U=e(74971),R=e(6518);const l=(0,r.ZP)(x.x)`
113
- svg {
114
- height: ${4/16}rem;
115
- path {
116
- fill: ${({theme:g})=>g.colors.neutral500};
117
- }
118
- }
119
- `,f=({collapsable:g=!1,label:n,badgeLabel:p,children:L,id:z})=>{const[G,Q]=(0,d.useState)(!0),b=(0,U.M)(z);return(0,t.jsxs)(m.k,{direction:"column",alignItems:"stretch",gap:1,children:[(0,t.jsx)(l,{paddingLeft:6,paddingTop:2,paddingBottom:2,paddingRight:4,children:(0,t.jsxs)(x.x,{position:"relative",paddingRight:p?6:0,children:[(0,t.jsx)(D,{onClick:()=>{Q(Y=>!Y)},ariaExpanded:G,ariaControls:b,collapsable:g,label:n}),p&&(0,t.jsx)(R.C,{backgroundColor:"neutral150",textColor:"neutral600",position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",children:p})]})}),(!g||G)&&(0,t.jsx)("ol",{id:b,children:d.Children.map(L,(Y,Z)=>(0,t.jsx)("li",{children:Y},Z))})]})}},77013:function($,y,e){e.d(y,{Z:function(){return m}});var t=e(74512),d=e(32735),r=e(72850),M=e(87933);const m=({children:x,spacing:c=2,horizontal:C=!1,...O})=>(0,t.jsx)(r.x,{paddingTop:2,paddingBottom:4,children:(0,t.jsx)(M.k,{as:"ol",gap:c,direction:C?"row":"column",alignItems:C?"center":"stretch",...O,children:d.Children.map(x,(D,U)=>(0,t.jsx)("li",{children:D},U))})})},56243:function($,y,e){e.d(y,{Z:function(){return r}});var t=e(74512);const d=M=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 4 4",...M,children:(0,t.jsx)("rect",{width:4,height:4,fill:"#A5A5BA",rx:2})}),r=d}}]);
@@ -1,5 +0,0 @@
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"}}]);
@@ -1,10 +0,0 @@
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}}]);
@@ -1,11 +0,0 @@
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}}]);