@strapi/plugin-users-permissions 0.0.0-next.cb00a1799402728de4ecec6d52a815e33fcedaf3 → 0.0.0-next.cb666fde52df857549ddd0e7bf1f6888f5d06951

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 (250) hide show
  1. package/LICENSE +18 -3
  2. package/admin/src/components/BoundRoute/index.jsx +2 -2
  3. package/admin/src/components/FormModal/Input/index.jsx +32 -31
  4. package/admin/src/components/FormModal/index.jsx +57 -68
  5. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  6. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +13 -22
  7. package/admin/src/components/Permissions/index.jsx +27 -35
  8. package/admin/src/components/Permissions/reducer.js +1 -1
  9. package/admin/src/components/Policies/index.jsx +7 -5
  10. package/admin/src/components/UsersPermissions/index.jsx +15 -7
  11. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  12. package/admin/src/index.js +15 -32
  13. package/admin/src/pages/AdvancedSettings/index.jsx +83 -128
  14. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  15. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  16. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +119 -139
  17. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +20 -17
  18. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  19. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  20. package/admin/src/pages/Providers/index.jsx +98 -113
  21. package/admin/src/pages/Providers/utils/forms.js +23 -11
  22. package/admin/src/pages/Roles/constants.js +3 -3
  23. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  24. package/admin/src/pages/Roles/index.jsx +9 -18
  25. package/admin/src/pages/Roles/pages/CreatePage.jsx +53 -58
  26. package/admin/src/pages/Roles/pages/EditPage.jsx +63 -68
  27. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +27 -31
  28. package/admin/src/pages/Roles/pages/ListPage/index.jsx +79 -55
  29. package/admin/src/translations/en.json +1 -1
  30. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  31. package/dist/_chunks/{ar-t5qTFaAD.js → ar-BguGUqwK.js} +1 -1
  32. package/dist/_chunks/ar-BguGUqwK.js.map +1 -0
  33. package/dist/_chunks/{ar-MvD8Ghac.mjs → ar-CK8BRRXB.mjs} +1 -1
  34. package/dist/_chunks/ar-CK8BRRXB.mjs.map +1 -0
  35. package/dist/_chunks/{cs-BMuXwxA1.mjs → cs-BVigMk0l.mjs} +1 -1
  36. package/dist/_chunks/cs-BVigMk0l.mjs.map +1 -0
  37. package/dist/_chunks/{cs-I8N4u-Sd.js → cs-BW8-K_GY.js} +1 -1
  38. package/dist/_chunks/cs-BW8-K_GY.js.map +1 -0
  39. package/dist/_chunks/{de-zs2qqc0W.mjs → de-BKUdRFI4.mjs} +1 -1
  40. package/dist/_chunks/de-BKUdRFI4.mjs.map +1 -0
  41. package/dist/_chunks/{de-YTjtq89K.js → de-owXpVluI.js} +1 -1
  42. package/dist/_chunks/de-owXpVluI.js.map +1 -0
  43. package/dist/_chunks/{dk-HctVBMsG.mjs → dk-BQiTK50l.mjs} +1 -1
  44. package/dist/_chunks/dk-BQiTK50l.mjs.map +1 -0
  45. package/dist/_chunks/{dk-TF-dWjzl.js → dk-LXAnbuBk.js} +1 -1
  46. package/dist/_chunks/dk-LXAnbuBk.js.map +1 -0
  47. package/dist/_chunks/{en-CE3wEy_c.mjs → en-DOHtPf-2.mjs} +2 -2
  48. package/dist/_chunks/en-DOHtPf-2.mjs.map +1 -0
  49. package/dist/_chunks/{en-m608rMZx.js → en-MHo5mcsU.js} +2 -2
  50. package/dist/_chunks/en-MHo5mcsU.js.map +1 -0
  51. package/dist/_chunks/{es-XBQsB8_9.js → es-BwLCLXAQ.js} +1 -1
  52. package/dist/_chunks/es-BwLCLXAQ.js.map +1 -0
  53. package/dist/_chunks/{es-9381tih_.mjs → es-DNgOVMjD.mjs} +1 -1
  54. package/dist/_chunks/es-DNgOVMjD.mjs.map +1 -0
  55. package/dist/_chunks/{fr-CMSc77If.mjs → fr-DkgRugiU.mjs} +1 -1
  56. package/dist/_chunks/fr-DkgRugiU.mjs.map +1 -0
  57. package/dist/_chunks/{fr-6cz3U-IF.js → fr-DkhpSjjm.js} +1 -1
  58. package/dist/_chunks/fr-DkhpSjjm.js.map +1 -0
  59. package/dist/_chunks/{id-RJ934rq-.js → id-BTemOeTZ.js} +1 -1
  60. package/dist/_chunks/id-BTemOeTZ.js.map +1 -0
  61. package/dist/_chunks/{id-SDuyIkZa.mjs → id-BdEsvnaF.mjs} +1 -1
  62. package/dist/_chunks/id-BdEsvnaF.mjs.map +1 -0
  63. package/dist/_chunks/index-6IfauKkm.js +365 -0
  64. package/dist/_chunks/index-6IfauKkm.js.map +1 -0
  65. package/dist/_chunks/index-BH2Kbto3.mjs +344 -0
  66. package/dist/_chunks/index-BH2Kbto3.mjs.map +1 -0
  67. package/dist/_chunks/{index-IkWThHpX.mjs → index-BPLSKK9l.mjs} +239 -256
  68. package/dist/_chunks/index-BPLSKK9l.mjs.map +1 -0
  69. package/dist/_chunks/{index-0mLL_8vR.js → index-BteVBZ5H.js} +56 -53
  70. package/dist/_chunks/index-BteVBZ5H.js.map +1 -0
  71. package/dist/_chunks/{index-KON9250R.mjs → index-CItjLvCp.mjs} +105 -103
  72. package/dist/_chunks/index-CItjLvCp.mjs.map +1 -0
  73. package/dist/_chunks/index-CU5dmnhc.js +280 -0
  74. package/dist/_chunks/index-CU5dmnhc.js.map +1 -0
  75. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs +11090 -0
  76. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs.map +1 -0
  77. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js +11113 -0
  78. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js.map +1 -0
  79. package/dist/_chunks/{index-5NjYl5zP.js → index-DDd0fVR6.js} +256 -276
  80. package/dist/_chunks/index-DDd0fVR6.js.map +1 -0
  81. package/dist/_chunks/index-DMkiPQOl.mjs +262 -0
  82. package/dist/_chunks/index-DMkiPQOl.mjs.map +1 -0
  83. package/dist/_chunks/{index-duDzoPIj.mjs → index-DZnDAnLg.mjs} +55 -52
  84. package/dist/_chunks/index-DZnDAnLg.mjs.map +1 -0
  85. package/dist/_chunks/{index-ocoaOzEA.js → index-Dd0JjBda.js} +109 -108
  86. package/dist/_chunks/index-Dd0JjBda.js.map +1 -0
  87. package/dist/_chunks/{it-bvH7DgQo.mjs → it-B-rv0E24.mjs} +1 -1
  88. package/dist/_chunks/it-B-rv0E24.mjs.map +1 -0
  89. package/dist/_chunks/{it-YhZOlM2X.js → it-D1rH6V6_.js} +1 -1
  90. package/dist/_chunks/it-D1rH6V6_.js.map +1 -0
  91. package/dist/_chunks/{ja-o_-JPvQv.mjs → ja-C8K-VBPD.mjs} +1 -1
  92. package/dist/_chunks/ja-C8K-VBPD.mjs.map +1 -0
  93. package/dist/_chunks/{ja-xssHUXFv.js → ja-DqShgTMf.js} +1 -1
  94. package/dist/_chunks/ja-DqShgTMf.js.map +1 -0
  95. package/dist/_chunks/{ko-C3mHUSJa.js → ko-B9DGEPWH.js} +1 -1
  96. package/dist/_chunks/ko-B9DGEPWH.js.map +1 -0
  97. package/dist/_chunks/{ko-XJbPSez_.mjs → ko-Busb0wIY.mjs} +1 -1
  98. package/dist/_chunks/ko-Busb0wIY.mjs.map +1 -0
  99. package/dist/_chunks/{ms-II5Ea73J.mjs → ms-ByvsQjRt.mjs} +1 -1
  100. package/dist/_chunks/ms-ByvsQjRt.mjs.map +1 -0
  101. package/dist/_chunks/{ms-d0hfg65Z.js → ms-CPBU3LWf.js} +1 -1
  102. package/dist/_chunks/ms-CPBU3LWf.js.map +1 -0
  103. package/dist/_chunks/{nl-vEy6TN0K.mjs → nl-5qO8Rpcy.mjs} +1 -1
  104. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +1 -0
  105. package/dist/_chunks/{nl-TA7TfK_5.js → nl-CwNB6YoO.js} +1 -1
  106. package/dist/_chunks/nl-CwNB6YoO.js.map +1 -0
  107. package/dist/_chunks/{pl-2VowaFGt.mjs → pl-BdIzifBE.mjs} +1 -1
  108. package/dist/_chunks/pl-BdIzifBE.mjs.map +1 -0
  109. package/dist/_chunks/{pl-0pUL9hdA.js → pl-Do9UD69f.js} +1 -1
  110. package/dist/_chunks/pl-Do9UD69f.js.map +1 -0
  111. package/dist/_chunks/{pt-Rf9W51IO.mjs → pt-BIO24ioG.mjs} +1 -1
  112. package/dist/_chunks/pt-BIO24ioG.mjs.map +1 -0
  113. package/dist/_chunks/{pt-BR-WNOhafR4.js → pt-BR-D7dZhxuP.js} +1 -1
  114. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +1 -0
  115. package/dist/_chunks/{pt-BR-sS1Xp3Jt.mjs → pt-BR-f0p23AQZ.mjs} +1 -1
  116. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +1 -0
  117. package/dist/_chunks/{pt-guNR9Gax.js → pt-fdvyOnUp.js} +1 -1
  118. package/dist/_chunks/pt-fdvyOnUp.js.map +1 -0
  119. package/dist/_chunks/{ru-X3BMXDds.js → ru-C94rjPGA.js} +1 -1
  120. package/dist/_chunks/ru-C94rjPGA.js.map +1 -0
  121. package/dist/_chunks/{ru-qKHnd5or.mjs → ru-VWy-IB7K.mjs} +1 -1
  122. package/dist/_chunks/ru-VWy-IB7K.mjs.map +1 -0
  123. package/dist/_chunks/{sk-NWPw1oTN.js → sk-BABEhykl.js} +1 -1
  124. package/dist/_chunks/sk-BABEhykl.js.map +1 -0
  125. package/dist/_chunks/{sk-_Ryr-eTT.mjs → sk-B_LIcepm.mjs} +1 -1
  126. package/dist/_chunks/sk-B_LIcepm.mjs.map +1 -0
  127. package/dist/_chunks/{sv-BqzScFXS.mjs → sv-ABLKOokl.mjs} +1 -1
  128. package/dist/_chunks/sv-ABLKOokl.mjs.map +1 -0
  129. package/dist/_chunks/{sv-76NnbB__.js → sv-Be43LhA9.js} +1 -1
  130. package/dist/_chunks/sv-Be43LhA9.js.map +1 -0
  131. package/dist/_chunks/{th-WsknMEpq.mjs → th-DKyP7ueR.mjs} +1 -1
  132. package/dist/_chunks/th-DKyP7ueR.mjs.map +1 -0
  133. package/dist/_chunks/{th-cbppX21D.js → th-DgVhVLhL.js} +1 -1
  134. package/dist/_chunks/th-DgVhVLhL.js.map +1 -0
  135. package/dist/_chunks/{tr-6mm_Fmz7.js → tr-B_idhkEs.js} +1 -1
  136. package/dist/_chunks/tr-B_idhkEs.js.map +1 -0
  137. package/dist/_chunks/{tr-_DB1F1GW.mjs → tr-qa1Q5UjC.mjs} +1 -1
  138. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +1 -0
  139. package/dist/_chunks/{uk-yxMSQAwI.mjs → uk-BmRqbeQc.mjs} +1 -1
  140. package/dist/_chunks/uk-BmRqbeQc.mjs.map +1 -0
  141. package/dist/_chunks/{uk-sI2I1ogF.js → uk-LHOivnhP.js} +1 -1
  142. package/dist/_chunks/uk-LHOivnhP.js.map +1 -0
  143. package/dist/_chunks/{vi-A3zJxaiI.js → vi-CdVRdKDw.js} +1 -1
  144. package/dist/_chunks/vi-CdVRdKDw.js.map +1 -0
  145. package/dist/_chunks/{vi-xY0zCW3d.mjs → vi-HW-EdMea.mjs} +1 -1
  146. package/dist/_chunks/vi-HW-EdMea.mjs.map +1 -0
  147. package/dist/_chunks/{zh-OFeldzbX.mjs → zh-5hKkVPA4.mjs} +1 -1
  148. package/dist/_chunks/zh-5hKkVPA4.mjs.map +1 -0
  149. package/dist/_chunks/{zh-72SpmFXa.js → zh-Cuq8gMnF.js} +1 -1
  150. package/dist/_chunks/zh-Cuq8gMnF.js.map +1 -0
  151. package/dist/_chunks/{zh-Hans-E84cu4kP.mjs → zh-Hans-BHilK-yc.mjs} +1 -1
  152. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +1 -0
  153. package/dist/_chunks/{zh-Hans-ArWWtyP4.js → zh-Hans-GQDMKtY4.js} +1 -1
  154. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +1 -0
  155. package/dist/admin/index.js +1 -2
  156. package/dist/admin/index.js.map +1 -1
  157. package/dist/admin/index.mjs +1 -2
  158. package/dist/admin/index.mjs.map +1 -1
  159. package/package.json +27 -28
  160. package/server/bootstrap/index.js +18 -51
  161. package/server/bootstrap/users-permissions-actions.js +6 -0
  162. package/server/config.js +29 -0
  163. package/server/content-types/user/index.js +0 -1
  164. package/server/controllers/auth.js +62 -63
  165. package/server/controllers/content-manager-user.js +28 -30
  166. package/server/controllers/role.js +17 -4
  167. package/server/controllers/user.js +8 -9
  168. package/server/controllers/validation/auth.js +81 -25
  169. package/server/graphql/types/index.js +1 -0
  170. package/server/graphql/types/me.js +1 -0
  171. package/server/graphql/types/user-input.js +20 -0
  172. package/server/middlewares/rateLimit.js +1 -1
  173. package/server/register.js +1 -1
  174. package/server/services/jwt.js +3 -3
  175. package/server/services/permission.js +3 -7
  176. package/server/services/providers-registry.js +468 -275
  177. package/server/services/providers.js +10 -5
  178. package/server/services/role.js +15 -13
  179. package/server/services/user.js +56 -19
  180. package/server/services/users-permissions.js +15 -13
  181. package/server/utils/index.d.ts +2 -1
  182. package/server/utils/sanitize/sanitizers.js +7 -3
  183. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  184. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  185. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  186. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  187. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  188. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  189. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  190. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  191. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  192. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  193. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  194. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  195. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  196. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  197. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  198. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  199. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  200. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  201. package/dist/_chunks/index-0mLL_8vR.js.map +0 -1
  202. package/dist/_chunks/index-5NjYl5zP.js.map +0 -1
  203. package/dist/_chunks/index-IkWThHpX.mjs.map +0 -1
  204. package/dist/_chunks/index-KON9250R.mjs.map +0 -1
  205. package/dist/_chunks/index-Pf0THMXE.js +0 -407
  206. package/dist/_chunks/index-Pf0THMXE.js.map +0 -1
  207. package/dist/_chunks/index-cDoSHOCB.mjs +0 -385
  208. package/dist/_chunks/index-cDoSHOCB.mjs.map +0 -1
  209. package/dist/_chunks/index-duDzoPIj.mjs.map +0 -1
  210. package/dist/_chunks/index-n3_BB2IX.js +0 -320
  211. package/dist/_chunks/index-n3_BB2IX.js.map +0 -1
  212. package/dist/_chunks/index-ocoaOzEA.js.map +0 -1
  213. package/dist/_chunks/index-r2sL6daw.mjs +0 -301
  214. package/dist/_chunks/index-r2sL6daw.mjs.map +0 -1
  215. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  216. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  217. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  218. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  219. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  220. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  221. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  222. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  223. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  224. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  225. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  226. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  227. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  228. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  229. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  230. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  231. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  232. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  233. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  234. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  235. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  236. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  237. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  238. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  239. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  240. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  241. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  242. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  243. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  244. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  245. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  246. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  247. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  248. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  249. package/server/bootstrap/grant-config.js +0 -140
  250. package/strapi-server.js +0 -3
