@strapi/admin 4.6.0-alpha.1 → 4.6.0-beta.1

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 (248) hide show
  1. package/admin/src/components/AuthenticatedApp/index.js +13 -2
  2. package/admin/src/components/GlobalStyle/index.js +0 -5
  3. package/admin/src/content-manager/components/ComponentIcon/ComponentIcon.js +49 -0
  4. package/admin/src/content-manager/components/ComponentIcon/index.js +1 -0
  5. package/admin/src/content-manager/components/ComponentInitializer/index.js +1 -7
  6. package/admin/src/content-manager/components/{RepeatableComponent/DragPreview.js → DragLayer/ComponentDragPreview.js} +10 -11
  7. package/admin/src/content-manager/components/DragLayer/RelationDragPreview.js +75 -0
  8. package/admin/src/content-manager/components/DragLayer/index.js +23 -7
  9. package/admin/src/content-manager/components/DynamicZone/components/ComponentCard.js +17 -31
  10. package/admin/src/content-manager/components/DynamicZone/components/ComponentCategory.js +2 -2
  11. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +129 -85
  12. package/admin/src/content-manager/components/DynamicZone/index.js +99 -24
  13. package/admin/src/content-manager/components/DynamicZone/utils/select.js +9 -5
  14. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +76 -14
  15. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +42 -25
  16. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +24 -5
  17. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/recursivelyFindPathsBasedOnCondition.js +8 -1
  18. package/admin/src/content-manager/components/InputJSON/FieldWrapper.js +10 -2
  19. package/admin/src/content-manager/components/InputJSON/Label.js +2 -18
  20. package/admin/src/content-manager/components/InputJSON/index.js +7 -3
  21. package/admin/src/content-manager/components/NonRepeatableComponent/index.js +4 -0
  22. package/admin/src/content-manager/components/RelationInput/RelationInput.js +205 -74
  23. package/admin/src/content-manager/components/RelationInput/components/RelationItem.js +136 -21
  24. package/admin/src/content-manager/components/RelationInput/components/RelationList.js +1 -2
  25. package/admin/src/content-manager/components/RelationInput/constants.js +1 -0
  26. package/admin/src/content-manager/components/RelationInput/index.js +1 -0
  27. package/admin/src/content-manager/components/RelationInputDataManager/RelationInputDataManager.js +132 -10
  28. package/admin/src/content-manager/components/RepeatableComponent/components/Accordion.js +77 -0
  29. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +262 -0
  30. package/admin/src/content-manager/components/RepeatableComponent/{DraggedItem → components}/Preview.js +0 -0
  31. package/admin/src/content-manager/components/RepeatableComponent/index.js +148 -90
  32. package/admin/src/content-manager/components/RepeatableComponent/utils/getComponentErrorKeys.js +1 -1
  33. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +1 -1
  34. package/admin/src/content-manager/components/Wysiwyg/Editor.js +1 -1
  35. package/admin/src/content-manager/hooks/index.js +2 -0
  36. package/admin/src/content-manager/hooks/useDragAndDrop.js +134 -0
  37. package/admin/src/content-manager/hooks/useKeyboardDragAndDrop.js +98 -0
  38. package/admin/src/content-manager/hooks/useLazyComponents/index.js +40 -15
  39. package/admin/src/content-manager/pages/EditSettingsView/components/DynamicZoneList.js +18 -38
  40. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +5 -0
  41. package/admin/src/content-manager/sharedReducers/crudReducer/constants.js +2 -0
  42. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +7 -0
  43. package/admin/src/content-manager/utils/ItemTypes.js +1 -1
  44. package/admin/src/content-manager/utils/composeRefs.js +28 -0
  45. package/admin/src/content-manager/utils/getMaxTempKey.js +1 -1
  46. package/admin/src/content-manager/utils/index.js +7 -0
  47. package/admin/src/core/utils/axiosInstance.js +4 -2
  48. package/admin/src/hooks/index.js +1 -0
  49. package/admin/src/hooks/useFetchClient/index.js +23 -0
  50. package/admin/src/hooks/useSettingsMenu/init.js +0 -7
  51. package/admin/src/pages/Admin/Onboarding/index.js +42 -44
  52. package/admin/src/pages/App/index.js +20 -13
  53. package/admin/src/pages/AuthPage/components/Register/index.js +1 -1
  54. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +1 -1
  55. package/admin/src/pages/HomePage/SocialLinks.js +4 -4
  56. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +2 -3
  57. package/admin/src/pages/SettingsPage/pages/Users/ListPage/ModalForm/index.js +23 -18
  58. package/admin/src/pages/SettingsPage/utils/defaultRoutes.js +0 -11
  59. package/admin/src/permissions/defaultPermissions.js +0 -4
  60. package/admin/src/translations/en.json +8 -8
  61. package/admin/src/translations/sk.json +274 -52
  62. package/admin/src/translations/tr.json +485 -5
  63. package/admin/src/utils/fetchClient.js +45 -0
  64. package/admin/src/utils/getFetchClient.js +10 -0
  65. package/admin/src/utils/index.js +1 -0
  66. package/admin/src/utils/uniqueAdminHash.js +22 -0
  67. package/build/2235.06c13219.chunk.js +106 -0
  68. package/build/2598.962797b2.chunk.js +159 -0
  69. package/build/4318.0bbd3f4b.chunk.js +30 -0
  70. package/build/4958.7c118f5e.chunk.js +276 -0
  71. package/build/5052.712419ea.chunk.js +65 -0
  72. package/build/7295.04ac49dc.chunk.js +114 -0
  73. package/build/805.ddcead70.chunk.js +138 -0
  74. package/build/{8633.8da5488a.chunk.js → 8633.59223842.chunk.js} +1 -1
  75. package/build/874.bde3ea04.chunk.js +104 -0
  76. package/build/{1233.80b05d66.chunk.js → 9159.ac968e72.chunk.js} +67 -67
  77. package/build/9707.77e475ee.chunk.js +101 -0
  78. package/build/Admin-authenticatedApp.9dd415b8.chunk.js +72 -0
  79. package/build/{Admin_homePage.54e33c2d.chunk.js → Admin_homePage.8945f71a.chunk.js} +5 -5
  80. package/build/{Admin_marketplace.8219fda6.chunk.js → Admin_marketplace.ed754a4a.chunk.js} +1 -1
  81. package/build/Admin_pluginsPage.67728975.chunk.js +6 -0
  82. package/build/{Admin_profilePage.e9fcce92.chunk.js → Admin_profilePage.60ab80bb.chunk.js} +1 -1
  83. package/build/{Admin_settingsPage.d3f48e9e.chunk.js → Admin_settingsPage.9ce40fed.chunk.js} +15 -15
  84. package/build/Upload_ConfigureTheView.7cb2a3fd.chunk.js +1 -0
  85. package/build/admin-app.d8fc7c4d.chunk.js +112 -0
  86. package/build/admin-edit-roles-page.f407538c.chunk.js +1 -0
  87. package/build/admin-edit-users.5547b126.chunk.js +10 -0
  88. package/build/{admin-users.a0748674.chunk.js → admin-users.4b6b47f8.chunk.js} +2 -2
  89. package/build/api-tokens-create-page.dd4ddfcb.chunk.js +1 -0
  90. package/build/api-tokens-edit-page.821c5a6c.chunk.js +1 -0
  91. package/build/{api-tokens-list-page.700e575f.chunk.js → api-tokens-list-page.50519ed7.chunk.js} +1 -1
  92. package/build/content-manager.f2214e32.chunk.js +1166 -0
  93. package/build/content-type-builder-list-view.4aea46fa.chunk.js +198 -0
  94. package/build/content-type-builder-translation-de-json.a52482c7.chunk.js +1 -0
  95. package/build/content-type-builder-translation-dk-json.a8616510.chunk.js +1 -0
  96. package/build/content-type-builder-translation-en-json.1d9a3c14.chunk.js +1 -0
  97. package/build/content-type-builder-translation-es-json.c3ea46fb.chunk.js +1 -0
  98. package/build/content-type-builder-translation-ko-json.3fb7ddc8.chunk.js +1 -0
  99. package/build/content-type-builder-translation-pl-json.9b2993b2.chunk.js +1 -0
  100. package/build/content-type-builder-translation-pt-BR-json.6d255441.chunk.js +1 -0
  101. package/build/content-type-builder-translation-sv-json.c608b9ca.chunk.js +1 -0
  102. package/build/content-type-builder-translation-tr-json.949e22eb.chunk.js +1 -0
  103. package/build/content-type-builder-translation-zh-json.b79513e4.chunk.js +1 -0
  104. package/build/content-type-builder.8a9a77f9.chunk.js +127 -0
  105. package/build/email-settings-page.c6e62f6b.chunk.js +15 -0
  106. package/build/email-translation-tr-json.8aa034bb.chunk.js +1 -0
  107. package/build/en-json.1abdade9.chunk.js +1 -0
  108. package/build/{i18n-settings-page.195d42fe.chunk.js → i18n-settings-page.ee572037.chunk.js} +1 -1
  109. package/build/i18n-translation-tr-json.34ca9d61.chunk.js +1 -0
  110. package/build/index.html +1 -1
  111. package/build/main.91f6e21e.js +4099 -0
  112. package/build/runtime~main.447b0382.js +2 -0
  113. package/build/sk-json.2af48064.chunk.js +1 -0
  114. package/build/sso-settings-page.91924df1.chunk.js +41 -0
  115. package/build/tr-json.eac8bd79.chunk.js +1 -0
  116. package/build/upload-settings.326cd9fd.chunk.js +89 -0
  117. package/build/upload-translation-en-json.32cf9aff.chunk.js +1 -0
  118. package/build/upload-translation-sk-json.fe86c53b.chunk.js +1 -0
  119. package/build/upload-translation-tr-json.b173223a.chunk.js +1 -0
  120. package/build/upload.2977cb13.chunk.js +38 -0
  121. package/build/users-advanced-settings-page.0c0b8230.chunk.js +13 -0
  122. package/build/users-email-settings-page.18d4a475.chunk.js +28 -0
  123. package/build/{users-permissions-translation-dk-json.fe39c74b.chunk.js → users-permissions-translation-dk-json.bad0b786.chunk.js} +1 -1
  124. package/build/{users-permissions-translation-en-json.765abf48.chunk.js → users-permissions-translation-en-json.aeab388a.chunk.js} +1 -1
  125. package/build/{users-permissions-translation-es-json.1bb9cde2.chunk.js → users-permissions-translation-es-json.152a923f.chunk.js} +1 -1
  126. package/build/{users-permissions-translation-ko-json.3be77775.chunk.js → users-permissions-translation-ko-json.6bd0ae22.chunk.js} +1 -1
  127. package/build/{users-permissions-translation-pl-json.1dbdd4a1.chunk.js → users-permissions-translation-pl-json.c6a02992.chunk.js} +1 -1
  128. package/build/{users-permissions-translation-sv-json.d5d11648.chunk.js → users-permissions-translation-sv-json.370d6eee.chunk.js} +1 -1
  129. package/build/users-permissions-translation-tr-json.9bebc250.chunk.js +1 -0
  130. package/build/{users-permissions-translation-zh-json.92f406f9.chunk.js → users-permissions-translation-zh-json.1fea833f.chunk.js} +1 -1
  131. package/build/users-providers-settings-page.25dd858e.chunk.js +1 -0
  132. package/build/users-roles-settings-page.8482a999.chunk.js +30 -0
  133. package/build/{webhook-edit-page.14ad1e6e.chunk.js → webhook-edit-page.dcc3d145.chunk.js} +4 -4
  134. package/build/{webhook-list-page.b87821f2.chunk.js → webhook-list-page.894e6959.chunk.js} +1 -1
  135. package/ee/server/services/passport/provider-registry.js +1 -1
  136. package/package.json +16 -22
  137. package/server/controllers/admin.js +2 -0
  138. package/server/routes/admin.js +1 -1
  139. package/server/services/metrics.js +5 -2
  140. package/server/services/role.js +1 -0
  141. package/utils/get-plugins-path.js +17 -3
  142. package/webpack.alias.js +0 -2
  143. package/admin/src/content-manager/components/BackHeader/index.js +0 -8
  144. package/admin/src/content-manager/components/Block/components.js +0 -28
  145. package/admin/src/content-manager/components/Block/index.js +0 -43
  146. package/admin/src/content-manager/components/Container/index.js +0 -7
  147. package/admin/src/content-manager/components/CustomInputCheckbox/components.js +0 -77
  148. package/admin/src/content-manager/components/CustomInputCheckbox/index.js +0 -53
  149. package/admin/src/content-manager/components/DynamicComponentCard/Wrapper.js +0 -63
  150. package/admin/src/content-manager/components/FilterOptionsCTA/index.js +0 -14
  151. package/admin/src/content-manager/components/FormTitle/index.js +0 -22
  152. package/admin/src/content-manager/components/FormWrapper/index.js +0 -20
  153. package/admin/src/content-manager/components/InputJSON/FieldError.js +0 -38
  154. package/admin/src/content-manager/components/LayoutTitle/index.js +0 -19
  155. package/admin/src/content-manager/components/PlusButton/index.js +0 -52
  156. package/admin/src/content-manager/components/PreviewCarret/components.js +0 -27
  157. package/admin/src/content-manager/components/PreviewCarret/index.js +0 -22
  158. package/admin/src/content-manager/components/RepeatableComponent/AccordionGroupCustom/index.js +0 -122
  159. package/admin/src/content-manager/components/RepeatableComponent/AddFieldButton.js +0 -58
  160. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/DraggingSibling.js +0 -72
  161. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/IconButtonCustoms.js +0 -32
  162. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/index.js +0 -322
  163. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/connect.js +0 -11
  164. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/index.js +0 -2
  165. package/admin/src/content-manager/components/RepeatableComponent/DraggedItem/utils/select.js +0 -30
  166. package/admin/src/content-manager/components/RepeatableComponent/utils/connect.js +0 -11
  167. package/admin/src/content-manager/components/RepeatableComponent/utils/select.js +0 -12
  168. package/admin/src/content-manager/components/SectionTitle/Title.js +0 -11
  169. package/admin/src/content-manager/components/SectionTitle/index.js +0 -26
  170. package/admin/src/content-manager/hooks/__test__/usePrev.test.js +0 -26
  171. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/DynamicTable/TableRows/CellValue.js +0 -19
  172. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/DynamicTable/TableRows/index.js +0 -65
  173. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/ModalDialog/ActionItem.js +0 -25
  174. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/ModalDialog/index.js +0 -76
  175. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js +0 -24
  176. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/index.js +0 -84
  177. package/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js +0 -37
  178. package/admin/src/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js +0 -12
  179. package/build/1551f4f60c37af51121f.woff2 +0 -0
  180. package/build/1920.74a262e7.chunk.js +0 -245
  181. package/build/1e59d2330b4c6deb84b3.ttf +0 -0
  182. package/build/20fd1704ea223900efa9.woff2 +0 -0
  183. package/build/2285773e6b4b172f07d9.woff +0 -0
  184. package/build/23f19bb08961f37aaf69.eot +0 -0
  185. package/build/2438.61291207.chunk.js +0 -2183
  186. package/build/2517.9b4940f3.chunk.js +0 -117
  187. package/build/2f517e09eb2ca6650ff5.svg +0 -3717
  188. package/build/4306.f03c2b46.chunk.js +0 -98
  189. package/build/4318.7931eee7.chunk.js +0 -30
  190. package/build/4689f52cc96215721344.svg +0 -801
  191. package/build/491974d108fe4002b2aa.ttf +0 -0
  192. package/build/4986.3820d11d.chunk.js +0 -145
  193. package/build/504.9aeff724.chunk.js +0 -758
  194. package/build/527940b104eb2ea366c8.ttf +0 -0
  195. package/build/77206a6bb316fa0aded5.eot +0 -0
  196. package/build/7a3337626410ca2f4071.woff2 +0 -0
  197. package/build/7a8b4f130182d19a2d7c.svg +0 -5034
  198. package/build/805.e991a370.chunk.js +0 -138
  199. package/build/8b43027f47b20503057d.eot +0 -0
  200. package/build/9707.a0cc4ad8.chunk.js +0 -70
  201. package/build/9bbb245e67a133f6e486.eot +0 -0
  202. package/build/Admin-authenticatedApp.ac85652e.chunk.js +0 -80
  203. package/build/Admin_pluginsPage.3c872de7.chunk.js +0 -6
  204. package/build/admin-app.77179e07.chunk.js +0 -112
  205. package/build/admin-audit-logs.334ee871.chunk.js +0 -1
  206. package/build/admin-edit-roles-page.23f15909.chunk.js +0 -1
  207. package/build/admin-edit-users.283b49ed.chunk.js +0 -10
  208. package/build/api-tokens-create-page.93dd0689.chunk.js +0 -1
  209. package/build/api-tokens-edit-page.b0adac81.chunk.js +0 -1
  210. package/build/bb58e57c48a3e911f15f.woff +0 -0
  211. package/build/be9ee23c0c6390141475.ttf +0 -0
  212. package/build/c1e38fd9e0e74ba58f7a.svg +0 -2671
  213. package/build/content-manager.01e04e11.chunk.js +0 -1200
  214. package/build/content-type-builder-list-view.4412efc3.chunk.js +0 -201
  215. package/build/content-type-builder-translation-de-json.0d7696b9.chunk.js +0 -1
  216. package/build/content-type-builder-translation-dk-json.4729f055.chunk.js +0 -1
  217. package/build/content-type-builder-translation-en-json.f985c9c4.chunk.js +0 -1
  218. package/build/content-type-builder-translation-es-json.333cf47f.chunk.js +0 -1
  219. package/build/content-type-builder-translation-ko-json.51201b12.chunk.js +0 -1
  220. package/build/content-type-builder-translation-pl-json.4a42349b.chunk.js +0 -1
  221. package/build/content-type-builder-translation-pt-BR-json.6fe3b8d1.chunk.js +0 -1
  222. package/build/content-type-builder-translation-sv-json.6deff030.chunk.js +0 -1
  223. package/build/content-type-builder-translation-tr-json.2e52bc60.chunk.js +0 -1
  224. package/build/content-type-builder-translation-zh-json.3b0afd31.chunk.js +0 -1
  225. package/build/content-type-builder.aa4ec633.chunk.js +0 -145
  226. package/build/d878b0a6a1144760244f.woff2 +0 -0
  227. package/build/eeccf4f66002c6f2ba24.woff +0 -0
  228. package/build/email-settings-page.d44a57cb.chunk.js +0 -15
  229. package/build/email-translation-tr-json.87f2feb3.chunk.js +0 -1
  230. package/build/en-json.57917cb1.chunk.js +0 -1
  231. package/build/f691f37e57f04c152e23.woff +0 -0
  232. package/build/fontawesome-css-all.15068c6e.chunk.js +0 -4618
  233. package/build/fontawesome-css.418f40da.chunk.js +0 -6
  234. package/build/fontawesome-js.252cc5f3.chunk.js +0 -7
  235. package/build/main.f31112a5.js +0 -2034
  236. package/build/runtime~main.81f05721.js +0 -2
  237. package/build/sk-json.7ba4b330.chunk.js +0 -1
  238. package/build/sso-settings-page.9f091262.chunk.js +0 -1
  239. package/build/tr-json.9c44ea0c.chunk.js +0 -1
  240. package/build/upload-settings.450cab1a.chunk.js +0 -18
  241. package/build/upload-translation-en-json.86da7b0a.chunk.js +0 -1
  242. package/build/upload-translation-sk-json.b03d4904.chunk.js +0 -1
  243. package/build/upload.a73936d9.chunk.js +0 -64
  244. package/build/users-advanced-settings-page.dc23bc56.chunk.js +0 -13
  245. package/build/users-email-settings-page.6541d372.chunk.js +0 -28
  246. package/build/users-permissions-translation-tr-json.cdc49a3c.chunk.js +0 -1
  247. package/build/users-providers-settings-page.e11a2f64.chunk.js +0 -33
  248. package/build/users-roles-settings-page.445e5e16.chunk.js +0 -30