@@ -1,15 +1,21 @@
1
- import { prefixPluginTranslations } from "@strapi/helper-plugin";
2
- const __variableDynamicImportRuntimeHelper = (glob, path) => {
1
+ const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
3
2
  const v = glob[path];
4
3
  if (v) {
5
4
  return typeof v === "function" ? v() : Promise.resolve(v);
6
5
  }
7
6
  return new Promise((_, reject) => {
8
- (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
7
+ (typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
8
+ reject.bind(
9
+ null,
10
+ new Error(
11
+ "Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
12
+ )
13
+ )
14
+ );
9
15
  });
10
16
  };
11
17
  const name$1 = "@strapi/plugin-users-permissions";
12
- const version = "4.22.1";
18
+ const version = "5.7.0";
13
19
  const description = "Protect your API with a full-authentication process based on JWT";
14
20
  const repository = {
15
21
  type: "git",
@@ -36,9 +42,9 @@ const exports = {
36
42
  "default": "./dist/admin/index.js"
37
43
  },
38
44
  "./strapi-server": {
39
- source: "./strapi-server.js",
40
- require: "./strapi-server.js",
41
- "default": "./strapi-server.js"
45
+ source: "./server/index.js",
46
+ require: "./server/index.js",
47
+ "default": "./server/index.js"
42
48
  },
43
49
  "./package.json": "./package.json"
44
50
  };
@@ -55,48 +61,47 @@ const scripts = {
55
61
  watch: "pack-up watch"
56
62
  };
57
63
  const dependencies = {
58
- "@strapi/design-system": "1.16.0",
59
- "@strapi/helper-plugin": "4.22.1",
60
- "@strapi/icons": "1.16.0",
61
- "@strapi/utils": "4.22.1",
64
+ "@strapi/design-system": "2.0.0-rc.14",
65
+ "@strapi/icons": "2.0.0-rc.14",
66
+ "@strapi/utils": "5.7.0",
62
67
  bcryptjs: "2.4.3",
63
- formik: "2.4.0",
68
+ formik: "2.4.5",
64
69
  "grant-koa": "5.4.8",
65
- immer: "9.0.19",
70
+ immer: "9.0.21",
66
71
  jsonwebtoken: "9.0.0",
67
72
  "jwk-to-pem": "2.0.5",
68
- koa: "2.13.4",
69
- "koa2-ratelimit": "^1.1.2",
73
+ koa: "2.15.2",
74
+ "koa2-ratelimit": "^1.1.3",
70
75
  lodash: "4.17.21",
71
76
  "prop-types": "^15.8.1",
72
77
  purest: "4.0.2",
73
- "react-intl": "6.4.1",
78
+ "react-intl": "6.6.2",
74
79
  "react-query": "3.39.3",
75
- "react-redux": "8.1.1",
80
+ "react-redux": "8.1.3",
76
81
  "url-join": "4.0.1",
77
82
  yup: "0.32.9"
78
83
  };
79
84
  const devDependencies = {
80
- "@strapi/pack-up": "4.22.1",
81
- "@strapi/strapi": "4.22.1",
82
- "@testing-library/dom": "9.2.0",
83
- "@testing-library/react": "14.0.0",
84
- "@testing-library/user-event": "14.4.3",
85
+ "@strapi/pack-up": "5.0.2",
86
+ "@strapi/strapi": "5.7.0",
87
+ "@testing-library/dom": "10.1.0",
88
+ "@testing-library/react": "15.0.7",
89
+ "@testing-library/user-event": "14.5.2",
85
90
  msw: "1.3.0",
86
- react: "^18.2.0",
87
- "react-dom": "^18.2.0",
88
- "react-router-dom": "5.3.4",
89
- "styled-components": "5.3.3"
91
+ react: "18.3.1",
92
+ "react-dom": "18.3.1",
93
+ "react-router-dom": "6.22.3",
94
+ "styled-components": "6.1.8"
90
95
  };
91
96
  const peerDependencies = {
92
- "@strapi/strapi": "^4.0.0",
97
+ "@strapi/strapi": "^5.0.0",
93
98
  react: "^17.0.0 || ^18.0.0",
94
99
  "react-dom": "^17.0.0 || ^18.0.0",
95
- "react-router-dom": "^5.2.0",
96
- "styled-components": "^5.2.1"
100
+ "react-router-dom": "^6.0.0",
101
+ "styled-components": "^6.0.0"
97
102
  };
98
103
  const engines = {
99
- node: ">=18.0.0 <=20.x.x",
104
+ node: ">=18.0.0 <=22.x.x",
100
105
  npm: ">=6.0.0"
101
106
  };
102
107
  const strapi = {
@@ -150,6 +155,12 @@ const PERMISSIONS = {
150
155
  };
151
156
  const pluginId = pluginPkg.name.replace(/^@strapi\/plugin-/i, "");
152
157
  const getTrad = (id) => `${pluginId}.${id}`;
158
+ const prefixPluginTranslations = (trad, pluginId2) => {
159
+ return Object.keys(trad).reduce((acc, current) => {
160
+ acc[`${pluginId2}.${current}`] = trad[current];
161
+ return acc;
162
+ }, {});
163
+ };
153
164
  const name = pluginPkg.strapi.name;
154
165
  const index = {
155
166
  register(app) {
@@ -168,11 +179,8 @@ const index = {
168
179
  defaultMessage: "Roles"
169
180
  },
170
181
  id: "roles",
171
- to: `/settings/users-permissions/roles`,
172
- async Component() {
173
- const component = await import("./index-IkWThHpX.mjs");
174
- return component;
175
- },
182
+ to: `users-permissions/roles`,
183
+ Component: () => import("./index-BPLSKK9l.mjs"),
176
184
  permissions: PERMISSIONS.accessRoles
177
185
  },
178
186
  {
@@ -181,11 +189,8 @@ const index = {
181
189
  defaultMessage: "Providers"
182
190
  },
183
191
  id: "providers",
184
- to: `/settings/users-permissions/providers`,
185
- async Component() {
186
- const component = await import("./index-KON9250R.mjs");
187
- return component;
188
- },
192
+ to: `users-permissions/providers`,
193
+ Component: () => import("./index-CItjLvCp.mjs"),
189
194
  permissions: PERMISSIONS.readProviders
190
195
  },
191
196
  {
@@ -194,11 +199,10 @@ const index = {
194
199
  defaultMessage: "Email templates"
195
200
  },
196
201
  id: "email-templates",
197
- to: `/settings/users-permissions/email-templates`,
198
- async Component() {
199
- const component = await import("./index-cDoSHOCB.mjs");
200
- return component;
201
- },
202
+ to: `users-permissions/email-templates`,
203
+ Component: () => import("./index-BH2Kbto3.mjs").then((mod) => ({
204
+ default: mod.ProtectedEmailTemplatesPage
205
+ })),
202
206
  permissions: PERMISSIONS.readEmailTemplates
203
207
  },
204
208
  {
@@ -207,11 +211,10 @@ const index = {
207
211
  defaultMessage: "Advanced Settings"
208
212
  },
209
213
  id: "advanced-settings",
210
- to: `/settings/users-permissions/advanced-settings`,
211
- async Component() {
212
- const component = await import("./index-r2sL6daw.mjs");
213
- return component;
214
- },
214
+ to: `users-permissions/advanced-settings`,
215
+ Component: () => import("./index-DMkiPQOl.mjs").then((mod) => ({
216
+ default: mod.ProtectedAdvancedSettingsPage
217
+ })),
215
218
  permissions: PERMISSIONS.readAdvancedSettings
216
219
  }
217
220
  ]
@@ -226,7 +229,7 @@ const index = {
226
229
  async registerTrads({ locales }) {
227
230
  const importedTrads = await Promise.all(
228
231
  locales.map((locale) => {
229
- return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-MvD8Ghac.mjs"), "./translations/cs.json": () => import("./cs-BMuXwxA1.mjs"), "./translations/de.json": () => import("./de-zs2qqc0W.mjs"), "./translations/dk.json": () => import("./dk-HctVBMsG.mjs"), "./translations/en.json": () => import("./en-CE3wEy_c.mjs"), "./translations/es.json": () => import("./es-9381tih_.mjs"), "./translations/fr.json": () => import("./fr-CMSc77If.mjs"), "./translations/id.json": () => import("./id-SDuyIkZa.mjs"), "./translations/it.json": () => import("./it-bvH7DgQo.mjs"), "./translations/ja.json": () => import("./ja-o_-JPvQv.mjs"), "./translations/ko.json": () => import("./ko-XJbPSez_.mjs"), "./translations/ms.json": () => import("./ms-II5Ea73J.mjs"), "./translations/nl.json": () => import("./nl-vEy6TN0K.mjs"), "./translations/pl.json": () => import("./pl-2VowaFGt.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-sS1Xp3Jt.mjs"), "./translations/pt.json": () => import("./pt-Rf9W51IO.mjs"), "./translations/ru.json": () => import("./ru-qKHnd5or.mjs"), "./translations/sk.json": () => import("./sk-_Ryr-eTT.mjs"), "./translations/sv.json": () => import("./sv-BqzScFXS.mjs"), "./translations/th.json": () => import("./th-WsknMEpq.mjs"), "./translations/tr.json": () => import("./tr-_DB1F1GW.mjs"), "./translations/uk.json": () => import("./uk-yxMSQAwI.mjs"), "./translations/vi.json": () => import("./vi-xY0zCW3d.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-E84cu4kP.mjs"), "./translations/zh.json": () => import("./zh-OFeldzbX.mjs") }), `./translations/${locale}.json`).then(({ default: data }) => {
232
+ return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => import("./ar-CK8BRRXB.mjs"), "./translations/cs.json": () => import("./cs-BVigMk0l.mjs"), "./translations/de.json": () => import("./de-BKUdRFI4.mjs"), "./translations/dk.json": () => import("./dk-BQiTK50l.mjs"), "./translations/en.json": () => import("./en-DOHtPf-2.mjs"), "./translations/es.json": () => import("./es-DNgOVMjD.mjs"), "./translations/fr.json": () => import("./fr-DkgRugiU.mjs"), "./translations/id.json": () => import("./id-BdEsvnaF.mjs"), "./translations/it.json": () => import("./it-B-rv0E24.mjs"), "./translations/ja.json": () => import("./ja-C8K-VBPD.mjs"), "./translations/ko.json": () => import("./ko-Busb0wIY.mjs"), "./translations/ms.json": () => import("./ms-ByvsQjRt.mjs"), "./translations/nl.json": () => import("./nl-5qO8Rpcy.mjs"), "./translations/pl.json": () => import("./pl-BdIzifBE.mjs"), "./translations/pt-BR.json": () => import("./pt-BR-f0p23AQZ.mjs"), "./translations/pt.json": () => import("./pt-BIO24ioG.mjs"), "./translations/ru.json": () => import("./ru-VWy-IB7K.mjs"), "./translations/sk.json": () => import("./sk-B_LIcepm.mjs"), "./translations/sv.json": () => import("./sv-ABLKOokl.mjs"), "./translations/th.json": () => import("./th-DKyP7ueR.mjs"), "./translations/tr.json": () => import("./tr-qa1Q5UjC.mjs"), "./translations/uk.json": () => import("./uk-BmRqbeQc.mjs"), "./translations/vi.json": () => import("./vi-HW-EdMea.mjs"), "./translations/zh-Hans.json": () => import("./zh-Hans-BHilK-yc.mjs"), "./translations/zh.json": () => import("./zh-5hKkVPA4.mjs") }), `./translations/${locale}.json`, 3).then(({ default: data }) => {
230
233
  return {
231
234
  data: prefixPluginTranslations(data, "users-permissions"),
232
235
  locale
@@ -247,4 +250,4 @@ export {
247
250
  getTrad as g,
248
251
  index as i
249
252
  };
250
- //# sourceMappingURL=index-duDzoPIj.mjs.map
253
+ //# sourceMappingURL=index-DZnDAnLg.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DZnDAnLg.mjs","sources":["../../admin/src/constants.js","../../admin/src/pluginId.js","../../admin/src/utils/getTrad.js","../../admin/src/utils/prefixPluginTranslations.js","../../admin/src/index.js"],"sourcesContent":["export const PERMISSIONS = {\n // Roles\n accessRoles: [\n { action: 'plugin::users-permissions.roles.create', subject: null },\n { action: 'plugin::users-permissions.roles.read', subject: null },\n ],\n createRole: [{ action: 'plugin::users-permissions.roles.create', subject: null }],\n deleteRole: [{ action: 'plugin::users-permissions.roles.delete', subject: null }],\n readRoles: [{ action: 'plugin::users-permissions.roles.read', subject: null }],\n updateRole: [{ action: 'plugin::users-permissions.roles.update', subject: null }],\n\n // AdvancedSettings\n readAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.read', subject: null },\n ],\n updateAdvancedSettings: [\n { action: 'plugin::users-permissions.advanced-settings.update', subject: null },\n ],\n\n // Emails\n readEmailTemplates: [{ action: 'plugin::users-permissions.email-templates.read', subject: null }],\n updateEmailTemplates: [\n { action: 'plugin::users-permissions.email-templates.update', subject: null },\n ],\n\n // Providers\n readProviders: [{ action: 'plugin::users-permissions.providers.read', subject: null }],\n updateProviders: [{ action: 'plugin::users-permissions.providers.update', subject: null }],\n};\n","import pluginPkg from '../../package.json';\n\nconst pluginId = pluginPkg.name.replace(/^@strapi\\/plugin-/i, '');\n\nexport default pluginId;\n","import pluginId from '../pluginId';\n\nconst getTrad = (id) => `${pluginId}.${id}`;\n\nexport default getTrad;\n","const prefixPluginTranslations = (trad, pluginId) => {\n if (!pluginId) {\n throw new TypeError(\"pluginId can't be empty\");\n }\n\n return Object.keys(trad).reduce((acc, current) => {\n acc[`${pluginId}.${current}`] = trad[current];\n\n return acc;\n }, {});\n};\n\nexport { prefixPluginTranslations };\n","import pluginPkg from '../../package.json';\n\nimport { PERMISSIONS } from './constants';\nimport getTrad from './utils/getTrad';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nconst name = pluginPkg.strapi.name;\n\nexport default {\n register(app) {\n // Create the plugin's settings section\n app.createSettingSection(\n {\n id: 'users-permissions',\n intlLabel: {\n id: getTrad('Settings.section-label'),\n defaultMessage: 'Users & Permissions plugin',\n },\n },\n [\n {\n intlLabel: {\n id: 'global.roles',\n defaultMessage: 'Roles',\n },\n id: 'roles',\n to: `users-permissions/roles`,\n Component: () => import('./pages/Roles'),\n permissions: PERMISSIONS.accessRoles,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.providers'),\n defaultMessage: 'Providers',\n },\n id: 'providers',\n to: `users-permissions/providers`,\n Component: () => import('./pages/Providers'),\n permissions: PERMISSIONS.readProviders,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n },\n id: 'email-templates',\n to: `users-permissions/email-templates`,\n Component: () =>\n import('./pages/EmailTemplates').then((mod) => ({\n default: mod.ProtectedEmailTemplatesPage,\n })),\n permissions: PERMISSIONS.readEmailTemplates,\n },\n {\n intlLabel: {\n id: getTrad('HeaderNav.link.advancedSettings'),\n defaultMessage: 'Advanced Settings',\n },\n id: 'advanced-settings',\n to: `users-permissions/advanced-settings`,\n Component: () =>\n import('./pages/AdvancedSettings').then((mod) => ({\n default: mod.ProtectedAdvancedSettingsPage,\n })),\n permissions: PERMISSIONS.readAdvancedSettings,\n },\n ]\n );\n\n app.registerPlugin({\n id: 'users-permissions',\n name,\n });\n },\n bootstrap() {},\n async registerTrads({ locales }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'users-permissions'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n"],"names":["pluginId"],"mappings":"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"}
@@ -2,22 +2,21 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
+ const indexD4QvcqXm = require("./index-D4QvcqXm-HpyyuCo7.js");
5
6
  const designSystem = require("@strapi/design-system");
6
- const helperPlugin = require("@strapi/helper-plugin");
7
7
  const icons = require("@strapi/icons");
8
+ const admin = require("@strapi/strapi/admin");
8
9
  const upperFirst = require("lodash/upperFirst");
9
10
  const reactIntl = require("react-intl");
10
11
  const reactQuery = require("react-query");
11
- const v2 = require("@strapi/design-system/v2");
12
12
  const formik = require("formik");
13
13
  const PropTypes = require("prop-types");
14
- const index = require("./index-0mLL_8vR.js");
14
+ const index = require("./index-BteVBZ5H.js");
15
15
  require("lodash/isEmpty");
16
16
  const yup = require("yup");
17
17
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
18
18
  function _interopNamespace(e) {
19
- if (e && e.__esModule)
20
- return e;
19
+ if (e && e.__esModule) return e;
21
20
  const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
22
21
  if (e) {
23
22
  for (const k in e) {
@@ -60,48 +59,49 @@ const Input = ({
60
59
  { provider: providerToEditName, ...description.values }
61
60
  ) : "";
62
61
  if (type === "bool") {
63
- return /* @__PURE__ */ jsxRuntime.jsx(
64
- designSystem.ToggleInput,
65
- {
66
- "aria-label": name,
67
- checked: value,
68
- disabled,
69
- hint,
70
- label,
71
- name,
72
- offLabel: formatMessage({
73
- id: "app.components.ToggleCheckbox.off-label",
74
- defaultMessage: "Off"
75
- }),
76
- onLabel: formatMessage({
77
- id: "app.components.ToggleCheckbox.on-label",
78
- defaultMessage: "On"
79
- }),
80
- onChange: (e) => {
81
- onChange({ target: { name, value: e.target.checked } });
62
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { hint, name, children: [
63
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: label }),
64
+ /* @__PURE__ */ jsxRuntime.jsx(
65
+ designSystem.Toggle,
66
+ {
67
+ "aria-label": name,
68
+ checked: value,
69
+ disabled,
70
+ offLabel: formatMessage({
71
+ id: "app.components.ToggleCheckbox.off-label",
72
+ defaultMessage: "Off"
73
+ }),
74
+ onLabel: formatMessage({
75
+ id: "app.components.ToggleCheckbox.on-label",
76
+ defaultMessage: "On"
77
+ }),
78
+ onChange: (e) => {
79
+ onChange({ target: { name, value: e.target.checked } });
80
+ }
82
81
  }
83
- }
84
- );
82
+ ),
83
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Hint, {})
84
+ ] });
85
85
  }
86
86
  const formattedPlaceholder = placeholder ? formatMessage(
87
87
  { id: placeholder.id, defaultMessage: placeholder.defaultMessage },
88
88
  { ...placeholder.values }
89
89
  ) : "";
90
90
  const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : "";
91
- return /* @__PURE__ */ jsxRuntime.jsx(
92
- designSystem.TextInput,
93
- {
94
- "aria-label": name,
95
- disabled,
96
- error: errorMessage,
97
- label,
98
- name,
99
- onChange,
100
- placeholder: formattedPlaceholder,
101
- type,
102
- value: inputValue
103
- }
104
- );
91
+ return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Field.Root, { error: errorMessage, name, children: [
92
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Label, { children: label }),
93
+ /* @__PURE__ */ jsxRuntime.jsx(
94
+ designSystem.TextInput,
95
+ {
96
+ disabled,
97
+ onChange,
98
+ placeholder: formattedPlaceholder,
99
+ type,
100
+ value: inputValue
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Field.Error, {})
104
+ ] });
105
105
  };
106
106
  Input.defaultProps = {
107
107
  description: null,
@@ -145,11 +145,8 @@ const FormModal = ({
145
145
  providerToEditName
146
146
  }) => {
147
147
  const { formatMessage } = reactIntl.useIntl();
148
- if (!isOpen) {
149
- return null;
150
- }
151
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { onClose: onToggle, labelledBy: "title", children: [
152
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(v2.Breadcrumbs, { label: headerBreadcrumbs.join(", "), children: headerBreadcrumbs.map((crumb, index2, arr) => /* @__PURE__ */ jsxRuntime.jsx(v2.Crumb, { isCurrent: index2 === arr.length - 1, children: crumb }, crumb)) }) }),
148
+ return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open: isOpen, onOpenChange: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
149
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Breadcrumbs, { label: headerBreadcrumbs.join(", "), children: headerBreadcrumbs.map((crumb, index2, arr) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Crumb, { isCurrent: index2 === arr.length - 1, children: crumb }, crumb)) }) }),
153
150
  /* @__PURE__ */ jsxRuntime.jsx(
154
151
  formik.Formik,
155
152
  {
@@ -158,36 +155,43 @@ const FormModal = ({
158
155
  validationSchema: layout.schema,
159
156
  validateOnChange: false,
160
157
  children: ({ errors, handleChange, values }) => {
161
- return /* @__PURE__ */ jsxRuntime.jsxs(helperPlugin.Form, { children: [
162
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid, { gap: 5, children: layout.form.map((row) => {
158
+ return /* @__PURE__ */ jsxRuntime.jsxs(formik.Form, { children: [
159
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 1, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 5, children: layout.form.map((row) => {
163
160
  return row.map((input) => {
164
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.GridItem, { col: input.size, xs: 12, children: /* @__PURE__ */ jsxRuntime.jsx(
165
- Input,
161
+ return /* @__PURE__ */ jsxRuntime.jsx(
162
+ designSystem.Grid.Item,
166
163
  {
167
- ...input,
168
- error: errors[input.name],
169
- onChange: handleChange,
170
- value: values[input.name],
171
- providerToEditName
172
- }
173
- ) }, input.name);
164
+ col: input.size,
165
+ xs: 12,
166
+ direction: "column",
167
+ alignItems: "stretch",
168
+ children: /* @__PURE__ */ jsxRuntime.jsx(
169
+ Input,
170
+ {
171
+ ...input,
172
+ error: errors[input.name],
173
+ onChange: handleChange,
174
+ value: values[input.name],
175
+ providerToEditName
176
+ }
177
+ )
178
+ },
179
+ input.name
180
+ );
174
181
  });
175
182
  }) }) }) }),
176
- /* @__PURE__ */ jsxRuntime.jsx(
177
- designSystem.ModalFooter,
178
- {
179
- startActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: onToggle, type: "button", children: formatMessage({
180
- id: "app.components.Button.cancel",
181
- defaultMessage: "Cancel"
182
- }) }),
183
- endActions: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", loading: isSubmiting, children: formatMessage({ id: "global.save", defaultMessage: "Save" }) })
184
- }
185
- )
183
+ /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
184
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", onClick: onToggle, type: "button", children: formatMessage({
185
+ id: "app.components.Button.cancel",
186
+ defaultMessage: "Cancel"
187
+ }) }),
188
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { type: "submit", loading: isSubmiting, children: formatMessage({ id: "global.save", defaultMessage: "Save" }) })
189
+ ] })
186
190
  ] });