@@ -1,33 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:(V,U,t)=>{t.r(U),t.d(U,{ProvidersPage:()=>be,default:()=>nt});var e=t(32735),P=t(5636),l=t(88425),L=t(23973),h=t.n(L),R=t(23940),D=t.n(R),f=t(10504),C=t(96709),x=t(28356),F=t(17e3),I=t(27649),d=t(94638),v=t(56755),c=t(33827),y=t(94547),b=t(19786),X=t(35658),K=t(88860),m=t(3685),O=t(50563),T=t(68625),M=t(84968),r=t(5173),s=t(59677);const u={id:(0,s.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},p={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},A={id:(0,s.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},W={id:(0,s.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},z={id:(0,s.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},k={id:(0,s.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},Q={id:(0,s.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},_={id:(0,s.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},Y={email:{form:[[{intlLabel:W,name:"enabled",type:"bool",description:A,size:6}]],schema:r.Ry().shape({enabled:r.Xg().required(l.translatedErrors.required)})},providers:{form:[[{intlLabel:W,name:"enabled",type:"bool",description:A,size:6,validations:{required:!0}}],[{intlLabel:z,name:"key",type:"text",placeholder:Q,size:12,validations:{required:!0}}],[{intlLabel:_,name:"secret",type:"text",placeholder:Q,size:12,validations:{required:!0}}],[{intlLabel:u,placeholder:p,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:k,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:r.Ry().shape({enabled:r.Xg().required(l.translatedErrors.required),key:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()}),secret:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()}),callback:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:W,name:"enabled",type:"bool",description:A,size:6,validations:{required:!0}}],[{intlLabel:z,name:"key",type:"text",placeholder:Q,size:12,validations:{required:!0}}],[{intlLabel:_,name:"secret",type:"text",placeholder:Q,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,s.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,s.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:u,placeholder:p,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:k,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:r.Ry().shape({enabled:r.Xg().required(l.translatedErrors.required),key:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()}),secret:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()}),subdomain:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()}),callback:r.Z_().when("enabled",{is:!0,then:r.Z_().required(l.translatedErrors.required),otherwise:r.Z_()})})}};var Re=(a,n,o)=>new Promise((Z,B)=>{var N=E=>{try{w(o.next(E))}catch(g){B(g)}},j=E=>{try{w(o.throw(E))}catch(g){B(g)}},w=E=>E.done?Z(E.value):Promise.resolve(E.value).then(N,j);w((o=o.apply(a,n)).next())});const Te=a=>Re(void 0,null,function*(){try{const{data:n}=yield s.be.get((0,s.Gc)("providers"));return n}catch(n){throw a({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Be=a=>s.be.put((0,s.Gc)("providers"),a);var Le=t(92891);const Ce=a=>(0,Le.sortBy)(Object.keys(a).reduce((n,o)=>{const{icon:Z,enabled:B,subdomain:N}=a[o],j=Z==="envelope"?["fas","envelope"]:["fab",Z];return N!==void 0?n.push({name:o,icon:j,enabled:B,subdomain:N}):n.push({name:o,icon:j,enabled:B}),n},[]),"name");var ue=t(88369),pe=t(41415),xe=t(27677),ve=t(11299),Ae=t(15335),De=t(5803),Ie=t(85025),Ue=t(55225),je=t(31600),Se=t(11406),Ze=t(60216),i=t.n(Ze),we=t(83281),Fe=t(9139),We=t(10369),Ne=Object.defineProperty,me=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,fe=(a,n,o)=>n in a?Ne(a,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[n]=o,ae=(a,n)=>{for(var o in n||(n={}))Ke.call(n,o)&&fe(a,o,n[o]);if(me)for(var o of me(n))ze.call(n,o)&&fe(a,o,n[o]);return a};const ne=({description:a,disabled:n,intlLabel:o,error:Z,name:B,onChange:N,placeholder:j,providerToEditName:w,type:E,value:g})=>{const{formatMessage:$}=(0,P.useIntl)(),G=B==="noName"?`${strapi.backendURL}/api/connect/${w}/callback`:g,J=$({id:o.id,defaultMessage:o.defaultMessage},ae({provider:w},o.values)),H=a?$({id:a.id,defaultMessage:a.defaultMessage},ae({provider:w},a.values)):"";if(E==="bool")return e.createElement(Fe.s,{"aria-label":B,checked:g,disabled:n,hint:H,label:J,name:B,offLabel:$({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:$({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:q=>{N({target:{name:B,value:q.target.checked}})}});const se=j?$({id:j.id,defaultMessage:j.defaultMessage},ae({},j.values)):"",ie=Z?$({id:Z,defaultMessage:Z}):"";return e.createElement(We.o,{"aria-label":B,disabled:n,error:ie,label:J,name:B,onChange:N,placeholder:se,type:E,value:G})};ne.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},ne.propTypes={description:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),disabled:i().bool,error:i().string,intlLabel:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}).isRequired,name:i().string.isRequired,onChange:i().func.isRequired,placeholder:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),providerToEditName:i().string.isRequired,type:i().string.isRequired,value:i().oneOfType([i().bool,i().string])};const $e=ne;var He=Object.defineProperty,Ve=Object.defineProperties,Ge=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,Xe=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,ge=(a,n,o)=>n in a?He(a,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[n]=o,Ye=(a,n)=>{for(var o in n||(n={}))Xe.call(n,o)&&ge(a,o,n[o]);if(ye)for(var o of ye(n))Qe.call(n,o)&&ge(a,o,n[o]);return a},Je=(a,n)=>Ve(a,Ge(n));const oe=({headerBreadcrumbs:a,initialData:n,isSubmiting:o,layout:Z,isOpen:B,onSubmit:N,onToggle:j,providerToEditName:w})=>{const{formatMessage:E}=(0,P.useIntl)();return B?e.createElement(Ie.P,{onClose:j,labelledBy:"title"},e.createElement(Ue.x,null,e.createElement(ve.O,{label:a.join(", ")},a.map(g=>e.createElement(ve.$,{key:g},g)))),e.createElement(we.Formik,{onSubmit:g=>N(g),initialValues:n,validationSchema:Z.schema,validateOnChange:!1},({errors:g,handleChange:$,values:G})=>e.createElement(l.Form,null,e.createElement(je.f,null,e.createElement(xe.K,{spacing:1},e.createElement(Ae.r,{gap:5},Z.form.map(J=>J.map(H=>e.createElement(De.P,{key:H.name,col:H.size,xs:12},e.createElement($e,Je(Ye({},H),{error:g[H.name],onChange:$,value:G[H.name],providerToEditName:w})))))))),e.createElement(Se.m,{startActions:e.createElement(pe.z,{variant:"tertiary",onClick:j,type:"button"},E({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(pe.z,{type:"submit",loading:o},E({id:"global.save",defaultMessage:"Save"}))})))):null};oe.defaultProps={initialData:null,providerToEditName:null},oe.propTypes={headerBreadcrumbs:i().arrayOf(i().string).isRequired,initialData:i().object,layout:i().shape({form:i().arrayOf(i().array),schema:i().object}).isRequired,isOpen:i().bool.isRequired,isSubmiting:i().bool.isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired,providerToEditName:i().string};const ke=oe;var qe=Object.defineProperty,_e=Object.defineProperties,et=Object.getOwnPropertyDescriptors,he=Object.getOwnPropertySymbols,tt=Object.prototype.hasOwnProperty,rt=Object.prototype.propertyIsEnumerable,Ee=(a,n,o)=>n in a?qe(a,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[n]=o,le=(a,n)=>{for(var o in n||(n={}))tt.call(n,o)&&Ee(a,o,n[o]);if(he)for(var o of he(n))rt.call(n,o)&&Ee(a,o,n[o]);return a},at=(a,n)=>_e(a,et(n)),Pe=(a,n,o)=>new Promise((Z,B)=>{var N=E=>{try{w(o.next(E))}catch(g){B(g)}},j=E=>{try{w(o.throw(E))}catch(g){B(g)}},w=E=>E.done?Z(E.value):Promise.resolve(E.value).then(N,j);w((o=o.apply(a,n)).next())});const be=()=>{const{formatMessage:a}=(0,P.useIntl)();(0,l.useFocusWhenNavigate)();const{notifyStatus:n}=(0,d.G)(),o=(0,M.useQueryClient)(),{trackUsage:Z}=(0,l.useTracking)(),B=(0,e.useRef)(Z),[N,j]=(0,e.useState)(!1),[w,E]=(0,e.useState)(!1),[g,$]=(0,e.useState)(null),G=(0,l.useNotification)(),{lockApp:J,unlockApp:H}=(0,l.useOverlayBlocker)(),se=(0,e.useMemo)(()=>({update:ue.Z.updateProviders}),[]),{isLoading:ie,allowedActions:{canUpdate:q}}=(0,l.useRBAC)(se),{isLoading:ot,data:ee,isFetching:lt}=(0,M.useQuery)("get-providers",()=>Te(G),{onSuccess(){n(a({id:(0,s.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),st=ot||lt,it=(0,M.useMutation)(Be,{onSuccess(){return Pe(this,null,function*(){yield o.invalidateQueries("get-providers"),G({type:"info",message:{id:(0,s.OB)("notification.success.submit")}}),B.current("didEditAuthenticationProvider"),E(!1),de(),H()})},onError(){G({type:"warning",message:{id:"notification.error"}}),H(),E(!1)},refetchActive:!1}),te=(0,e.useMemo)(()=>Ce(ee),[ee]),dt=te.length,Oe=(0,e.useMemo)(()=>{if(!g)return!1;const S=te.find(ce=>ce.name===g);return h()(S,"subdomain")},[te,g]),ct=a({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),ut=(0,e.useMemo)(()=>g==="email"?Y.email:Oe?Y.providersWithSubdomain:Y.providers,[g,Oe]),de=()=>{j(S=>!S)},Me=S=>{q&&($(S.name),de())},pt=S=>Pe(void 0,null,function*(){E(!0),J(),B.current("willEditAuthenticationProvider");const ce=at(le({},ee),{[g]:S});it.mutate({providers:ce})});return e.createElement(C.A,null,e.createElement(l.SettingsPageTitle,{name:ct}),e.createElement(I.o,null,e.createElement(x.T,{title:a({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),st||ie?e.createElement(l.LoadingIndicatorPage,null):e.createElement(F.D,null,e.createElement(v.i,{colCount:4,rowCount:dt+1},e.createElement(c.h,null,e.createElement(y.Tr,null,e.createElement(b.Th,null,e.createElement(K.Z,{variant:"sigma",textColor:"neutral600"},e.createElement(m.T,null,a({id:(0,s.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(b.Th,null,e.createElement(K.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(b.Th,null,e.createElement(K.Z,{variant:"sigma",textColor:"neutral600"},a({id:(0,s.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(b.Th,null,e.createElement(K.Z,{variant:"sigma"},e.createElement(m.T,null,a({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(X.p,null,te.map(S=>e.createElement(y.Tr,le({key:S.name},(0,l.onRowClick)({fn:()=>Me(S),condition:q})),e.createElement(b.Td,{width:""},e.createElement(f.G,{icon:S.icon})),e.createElement(b.Td,{width:"45%"},e.createElement(K.Z,{fontWeight:"semiBold",textColor:"neutral800"},S.name)),e.createElement(b.Td,{width:"65%"},e.createElement(K.Z,{textColor:S.enabled?"success600":"danger600","data-testid":`enable-${S.name}`},S.enabled?a({id:"global.enabled",defaultMessage:"Enabled"}):a({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(b.Td,le({},l.stopPropagation),q&&e.createElement(O.h,{onClick:()=>Me(S),noBorder:!0,icon:e.createElement(T.Z,null),label:"Edit"})))))))),e.createElement(ke,{initialData:ee[g],isOpen:N,isSubmiting:w,layout:ut,headerBreadcrumbs:[a({id:(0,s.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),D()(g)],onToggle:de,onSubmit:pt,providerToEditName:g}))},nt=()=>e.createElement(l.CheckPagePermissions,{permissions:ue.Z.readProviders},e.createElement(be,null))},8917:(V,U,t)=>{t.d(U,{Z:()=>D});var e=t(43653),P=t.n(e),l=t(88425),L=t.n(l),h=(f,C,x)=>new Promise((F,I)=>{var d=y=>{try{c(x.next(y))}catch(b){I(b)}},v=y=>{try{c(x.throw(y))}catch(b){I(b)}},c=y=>y.done?F(y.value):Promise.resolve(y.value).then(d,v);c((x=x.apply(f,C)).next())});const R=P().create({baseURL:"http://localhost:1337"});R.interceptors.request.use(f=>h(void 0,null,function*(){return f.headers={Authorization:`Bearer ${l.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),R.interceptors.response.use(f=>f,f=>{var C;throw((C=f.response)==null?void 0:C.status)===401&&(l.auth.clearAppStorage(),window.location.reload()),f});const D=R},59677:(V,U,t)=>{t.d(U,{be:()=>e.Z,YX:()=>L,Gc:()=>D,OB:()=>f.Z});var e=t(8917),P=t(92891);const L=C=>Object.keys(C).reduce((x,F)=>{const I=C[F].controllers,d=Object.keys(I).reduce((v,c)=>((0,P.isEmpty)(I[c])||(v[c]=I[c]),v),{});return(0,P.isEmpty)(d)||(x[F]={controllers:d}),x},{});var h=t(90201);const D=C=>`/${h.Z}/${C}`;var f=t(82069)},11299:(V,U,t)=>{t.d(U,{$:()=>b,O:()=>K});var e=t(32735),P=t(60216),l=t(83292),L=t(77277),h=t(88860),R=t(62345),D=t(36320),f=t(3685),C=Object.defineProperty,x=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,d=(m,O,T)=>O in m?C(m,O,{enumerable:!0,configurable:!0,writable:!0,value:T}):m[O]=T,v=(m,O)=>{for(var T in O||(O={}))F.call(O,T)&&d(m,T,O[T]);if(x)for(var T of x(O))I.call(O,T)&&d(m,T,O[T]);return m},c=(m,O)=>{var T={};for(var M in m)F.call(m,M)&&O.indexOf(M)<0&&(T[M]=m[M]);if(m!=null&&x)for(var M of x(m))O.indexOf(M)<0&&I.call(m,M)&&(T[M]=m[M]);return T};const y=(0,l.default)(D.k)`
2
- svg {
3
- height: ${10/16}rem;
4
- width: ${10/16}rem;
5
- path {
6
- fill: ${({theme:m})=>m.colors.neutral500};
7
- }
8
- }
9
- :last-of-type ${R.x} {
10
- display: none;
11
- }
12
- :last-of-type ${h.Z} {
13
- color: ${({theme:m})=>m.colors.neutral800};
14
- font-weight: ${({theme:m})=>m.fontWeights.bold};
15
- }
16
- `,b=({children:m})=>e.createElement(y,{inline:!0,as:"li"},e.createElement(h.Z,{variant:"pi",textColor:"neutral600"},m),e.createElement(R.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3},e.createElement(L.default,null)));b.displayName="Crumb",b.propTypes={children:P.node.isRequired};const X=P.shape({type:P.oneOf([b])}),K=m=>{var O=m,{children:T,label:M}=O,r=c(O,["children","label"]);return e.createElement(D.k,v({},r),e.createElement(f.T,null,M),e.createElement("ol",{"aria-hidden":!0},T))};K.displayName="Breadcrumbs",K.propTypes={children:P.oneOfType([P.arrayOf(X),X]).isRequired,label:P.string.isRequired}},17e3:(V,U,t)=>{t.d(U,{D:()=>L});var e=t(32735),P=t(60216),l=t(62345);const L=({children:h})=>e.createElement(l.x,{paddingLeft:10,paddingRight:10},h);L.propTypes={children:P.node.isRequired}},28356:(V,U,t)=>{t.d(U,{T:()=>O});var e=t(32735),P=t(83292),l=t(60216),L=t(88860),h=t(62345),R=t(36320);const D=r=>{const s=(0,e.useRef)(null),[u,p]=(0,e.useState)(!0),A=([W])=>{p(W.isIntersecting)};return(0,e.useEffect)(()=>{const W=s.current,z=new IntersectionObserver(A,r);return W&&z.observe(s.current),()=>{W&&z.disconnect()}},[s,r]),[s,u]};var f=t(81002);const C=(r,s)=>{const u=(0,f.useCallbackRef)(s);(0,e.useLayoutEffect)(()=>{const p=new ResizeObserver(u);return Array.isArray(r)?r.forEach(A=>{A.current&&p.observe(A.current)}):r.current&&p.observe(r.current),()=>{p.disconnect()}},[r,u])};var x=Object.defineProperty,F=Object.defineProperties,I=Object.getOwnPropertyDescriptors,d=Object.getOwnPropertySymbols,v=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,y=(r,s,u)=>s in r?x(r,s,{enumerable:!0,configurable:!0,writable:!0,value:u}):r[s]=u,b=(r,s)=>{for(var u in s||(s={}))v.call(s,u)&&y(r,u,s[u]);if(d)for(var u of d(s))c.call(s,u)&&y(r,u,s[u]);return r},X=(r,s)=>F(r,I(s)),K=(r,s)=>{var u={};for(var p in r)v.call(r,p)&&s.indexOf(p)<0&&(u[p]=r[p]);if(r!=null&&d)for(var p of d(r))s.indexOf(p)<0&&c.call(r,p)&&(u[p]=r[p]);return u};const m=()=>{const r=(0,e.useRef)(null),[s,u]=(0,e.useState)(null),[p,A]=D({root:null,rootMargin:"0px",threshold:0});return C(p,()=>{p.current&&u(p.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{r.current&&u(r.current.getBoundingClientRect())},[r]),{containerRef:p,isVisible:A,baseHeaderLayoutRef:r,headerSize:s}},O=r=>{const{containerRef:s,isVisible:u,baseHeaderLayoutRef:p,headerSize:A}=m();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:A==null?void 0:A.height},ref:s},u&&e.createElement(M,b({ref:p},r))),!u&&e.createElement(M,X(b({},r),{sticky:!0,width:A==null?void 0:A.width})))};O.displayName="HeaderLayout";const T=(0,P.default)(h.x)`
17
- position: fixed;
18
- top: 0;
19
- right: 0;
20
- width: ${r=>r.width}px;
21
- z-index: 4;
22
- box-shadow: ${({theme:r})=>r.shadows.tableShadow};
23
- `,M=e.forwardRef((r,s)=>{var u=r,{navigationAction:p,primaryAction:A,secondaryAction:W,subtitle:z,title:k,sticky:Q,width:_}=u,re=K(u,["navigationAction","primaryAction","secondaryAction","subtitle","title","sticky","width"]);const Y=typeof z=="string";return Q?e.createElement(T,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,background:"neutral0",width:_,"data-strapi-header-sticky":!0},e.createElement(R.k,{justifyContent:"space-between"},e.createElement(R.k,null,p&&e.createElement(h.x,{paddingRight:3},p),e.createElement(h.x,null,e.createElement(L.Z,b({variant:"beta",as:"h1"},re),k),Y?e.createElement(L.Z,{variant:"pi",textColor:"neutral600"},z):z),W?e.createElement(h.x,{paddingLeft:4},W):null),e.createElement(R.k,null,A?e.createElement(h.x,{paddingLeft:2},A):void 0))):e.createElement(h.x,{ref:s,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:p?6:8,background:"neutral100","data-strapi-header":!0},p?e.createElement(h.x,{paddingBottom:2},p):null,e.createElement(R.k,{justifyContent:"space-between"},e.createElement(R.k,null,e.createElement(L.Z,b({as:"h1",variant:"alpha"},re),k),W?e.createElement(h.x,{paddingLeft:4},W):null),A),Y?e.createElement(L.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},z):z)});M.displayName="BaseHeaderLayout",M.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},M.propTypes={navigationAction:l.node,primaryAction:l.node,secondaryAction:l.node,sticky:l.bool,subtitle:l.oneOfType([l.string,l.node]),title:l.string.isRequired,width:l.number},O.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},O.propTypes={navigationAction:l.node,primaryAction:l.node,secondaryAction:l.node,subtitle:l.oneOfType([l.string,l.node]),title:l.string.isRequired}},96709:(V,U,t)=>{t.d(U,{A:()=>D});var e=t(32735),P=t(60216),l=t(83292),L=t(62345);const h=(0,l.default)(L.x)`
24
- display: grid;
25
- grid-template-columns: ${({hasSideNav:f})=>f?"auto 1fr":"1fr"};
26
- `,R=(0,l.default)(L.x)`
27
- overflow-x: hidden;
28
- `,D=({sideNav:f,children:C})=>e.createElement(h,{hasSideNav:Boolean(f)},f,e.createElement(R,{paddingBottom:10},C));D.defaultProps={sideNav:void 0},D.propTypes={children:P.node.isRequired,sideNav:P.node}},27649:(V,U,t)=>{t.d(U,{o:()=>I});var e=t(32735),P=t(60216),l=t(83292),L=Object.defineProperty,h=Object.getOwnPropertySymbols,R=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,f=(d,v,c)=>v in d?L(d,v,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[v]=c,C=(d,v)=>{for(var c in v||(v={}))R.call(v,c)&&f(d,c,v[c]);if(h)for(var c of h(v))D.call(v,c)&&f(d,c,v[c]);return d},x=(d,v)=>{var c={};for(var y in d)R.call(d,y)&&v.indexOf(y)<0&&(c[y]=d[y]);if(d!=null&&h)for(var y of h(d))v.indexOf(y)<0&&D.call(d,y)&&(c[y]=d[y]);return c};const F=l.default.main`
29
- // To prevent global outline on focus visible to force an outline when Main is focused
30
- &:focus-visible {
31
- outline: none;
32
- }
33
- `,I=d=>{var v=d,{labelledBy:c}=v,y=x(v,["labelledBy"]);const b=c||"main-content-title";return e.createElement(F,C({"aria-labelledby":b,id:"main-content",tabIndex:-1},y))};I.defaultProps={labelledBy:void 0},I.propTypes={labelledBy:P.string}}}]);
@@ -1,30 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{50832:(re,F,o)=>{o.r(F),o.d(F,{default:()=>Lr});var r=o(32735),R=o(5141),m=o(88425),C=o(90201),b=o(88369),I=o(41415),K=o(96709),v=o(28356),T=o(99223),D=o(17e3),Z=o(27649),N=o(56755),_=o(33827),x=o(94547),E=o(19786),U=o(3685),f=o(88860),et=o(94638),tt=o(19406),j=o(5636),Y=o(84968),st=o(58469),B=o(59677),ne=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const rt=(s,e)=>ne(void 0,null,function*(){try{const{data:t}=yield B.be.get((0,B.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),nt=(s,e)=>ne(void 0,null,function*(){try{yield B.be.delete(`${(0,B.Gc)("roles")}/${s}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var ot=o(60216),h=o.n(ot),oe=o(50563),J=o(36320),at=o(35658),it=o(68625),lt=o(4038),ct=Object.defineProperty,ae=Object.getOwnPropertySymbols,ut=Object.prototype.hasOwnProperty,dt=Object.prototype.propertyIsEnumerable,ie=(s,e,t)=>e in s?ct(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,le=(s,e)=>{for(var t in e||(e={}))ut.call(e,t)&&ie(s,t,e[t]);if(ae)for(var t of ae(e))dt.call(e,t)&&ie(s,t,e[t]);return s};const q=({sortedRoles:s,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,j.useIntl)(),{push:d}=(0,R.useHistory)(),[a,n]=u,c=p=>e&&!["public","authenticated"].includes(p.type),g=p=>{i(p),n(!a)},P=p=>{d(`/settings/${C.Z}/roles/${p}`)};return r.createElement(at.p,null,s==null?void 0:s.map(p=>r.createElement(x.Tr,le({key:p.name},(0,m.onRowClick)({fn:()=>P(p.id)})),r.createElement(E.Td,{width:"20%"},r.createElement(f.Z,null,p.name)),r.createElement(E.Td,{width:"50%"},r.createElement(f.Z,null,p.description)),r.createElement(E.Td,{width:"30%"},r.createElement(f.Z,null,`${p.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),r.createElement(E.Td,null,r.createElement(J.k,le({justifyContent:"end"},m.stopPropagation),r.createElement(m.CheckPermissions,{permissions:t.updateRole},r.createElement(oe.h,{onClick:()=>P(p.id),noBorder:!0,icon:r.createElement(it.Z,null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${p.name}`})})),c(p)&&r.createElement(m.CheckPermissions,{permissions:t.deleteRole},r.createElement(oe.h,{onClick:()=>g(p.id),noBorder:!0,icon:r.createElement(lt.default,null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${p.name}`})})))))))},mt=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ce=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const pt=()=>{const{trackUsage:s}=(0,m.useTracking)(),{formatMessage:e}=(0,j.useIntl)(),{push:t}=(0,R.useHistory)(),i=(0,m.useNotification)(),{notifyStatus:u}=(0,et.G)(),[{query:l}]=(0,m.useQueryParams)(),d=(l==null?void 0:l._q)||"",[a,n]=(0,r.useState)(!1),[c,g]=(0,r.useState)(!1),[P,p]=(0,r.useState)();(0,m.useFocusWhenNavigate)();const O=(0,Y.useQueryClient)(),y=(0,r.useMemo)(()=>({create:b.Z.createRole,read:b.Z.readRoles,update:b.Z.updateRole,delete:b.Z.deleteRole}),[]),{isLoading:L,allowedActions:{canRead:w,canDelete:k}}=(0,m.useRBAC)(y),{isLoading:wr,data:{roles:se},isFetching:Sr}=(0,Y.useQuery)("get-roles",()=>rt(i,u),{initialData:{},enabled:w}),qe=wr||Sr,Mr=()=>{s("willCreateRole"),t(`/settings/${C.Z}/roles/new`)},Ur=()=>{n(!a)},jr={roles:{id:(0,B.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,B.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Ir=e({id:"global.roles",defaultMessage:"Roles"}),Zr=(0,Y.useMutation)(Fr=>nt(Fr,i),{onSuccess(){return ce(this,null,function*(){yield O.invalidateQueries("get-roles")})}}),Nr=()=>ce(void 0,null,function*(){g(!0),yield Zr.mutateAsync(P),n(!a),g(!1)}),W=(0,st.ZP)(se||[],d,{keys:["name","description"]}),xr=d&&!W.length?"search":"roles",Br=4,Gr=((se==null?void 0:se.length)||0)+1;return r.createElement(K.A,null,r.createElement(m.SettingsPageTitle,{name:Ir}),r.createElement(Z.o,{"aria-busy":qe},r.createElement(v.T,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:r.createElement(m.CheckPermissions,{permissions:b.Z.createRole},r.createElement(I.z,{onClick:Mr,startIcon:r.createElement(tt.default,null),size:"S"},e({id:(0,B.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),r.createElement(T.Z,{startActions:r.createElement(m.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),r.createElement(D.D,null,!w&&r.createElement(m.NoPermissions,null),(qe||L)&&r.createElement(m.LoadingIndicatorPage,null),w&&W&&(W==null?void 0:W.length)?r.createElement(N.i,{colCount:Br,rowCount:Gr},r.createElement(_.h,null,r.createElement(x.Tr,null,r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),r.createElement(E.Th,null,r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),r.createElement(E.Th,null,r.createElement(U.T,null,e({id:"global.actions",defaultMessage:"Actions"}))))),r.createElement(mt,{sortedRoles:W,canDelete:k,permissions:b.Z,setRoleToDelete:p,onDelete:[a,n]})):r.createElement(m.EmptyStateLayout,{content:jr[xr]})),r.createElement(m.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Nr,onToggleDialog:Ur,isOpen:a})))},gt=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.accessRoles},r.createElement(pt,null));var ue=o(83281),A=o(27677),S=o(62345),de=o(10369),me=o(10508),ft=o(29439),pe=o(66456),H=o(15335),G=o(5803),$=o(82069),M=o(92891);const ge=(0,r.createContext)({}),fe=({children:s,value:e})=>r.createElement(ge.Provider,{value:e},s),ee=()=>(0,r.useContext)(ge);fe.propTypes={children:h().node.isRequired,value:h().object.isRequired};var z=o(83292),Pt=o(37213),vt=o.n(Pt),Et=o(15738),ht=o.n(Et);const yt=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Ot=(0,z.default)(S.x)`
2
- margin: -1px;
3
- border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
4
- `;function te({route:s}){const{formatMessage:e}=(0,j.useIntl)(),{method:t,handler:i,path:u}=s,l=u?ht()(u.split("/")):[],[d="",a=""]=i?i.split("."):[],n=yt(s.method);return r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",r.createElement("span",null,d),r.createElement(f.Z,{variant:"delta",textColor:"primary600"},".",a)),r.createElement(A.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},r.createElement(Ot,{background:n.background,borderColor:n.border,padding:2},r.createElement(f.Z,{fontWeight:"bold",textColor:n.text},t)),r.createElement(S.x,{paddingLeft:2,paddingRight:2},vt()(l,c=>r.createElement(f.Z,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}te.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},te.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const Rt=te,Ct=()=>{const{formatMessage:s}=(0,j.useIntl)(),{selectedAction:e,routes:t}=ee(),i=(0,M.without)(e.split("."),"controllers"),u=(0,M.get)(t,i[0]),l=i.slice(1).join("."),d=(0,M.isEmpty)(u)?[]:u.filter(a=>a.handler.endsWith(l));return r.createElement(G.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?r.createElement(A.K,{spacing:2},d.map((a,n)=>r.createElement(Rt,{key:n,route:a}))):r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),r.createElement(f.Z,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var bt=o(83828),Dt=o(61762),Tt=o(89966),At=o(23940),Lt=o.n(At);function wt(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Lt()(s.replace("api::","").replace("plugin::",""))}}const St=wt;var Mt=o(98978),Pe=o.n(Mt),ve=o(8284),Ut=o(45112);const Ee=z.css`
5
- background: ${s=>s.theme.colors.primary100};
6
- svg {
7
- opacity: 1;
8
- }
9
- `,jt=(0,z.default)(S.x)`
10
- display: flex;
11
- justify-content: space-between;
12
- align-items: center;
13
-
14
- svg {
15
- opacity: 0;
16
- path {
17
- fill: ${s=>s.theme.colors.primary600};
18
- }
19
- }
20
-
21
- /* Show active style both on hover and when the action is selected */
22
- ${s=>s.isActive&&Ee}
23
- &:hover {
24
- ${Ee}
25
- }
26
- `,It=z.default.div`
27
- flex: 1;
28
- align-self: center;
29
- border-top: 1px solid ${({theme:s})=>s.colors.neutral150};
30
- `,he=({subCategory:s})=>{const{formatMessage:e}=(0,j.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=ee(),a=(0,r.useMemo)(()=>(0,M.get)(d,s.name,{}),[d,s]),n=(0,r.useMemo)(()=>Object.values(a).every(p=>p.enabled===!0),[a]),c=(0,r.useMemo)(()=>Object.values(a).some(p=>p.enabled===!0)&&!n,[a,n]),g=(0,r.useCallback)(({target:{name:p}})=>{i({target:{name:p,value:!n}})},[n,i]),P=(0,r.useCallback)(p=>l===p,[l]);return r.createElement(S.x,null,r.createElement(J.k,{justifyContent:"space-between",alignItems:"center"},r.createElement(S.x,{paddingRight:4},r.createElement(f.Z,{variant:"sigma",textColor:"neutral600"},s.label)),r.createElement(It,null),r.createElement(S.x,{paddingLeft:4},r.createElement(ve.X,{name:s.name,value:n,onValueChange:p=>g({target:{name:s.name,value:p}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),r.createElement(J.k,{paddingTop:6,paddingBottom:6},r.createElement(H.r,{gap:2,style:{flex:1}},s.actions.map(p=>{const O=`${p.name}.enabled`;return r.createElement(G.P,{col:6,key:p.name},r.createElement(jt,{isActive:P(p.name),padding:2,hasRadius:!0},r.createElement(ve.X,{value:(0,M.get)(d,O,!1),name:O,onValueChange:y=>t({target:{name:O,value:y}})},p.label),r.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(p.name),style:{display:"inline-flex",alignItems:"center"}},r.createElement(Ut.Z,null))))}))))};he.propTypes={subCategory:h().object.isRequired};const Zt=he;var Nt=Object.defineProperty,xt=Object.defineProperties,Bt=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,Oe=(s,e,t)=>e in s?Nt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_t=(s,e)=>{for(var t in e||(e={}))Gt.call(e,t)&&Oe(s,t,e[t]);if(ye)for(var t of ye(e))Ft.call(e,t)&&Oe(s,t,e[t]);return s},$t=(s,e)=>xt(s,Bt(e));const Re=({name:s,permissions:e})=>{const t=(0,r.useMemo)(()=>Pe()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${s}.controllers.${Object.keys(e.controllers)[l]}`,a=Pe()(Object.keys(u).reduce((n,c)=>[...n,$t(_t({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:a,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[s,e]);return r.createElement(S.x,{padding:6},t.map(i=>r.createElement(Zt,{key:i.name,subCategory:i})))};Re.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Vt=Re;var kt=Object.defineProperty,Kt=Object.defineProperties,Wt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,zt=Object.prototype.propertyIsEnumerable,be=(s,e,t)=>e in s?kt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Qt=(s,e)=>{for(var t in e||(e={}))Ht.call(e,t)&&be(s,t,e[t]);if(Ce)for(var t of Ce(e))zt.call(e,t)&&be(s,t,e[t]);return s},Xt=(s,e)=>Kt(s,Wt(e));const Yt=(s,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Xt(Qt({},s),{collapses:t})};var Q=o(97889),Jt=Object.defineProperty,qt=Object.defineProperties,es=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertySymbols,ts=Object.prototype.hasOwnProperty,ss=Object.prototype.propertyIsEnumerable,Te=(s,e,t)=>e in s?Jt(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ae=(s,e)=>{for(var t in e||(e={}))ts.call(e,t)&&Te(s,t,e[t]);if(De)for(var t of De(e))ss.call(e,t)&&Te(s,t,e[t]);return s},Le=(s,e)=>qt(s,es(e));const rs={collapses:[]},ns=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=s.collapses.map((i,u)=>u===e.index?Le(Ae({},i),{isOpen:!i.isOpen}):Le(Ae({},i),{isOpen:!1}));break}default:return t}}),os=()=>{const{modifiedData:s}=ee(),{formatMessage:e}=(0,j.useIntl)(),[{collapses:t},i]=(0,r.useReducer)(ns,rs,l=>Yt(l,s)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return r.createElement(A.K,{spacing:1},t.map((l,d)=>r.createElement(bt.U,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},r.createElement(Dt.B,{title:St(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),r.createElement(Tt.v,null,r.createElement(S.x,null,r.createElement(Vt,{permissions:s[l.name],name:l.name}))))))};var as=Object.defineProperty,is=Object.defineProperties,ls=Object.getOwnPropertyDescriptors,we=Object.getOwnPropertySymbols,cs=Object.prototype.hasOwnProperty,us=Object.prototype.propertyIsEnumerable,Se=(s,e,t)=>e in s?as(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ds=(s,e)=>{for(var t in e||(e={}))cs.call(e,t)&&Se(s,t,e[t]);if(we)for(var t of we(e))us.call(e,t)&&Se(s,t,e[t]);return s},ms=(s,e)=>is(s,ls(e));const ps={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},gs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,M.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,M.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,M.get)(s,i,{}),l=Object.keys(u).reduce((d,a)=>(d[a]=ms(ds({},u[a]),{enabled:e.value}),d),{});(0,M.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=s.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=s.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===s.selectedAction?"":i;break}default:return t}});var fs=Object.defineProperty,Ps=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,hs=Object.prototype.propertyIsEnumerable,Ue=(s,e,t)=>e in s?fs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,ys=(s,e)=>{for(var t in e||(e={}))Es.call(e,t)&&Ue(s,t,e[t]);if(Me)for(var t of Me(e))hs.call(e,t)&&Ue(s,t,e[t]);return s},Os=(s,e)=>Ps(s,vs(e));const Rs=(s,e,t)=>Os(ys({},s),{initialData:e,modifiedData:e,routes:t});var Cs=Object.defineProperty,bs=Object.defineProperties,Ds=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,Ts=Object.prototype.hasOwnProperty,As=Object.prototype.propertyIsEnumerable,Ie=(s,e,t)=>e in s?Cs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ls=(s,e)=>{for(var t in e||(e={}))Ts.call(e,t)&&Ie(s,t,e[t]);if(je)for(var t of je(e))As.call(e,t)&&Ie(s,t,e[t]);return s},ws=(s,e)=>bs(s,Ds(e));const Ze=(0,r.forwardRef)(({permissions:s,routes:e},t)=>{const{formatMessage:i}=(0,j.useIntl)(),[u,l]=(0,r.useReducer)(gs,ps,g=>Rs(g,s,e));(0,r.useImperativeHandle)(t,()=>({getPermissions(){return{permissions:u.modifiedData}},resetForm(){l({type:"ON_RESET"})},setFormAfterSubmit(){l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:P}})=>l({type:"ON_CHANGE",keys:g.split("."),value:P==="empty__string_value"?"":P}),a=({target:{name:g,value:P}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:P}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=ws(Ls({},u),{onChange:d,onChangeSelectAll:a,onSelectedAction:n});return r.createElement(fe,{value:c},r.createElement(H.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},r.createElement(G.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:6},r.createElement(A.K,{spacing:2},r.createElement(f.Z,{variant:"delta",as:"h2"},i({id:(0,$.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),r.createElement(f.Z,{as:"p",textColor:"neutral600"},i({id:(0,$.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),r.createElement(os,null))),r.createElement(Ct,null)))});Ze.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const Ne=(0,r.memo)(Ze),Xr={isLoading:!0,modifiedData:{}},Yr=(s,e)=>produce(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Jr=null;var Ss=o(98399),Ms=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const qr=(s,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),a=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ms(void 0,null,function*(){try{d({type:"GET_DATA"});const O=yield request(getRequestURL(s),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:O})}catch(O){n.current&&(d({type:"GET_DATA_ERROR"}),Ss.error(O),a({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,s]);const P=useCallback(p=>{d({type:"ON_SUBMIT_SUCCEEDED",data:p})},[]);return{allowedActions:i,dispatchSubmitSucceeded:P,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},en=null;var Us=Object.defineProperty,js=Object.defineProperties,Is=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Zs=Object.prototype.hasOwnProperty,Ns=Object.prototype.propertyIsEnumerable,Be=(s,e,t)=>e in s?Us(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,xs=(s,e)=>{for(var t in e||(e={}))Zs.call(e,t)&&Be(s,t,e[t]);if(xe)for(var t of xe(e))Ns.call(e,t)&&Be(s,t,e[t]);return s},Bs=(s,e)=>js(s,Is(e));const tn=(s,e)=>Bs(xs({},s),{isLoading:e}),sn=null,rn={roles:[],isLoading:!0},nn=(s,e)=>produce(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),on=null;var Gs=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const an=(s=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,s)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:a}=d;useEffect(()=>(s&&n(),()=>{d.abort(),l.current=!1}),[s]);const n=()=>Gs(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:a});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},ln=null;var Fs=Object.defineProperty,_s=Object.defineProperties,$s=Object.getOwnPropertyDescriptors,Ge=Object.getOwnPropertySymbols,Vs=Object.prototype.hasOwnProperty,ks=Object.prototype.propertyIsEnumerable,Fe=(s,e,t)=>e in s?Fs(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Ks=(s,e)=>{for(var t in e||(e={}))Vs.call(e,t)&&Fe(s,t,e[t]);if(Ge)for(var t of Ge(e))ks.call(e,t)&&Fe(s,t,e[t]);return s},Ws=(s,e)=>_s(s,$s(e));const Hs=(s,e)=>Ws(Ks({},s),{isLoading:e});var X=o(8917);const _e={permissions:{},routes:{},isLoading:!0},zs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var $e=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const Ve=(s=!0)=>{const e=(0,m.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,r.useReducer)(zs,_e,()=>Hs(_e,s)),d=(0,r.useCallback)(()=>$e(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:a},{routes:n}]=yield Promise.all([`/${C.Z}/permissions`,`/${C.Z}/routes`].map(c=>$e(void 0,null,function*(){return(yield X.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,B.YX)(a),routes:n})}catch(a){const n=(0,M.get)(a,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,r.useEffect)(()=>{s&&d()},[d,s]),{permissions:t,routes:i,getData:d,isLoading:u}},Qs={role:{},isLoading:!0},Xs=(s,e)=>(0,Q.default)(s,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var Ys=o(98399),Js=Object.defineProperty,qs=Object.defineProperties,er=Object.getOwnPropertyDescriptors,ke=Object.getOwnPropertySymbols,tr=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable,Ke=(s,e,t)=>e in s?Js(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,We=(s,e)=>{for(var t in e||(e={}))tr.call(e,t)&&Ke(s,t,e[t]);if(ke)for(var t of ke(e))sr.call(e,t)&&Ke(s,t,e[t]);return s},rr=(s,e)=>qs(s,er(e)),nr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const or=s=>{const[e,t]=(0,r.useReducer)(Xs,Qs),i=(0,m.useNotification)(),u=(0,r.useRef)(null);(0,r.useEffect)(()=>(u.current=!0,s?l(s):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[s]);const l=a=>nr(void 0,null,function*(){try{const{data:{role:n}}=yield X.Z.get(`/${C.Z}/roles/${a}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){Ys.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,r.useCallback)(a=>{t(We({type:"ON_SUBMIT_SUCCEEDED"},a))},[]);return rr(We({},e),{onSubmitSucceeded:d})};var V=o(5173);const ar=V.Ry().shape({name:V.Z_().required(m.translatedErrors.required),description:V.Z_().required(m.translatedErrors.required)});var ir=o(98399),lr=Object.defineProperty,cr=Object.defineProperties,ur=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,mr=Object.prototype.propertyIsEnumerable,ze=(s,e,t)=>e in s?lr(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Qe=(s,e)=>{for(var t in e||(e={}))dr.call(e,t)&&ze(s,t,e[t]);if(He)for(var t of He(e))mr.call(e,t)&&ze(s,t,e[t]);return s},pr=(s,e)=>cr(s,ur(e)),gr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const fr=()=>{const{formatMessage:s}=(0,j.useIntl)(),[e,t]=(0,r.useState)(!1),i=(0,m.useNotification)(),{lockApp:u,unlockApp:l}=(0,m.useOverlayBlocker)(),{params:{id:d}}=(0,R.useRouteMatch)(`/settings/${C.Z}/roles/:id`),{isLoading:a,routes:n}=Ve(),{role:c,onSubmitSucceeded:g,isLoading:P}=or(d),p=(0,r.useRef)(),O=y=>gr(void 0,null,function*(){u(),t(!0);try{const L=p.current.getPermissions();yield X.Z.put(`/${C.Z}/roles/${d}`,pr(Qe(Qe({},y),L),{users:[]})),g({name:y.name,description:y.description}),i({type:"success",message:{id:(0,$.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(L){ir.error(L),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return P?r.createElement(m.LoadingIndicatorPage,null):r.createElement(Z.o,null,r.createElement(m.SettingsPageTitle,{name:"Roles"}),r.createElement(ue.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:O,validationSchema:ar},({handleSubmit:y,values:L,handleChange:w,errors:k})=>r.createElement(m.Form,{noValidate:!0,onSubmit:y},r.createElement(v.T,{primaryAction:!a&&r.createElement(I.z,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:r.createElement(pe.Z,null)},s({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:r.createElement(m.Link,{startIcon:r.createElement(ft.Z,null),to:"/settings/users-permissions/roles"},s({id:"global.back",defaultMessage:"Back"}))}),r.createElement(D.D,null,r.createElement(A.K,{spacing:7},r.createElement(S.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:4},r.createElement(f.Z,{variant:"delta",as:"h2"},s({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),r.createElement(H.r,{gap:4},r.createElement(G.P,{col:6},r.createElement(de.o,{name:"name",value:L.name||"",onChange:w,label:s({id:"global.name",defaultMessage:"Name"}),error:k.name?s({id:k.name,defaultMessage:"Invalid value"}):null})),r.createElement(G.P,{col:6},r.createElement(me.g,{name:"description",value:L.description||"",onChange:w,label:s({id:"global.description",defaultMessage:"Description"}),error:k.description?s({id:k.description,defaultMessage:"Invalid value"}):null}))))),!a&&r.createElement(Ne,{ref:p,permissions:c.permissions,routes:n}))))))},Pr=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.updateRole},r.createElement(fr,null)),vr=V.Ry().shape({name:V.Z_().required(m.translatedErrors.required),description:V.Z_().required(m.translatedErrors.required)});var Er=o(98399),hr=Object.defineProperty,yr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Xe=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ye=(s,e,t)=>e in s?hr(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,Je=(s,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ye(s,t,e[t]);if(Xe)for(var t of Xe(e))Cr.call(e,t)&&Ye(s,t,e[t]);return s},br=(s,e)=>yr(s,Or(e)),Dr=(s,e,t)=>new Promise((i,u)=>{var l=n=>{try{a(t.next(n))}catch(c){u(c)}},d=n=>{try{a(t.throw(n))}catch(c){u(c)}},a=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);a((t=t.apply(s,e)).next())});const Tr=()=>{const{formatMessage:s}=(0,j.useIntl)(),[e,t]=(0,r.useState)(!1),i=(0,m.useNotification)(),{goBack:u}=(0,R.useHistory)(),{lockApp:l,unlockApp:d}=(0,m.useOverlayBlocker)(),{isLoading:a,permissions:n,routes:c}=Ve(),{trackUsage:g}=(0,m.useTracking)(),P=(0,r.useRef)(),p=O=>Dr(void 0,null,function*(){l(),t(!0);try{const y=P.current.getPermissions();yield X.Z.post(`/${C.Z}/roles`,br(Je(Je({},O),y),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,$.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(y){Er.error(y),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return r.createElement(Z.o,null,r.createElement(m.SettingsPageTitle,{name:"Roles"}),r.createElement(ue.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:p,validationSchema:vr},({handleSubmit:O,values:y,handleChange:L,errors:w})=>r.createElement(m.Form,{noValidate:!0,onSubmit:O},r.createElement(v.T,{primaryAction:!a&&r.createElement(I.z,{type:"submit",loading:e,startIcon:r.createElement(pe.Z,null)},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:s({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),r.createElement(D.D,null,r.createElement(A.K,{spacing:7},r.createElement(S.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},r.createElement(A.K,{spacing:4},r.createElement(f.Z,{variant:"delta",as:"h2"},s({id:(0,$.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),r.createElement(H.r,{gap:4},r.createElement(G.P,{col:6},r.createElement(de.o,{name:"name",value:y.name||"",onChange:L,label:s({id:"global.name",defaultMessage:"Name"}),error:w.name?s({id:w.name,defaultMessage:"Invalid value"}):null})),r.createElement(G.P,{col:6},r.createElement(me.g,{name:"description",value:y.description||"",onChange:L,label:s({id:"global.description",defaultMessage:"Description"}),error:w.description?s({id:w.description,defaultMessage:"Invalid value"}):null}))))),!a&&r.createElement(Ne,{ref:P,permissions:n,routes:c}))))))},Ar=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.createRole},r.createElement(Tr,null)),Lr=()=>r.createElement(m.CheckPagePermissions,{permissions:b.Z.accessRoles},r.createElement(R.Switch,null,r.createElement(R.Route,{path:`/settings/${C.Z}/roles/new`,component:Ar,exact:!0}),r.createElement(R.Route,{path:`/settings/${C.Z}/roles/:id`,component:Pr,exact:!0}),r.createElement(R.Route,{path:`/settings/${C.Z}/roles`,component:gt,exact:!0}),r.createElement(R.Route,{path:"",component:m.NotFound})))},8917:(re,F,o)=>{o.d(F,{Z:()=>K});var r=o(43653),R=o.n(r),m=o(88425),C=o.n(m),b=(v,T,D)=>new Promise((Z,N)=>{var _=U=>{try{E(D.next(U))}catch(f){N(f)}},x=U=>{try{E(D.throw(U))}catch(f){N(f)}},E=U=>U.done?Z(U.value):Promise.resolve(U.value).then(_,x);E((D=D.apply(v,T)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(v=>b(void 0,null,function*(){return v.headers={Authorization:`Bearer ${m.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},v}),v=>{Promise.reject(v)}),I.interceptors.response.use(v=>v,v=>{var T;throw((T=v.response)==null?void 0:T.status)===401&&(m.auth.clearAppStorage(),window.location.reload()),v});const K=I},59677:(re,F,o)=>{o.d(F,{be:()=>r.Z,YX:()=>C,Gc:()=>K,OB:()=>v.Z});var r=o(8917),R=o(92891);const C=T=>Object.keys(T).reduce((D,Z)=>{const N=T[Z].controllers,_=Object.keys(N).reduce((x,E)=>((0,R.isEmpty)(N[E])||(x[E]=N[E]),x),{});return(0,R.isEmpty)(_)||(D[Z]={controllers:_}),D},{});var b=o(90201);const K=T=>`/${b.Z}/${T}`;var v=o(82069)}}]);