187
191
  }
188
192
  }
189
193
  )
190
- ] });
194
+ ] }) });
191
195
  };
192
196
  FormModal.defaultProps = {
193
197
  initialData: null,
@@ -235,6 +239,8 @@ const secretLabel = {
235
239
  id: index.getTrad("PopUpForm.Providers.secret.label"),
236
240
  defaultMessage: "Client Secret"
237
241
  };
242
+ const CALLBACK_REGEX = /^$|^[a-z][a-z0-9+.-]*:\/\/[^\s/$.?#](?:[^\s]*[^\s/$.?#])?$/i;
243
+ const SUBDOMAIN_REGEX = /^(([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+)(:\d+)?(\/\S*)?$/i;
238
244
  const forms = {
239
245
  email: {
240
246
  form: [
@@ -253,7 +259,7 @@ const forms = {
253
259
  ]
254
260
  ],
255
261
  schema: yup__namespace.object().shape({
256
- enabled: yup__namespace.bool().required(helperPlugin.translatedErrors.required)
262
+ enabled: yup__namespace.bool().required(admin.translatedErrors.required.id)
257
263
  })
258
264
  },
259
265
  providers: {
@@ -318,20 +324,20 @@ const forms = {
318
324
  ]
319
325
  ],
320
326
  schema: yup__namespace.object().shape({
321
- enabled: yup__namespace.bool().required(helperPlugin.translatedErrors.required),
327
+ enabled: yup__namespace.bool().required(admin.translatedErrors.required.id),
322
328
  key: yup__namespace.string().when("enabled", {
323
329
  is: true,
324
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
330
+ then: yup__namespace.string().required(admin.translatedErrors.required.id),
325
331
  otherwise: yup__namespace.string()
326
332
  }),
327
333
  secret: yup__namespace.string().when("enabled", {
328
334
  is: true,
329
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
335
+ then: yup__namespace.string().required(admin.translatedErrors.required.id),
330
336
  otherwise: yup__namespace.string()
331
337
  }),
332
338
  callback: yup__namespace.string().when("enabled", {
333
339
  is: true,
334
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
340
+ then: yup__namespace.string().matches(CALLBACK_REGEX, admin.translatedErrors.regex.id).required(admin.translatedErrors.required.id),
335
341
  otherwise: yup__namespace.string()
336
342
  })
337
343
  })
@@ -431,25 +437,25 @@ const forms = {
431
437
  ]
432
438
  ],
433
439
  schema: yup__namespace.object().shape({
434
- enabled: yup__namespace.bool().required(helperPlugin.translatedErrors.required),
440
+ enabled: yup__namespace.bool().required(admin.translatedErrors.required.id),
435
441
  key: yup__namespace.string().when("enabled", {
436
442
  is: true,
437
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
443
+ then: yup__namespace.string().required(admin.translatedErrors.required.id),
438
444
  otherwise: yup__namespace.string()
439
445
  }),
440
446
  secret: yup__namespace.string().when("enabled", {
441
447
  is: true,
442
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
448
+ then: yup__namespace.string().required(admin.translatedErrors.required.id),
443
449
  otherwise: yup__namespace.string()
444
450
  }),
445
451
  subdomain: yup__namespace.string().when("enabled", {
446
452
  is: true,
447
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
453
+ then: yup__namespace.string().matches(SUBDOMAIN_REGEX, admin.translatedErrors.regex.id).required(admin.translatedErrors.required.id),
448
454
  otherwise: yup__namespace.string()
449
455
  }),
450
456
  callback: yup__namespace.string().when("enabled", {
451
457
  is: true,
452
- then: yup__namespace.string().required(helperPlugin.translatedErrors.required),
458
+ then: yup__namespace.string().matches(CALLBACK_REGEX, admin.translatedErrors.regex.id).required(admin.translatedErrors.required.id),
453
459
  otherwise: yup__namespace.string()
454
460
  })
455
461
  })
@@ -458,21 +464,19 @@ const forms = {
458
464
  const ProvidersPage = () => {
459
465
  const { formatMessage, locale } = reactIntl.useIntl();
460
466
  const queryClient = reactQuery.useQueryClient();
461
- const { trackUsage } = helperPlugin.useTracking();
467
+ const { trackUsage } = indexD4QvcqXm.useTracking();
462
468
  const [isOpen, setIsOpen] = React__namespace.useState(false);
463
469
  const [providerToEditName, setProviderToEditName] = React__namespace.useState(null);
464
- const toggleNotification = helperPlugin.useNotification();
465
- const { lockApp, unlockApp } = helperPlugin.useOverlayBlocker();
466
- const { get, put } = helperPlugin.useFetchClient();
467
- const { formatAPIError } = helperPlugin.useAPIErrorHandler();
468
- const formatter = helperPlugin.useCollator(locale, {
470
+ const { toggleNotification } = admin.useNotification();
471
+ const { get, put } = admin.useFetchClient();
472
+ const { formatAPIError } = admin.useAPIErrorHandler();
473
+ const formatter = designSystem.useCollator(locale, {
469
474
  sensitivity: "base"
470
475
  });
471
- helperPlugin.useFocusWhenNavigate();
472
476
  const {
473
477
  isLoading: isLoadingPermissions,
474
478
  allowedActions: { canUpdate }
475
- } = helperPlugin.useRBAC({ update: index.PERMISSIONS.updateProviders });
479
+ } = admin.useRBAC({ update: index.PERMISSIONS.updateProviders });
476
480
  const { isLoading: isLoadingData, data } = reactQuery.useQuery(
477
481
  ["users-permissions", "get-providers"],
478
482
  async () => {
@@ -485,21 +489,19 @@ const ProvidersPage = () => {
485
489
  );
486
490
  const submitMutation = reactQuery.useMutation((body) => put("/users-permissions/providers", body), {
487
491
  async onSuccess() {
488
- await queryClient.invalidateQueries(["users-permissions", "providers"]);
492
+ await queryClient.invalidateQueries(["users-permissions", "get-providers"]);
489
493
  toggleNotification({
490
494
  type: "success",
491
- message: { id: index.getTrad("notification.success.submit") }
495
+ message: formatMessage({ id: index.getTrad("notification.success.submit") })
492
496
  });
493
497
  trackUsage("didEditAuthenticationProvider");
494
498
  handleToggleModal();
495
- unlockApp();
496
499
  },
497
500
  onError(error) {
498
501
  toggleNotification({
499
- type: "warning",
502
+ type: "danger",
500
503
  message: formatAPIError(error)
501
504
  });
502
- unlockApp();
503
505
  },
504
506
  refetchActive: false
505
507
  });
@@ -540,23 +542,25 @@ const ProvidersPage = () => {
540
542
  }
541
543
  };
542
544
  const handleSubmit = async (values) => {
543
- lockApp();
544
545
  trackUsage("willEditAuthenticationProvider");
545
546
  submitMutation.mutate({ providers: { ...data, [providerToEditName]: values } });
546
547
  };
547
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Layout, { children: [
548
- /* @__PURE__ */ jsxRuntime.jsx(
549
- helperPlugin.SettingsPageTitle,
548
+ if (isLoading) {
549
+ return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Loading, {});
550
+ }
551
+ return /* @__PURE__ */ jsxRuntime.jsxs(indexD4QvcqXm.Layouts.Root, { children: [
552
+ /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Title, { children: formatMessage(
553
+ { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
550
554
  {
551
555
  name: formatMessage({
552
556
  id: index.getTrad("HeaderNav.link.providers"),
553
557
  defaultMessage: "Providers"
554
558
  })
555
559
  }
556
- ),
557
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Main, { children: [
560
+ ) }),
561
+ /* @__PURE__ */ jsxRuntime.jsxs(admin.Page.Main, { children: [
558
562
  /* @__PURE__ */ jsxRuntime.jsx(
559
- designSystem.HeaderLayout,
563
+ indexD4QvcqXm.Layouts.Header,
560
564
  {
561
565
  title: formatMessage({
562
566
  id: index.getTrad("HeaderNav.link.providers"),
@@ -564,7 +568,7 @@ const ProvidersPage = () => {
564
568
  })
565
569
  }
566
570
  ),
567
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.LoadingIndicatorPage, {}) : /* @__PURE__ */ jsxRuntime.jsx(designSystem.ContentLayout, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount: 3, rowCount: providers.length + 1, children: [
571
+ /* @__PURE__ */ jsxRuntime.jsx(indexD4QvcqXm.Layouts.Content, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount: 3, rowCount: providers.length + 1, children: [
568
572
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Thead, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
569
573
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({ id: "global.name", defaultMessage: "Name" }) }) }),
570
574
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({ id: index.getTrad("Providers.status"), defaultMessage: "Status" }) }) }),
@@ -576,10 +580,7 @@ const ProvidersPage = () => {
576
580
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Tbody, { children: providers.map((provider) => /* @__PURE__ */ jsxRuntime.jsxs(
577
581
  designSystem.Tr,
578
582
  {
579
- ...helperPlugin.onRowClick({
580
- fn: () => handleClickEdit(provider),
581
- condition: canUpdate
582
- }),
583
+ onClick: () => canUpdate ? handleClickEdit(provider) : void 0,
583
584
  children: [
584
585
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "45%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", textColor: "neutral800", children: provider.name }) }),
585
586
  /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { width: "65%", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -596,13 +597,13 @@ const ProvidersPage = () => {
596
597
  })
597
598
  }
598
599
  ) }),
599
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { ...helperPlugin.stopPropagation, children: canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
600
+ /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: canUpdate && /* @__PURE__ */ jsxRuntime.jsx(
600
601
  designSystem.IconButton,
601
602
  {
602
603
  onClick: () => handleClickEdit(provider),
603
- noBorder: true,
604
- icon: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {}),
605
- label: "Edit"
604
+ variant: "ghost",
605
+ label: "Edit",
606
+ children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
606
607
  }
607
608
  ) })
608
609
  ]
@@ -632,7 +633,7 @@ const ProvidersPage = () => {
632
633
  )
633
634
  ] });
634
635
  };
635
- const ProtectedProvidersPage = () => /* @__PURE__ */ jsxRuntime.jsx(helperPlugin.CheckPagePermissions, { permissions: index.PERMISSIONS.readProviders, children: /* @__PURE__ */ jsxRuntime.jsx(ProvidersPage, {}) });
636
+ const ProtectedProvidersPage = () => /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Protect, { permissions: index.PERMISSIONS.readProviders, children: /* @__PURE__ */ jsxRuntime.jsx(ProvidersPage, {}) });
636
637
  exports.ProvidersPage = ProvidersPage;
637
638
  exports.default = ProtectedProvidersPage;
638
- //# sourceMappingURL=index-ocoaOzEA.js.map
639
+ //# sourceMappingURL=index-Dd0JjBda.js.map