@strapi/plugin-users-permissions 0.0.0-next.fc231041206e6f3999b094160cfa05db2892ad54 → 0.0.0-next.fc9d26d995624dc886b29f563e1de655d47e6609

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 (310) hide show
  1. package/.eslintignore +2 -1
  2. package/LICENSE +18 -3
  3. package/admin/src/components/BoundRoute/index.jsx +3 -3
  4. package/admin/src/components/FormModal/Input/index.jsx +33 -32
  5. package/admin/src/components/FormModal/index.jsx +58 -69
  6. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.jsx +4 -3
  7. package/admin/src/components/Permissions/PermissionRow/SubCategory.jsx +13 -22
  8. package/admin/src/components/Permissions/index.jsx +27 -35
  9. package/admin/src/components/Permissions/reducer.js +1 -1
  10. package/admin/src/components/Policies/index.jsx +8 -6
  11. package/admin/src/components/UsersPermissions/index.jsx +15 -7
  12. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  13. package/admin/src/index.js +17 -34
  14. package/admin/src/pages/AdvancedSettings/index.jsx +84 -129
  15. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  16. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  17. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +120 -140
  18. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +21 -18
  19. package/admin/src/pages/EmailTemplates/index.jsx +36 -62
  20. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  21. package/admin/src/pages/Providers/index.jsx +98 -113
  22. package/admin/src/pages/Providers/utils/forms.js +23 -11
  23. package/admin/src/pages/Roles/constants.js +3 -3
  24. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  25. package/admin/src/pages/Roles/index.jsx +10 -19
  26. package/admin/src/pages/Roles/pages/CreatePage.jsx +53 -58
  27. package/admin/src/pages/Roles/pages/EditPage.jsx +63 -68
  28. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +28 -32
  29. package/admin/src/pages/Roles/pages/ListPage/index.jsx +79 -55
  30. package/admin/src/pluginId.js +2 -2
  31. package/admin/src/translations/en.json +1 -1
  32. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  33. package/dist/admin/chunks/ar-BJwjobLp.js +45 -0
  34. package/dist/admin/chunks/ar-BJwjobLp.js.map +1 -0
  35. package/dist/admin/chunks/ar-G6bUGuUb.js +43 -0
  36. package/dist/admin/chunks/ar-G6bUGuUb.js.map +1 -0
  37. package/dist/admin/chunks/cs-Bu59JqhG.js +49 -0
  38. package/dist/admin/chunks/cs-Bu59JqhG.js.map +1 -0
  39. package/dist/admin/chunks/cs-uS_SIEo8.js +51 -0
  40. package/dist/admin/chunks/cs-uS_SIEo8.js.map +1 -0
  41. package/dist/admin/chunks/de-7MVMrqqI.js +63 -0
  42. package/dist/admin/chunks/de-7MVMrqqI.js.map +1 -0
  43. package/dist/admin/chunks/de-B81A69_5.js +61 -0
  44. package/dist/admin/chunks/de-B81A69_5.js.map +1 -0
  45. package/dist/admin/chunks/dk-BaelzvBE.js +85 -0
  46. package/dist/admin/chunks/dk-BaelzvBE.js.map +1 -0
  47. package/dist/admin/chunks/dk-DwCLGmy9.js +87 -0
  48. package/dist/admin/chunks/dk-DwCLGmy9.js.map +1 -0
  49. package/dist/admin/chunks/en-BhgCBe7M.js +85 -0
  50. package/dist/admin/chunks/en-BhgCBe7M.js.map +1 -0
  51. package/dist/admin/chunks/en-DwQjkHi_.js +87 -0
  52. package/dist/admin/chunks/en-DwQjkHi_.js.map +1 -0
  53. package/dist/admin/chunks/es-B0wXmvRj.js +85 -0
  54. package/dist/admin/chunks/es-B0wXmvRj.js.map +1 -0
  55. package/dist/admin/chunks/es-BOJOedG5.js +87 -0
  56. package/dist/admin/chunks/es-BOJOedG5.js.map +1 -0
  57. package/dist/admin/chunks/fr-BDNWCNs0.js +51 -0
  58. package/dist/admin/chunks/fr-BDNWCNs0.js.map +1 -0
  59. package/dist/admin/chunks/fr-CGYvGUXg.js +49 -0
  60. package/dist/admin/chunks/fr-CGYvGUXg.js.map +1 -0
  61. package/dist/admin/chunks/id-CNzbwFjA.js +61 -0
  62. package/dist/admin/chunks/id-CNzbwFjA.js.map +1 -0
  63. package/dist/admin/chunks/id-UqUPykHZ.js +63 -0
  64. package/dist/admin/chunks/id-UqUPykHZ.js.map +1 -0
  65. package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
  66. package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
  67. package/dist/admin/chunks/index-BtYUb_br.js +741 -0
  68. package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
  69. package/dist/admin/chunks/index-CkYplz_3.js +301 -0
  70. package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
  71. package/dist/admin/chunks/index-CxiKMwJn.js +279 -0
  72. package/dist/admin/chunks/index-CxiKMwJn.js.map +1 -0
  73. package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
  74. package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
  75. package/dist/admin/chunks/index-DAclA-0k.js +217 -0
  76. package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
  77. package/dist/admin/chunks/index-DG6Abn44.js +213 -0
  78. package/dist/admin/chunks/index-DG6Abn44.js.map +1 -0
  79. package/dist/admin/chunks/index-De_N0gr1.js +448 -0
  80. package/dist/admin/chunks/index-De_N0gr1.js.map +1 -0
  81. package/dist/admin/chunks/index-DgONbTcJ.js +718 -0
  82. package/dist/admin/chunks/index-DgONbTcJ.js.map +1 -0
  83. package/dist/admin/chunks/index-xVVRcuDA.js +1516 -0
  84. package/dist/admin/chunks/index-xVVRcuDA.js.map +1 -0
  85. package/dist/admin/chunks/it-B2H2foTf.js +61 -0
  86. package/dist/admin/chunks/it-B2H2foTf.js.map +1 -0
  87. package/dist/admin/chunks/it-D5VuyoLU.js +63 -0
  88. package/dist/admin/chunks/it-D5VuyoLU.js.map +1 -0
  89. package/dist/admin/chunks/ja-C0z9d7L9.js +47 -0
  90. package/dist/admin/chunks/ja-C0z9d7L9.js.map +1 -0
  91. package/dist/admin/chunks/ja-MpqVsCgs.js +49 -0
  92. package/dist/admin/chunks/ja-MpqVsCgs.js.map +1 -0
  93. package/dist/admin/chunks/ko-Bm-grPSc.js +87 -0
  94. package/dist/admin/chunks/ko-Bm-grPSc.js.map +1 -0
  95. package/dist/admin/chunks/ko-CzUgzpeS.js +85 -0
  96. package/dist/admin/chunks/ko-CzUgzpeS.js.map +1 -0
  97. package/dist/admin/chunks/ms-CCacxjim.js +48 -0
  98. package/dist/admin/chunks/ms-CCacxjim.js.map +1 -0
  99. package/dist/admin/chunks/ms-D7eyBD5H.js +50 -0
  100. package/dist/admin/chunks/ms-D7eyBD5H.js.map +1 -0
  101. package/dist/admin/chunks/nl-BIOwAQtI.js +49 -0
  102. package/dist/admin/chunks/nl-BIOwAQtI.js.map +1 -0
  103. package/dist/admin/chunks/nl-DDC3nZW-.js +47 -0
  104. package/dist/admin/chunks/nl-DDC3nZW-.js.map +1 -0
  105. package/dist/admin/chunks/pl-D5BeNrg_.js +87 -0
  106. package/dist/admin/chunks/pl-D5BeNrg_.js.map +1 -0
  107. package/dist/admin/chunks/pl-XkS463rN.js +85 -0
  108. package/dist/admin/chunks/pl-XkS463rN.js.map +1 -0
  109. package/dist/admin/chunks/pt-BR-8cC7z8Km.js +43 -0
  110. package/dist/admin/chunks/pt-BR-8cC7z8Km.js.map +1 -0
  111. package/dist/admin/chunks/pt-BR-DxPBzQGx.js +45 -0
  112. package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +1 -0
  113. package/dist/admin/chunks/pt-DQpEvio8.js +47 -0
  114. package/dist/admin/chunks/pt-DQpEvio8.js.map +1 -0
  115. package/dist/admin/chunks/pt-kkCwzNvH.js +49 -0
  116. package/dist/admin/chunks/pt-kkCwzNvH.js.map +1 -0
  117. package/dist/admin/chunks/ru-BQ0gHmp3.js +87 -0
  118. package/dist/admin/chunks/ru-BQ0gHmp3.js.map +1 -0
  119. package/dist/admin/chunks/ru-nzL_7Mhg.js +85 -0
  120. package/dist/admin/chunks/ru-nzL_7Mhg.js.map +1 -0
  121. package/dist/admin/chunks/sk-Ddxc_tZA.js +49 -0
  122. package/dist/admin/chunks/sk-Ddxc_tZA.js.map +1 -0
  123. package/dist/admin/chunks/sk-nVwAPdYC.js +51 -0
  124. package/dist/admin/chunks/sk-nVwAPdYC.js.map +1 -0
  125. package/dist/admin/chunks/sv-BDfk2A-F.js +87 -0
  126. package/dist/admin/chunks/sv-BDfk2A-F.js.map +1 -0
  127. package/dist/admin/chunks/sv-By3RYpMG.js +85 -0
  128. package/dist/admin/chunks/sv-By3RYpMG.js.map +1 -0
  129. package/dist/admin/chunks/th-BtTtpHe2.js +61 -0
  130. package/dist/admin/chunks/th-BtTtpHe2.js.map +1 -0
  131. package/dist/admin/chunks/th-COl50vqb.js +59 -0
  132. package/dist/admin/chunks/th-COl50vqb.js.map +1 -0
  133. package/dist/admin/chunks/tr-80SJU6jg.js +84 -0
  134. package/dist/admin/chunks/tr-80SJU6jg.js.map +1 -0
  135. package/dist/admin/chunks/tr-Di-Nf7cT.js +86 -0
  136. package/dist/admin/chunks/tr-Di-Nf7cT.js.map +1 -0
  137. package/dist/admin/chunks/uk-CggQOx1l.js +50 -0
  138. package/dist/admin/chunks/uk-CggQOx1l.js.map +1 -0
  139. package/dist/admin/chunks/uk-D8JHuzch.js +48 -0
  140. package/dist/admin/chunks/uk-D8JHuzch.js.map +1 -0
  141. package/dist/admin/chunks/vi-69AF03Iv.js +49 -0
  142. package/dist/admin/chunks/vi-69AF03Iv.js.map +1 -0
  143. package/dist/admin/chunks/vi-D9cCsHsU.js +51 -0
  144. package/dist/admin/chunks/vi-D9cCsHsU.js.map +1 -0
  145. package/dist/admin/chunks/zh-BzSkqxo-.js +85 -0
  146. package/dist/admin/chunks/zh-BzSkqxo-.js.map +1 -0
  147. package/dist/admin/chunks/zh-BzWgJEzz.js +87 -0
  148. package/dist/admin/chunks/zh-BzWgJEzz.js.map +1 -0
  149. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js +87 -0
  150. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +1 -0
  151. package/dist/admin/chunks/zh-Hans-DmDcSsp7.js +85 -0
  152. package/dist/admin/chunks/zh-Hans-DmDcSsp7.js.map +1 -0
  153. package/dist/admin/index.js +6 -3
  154. package/dist/admin/index.js.map +1 -1
  155. package/dist/admin/index.mjs +1 -5
  156. package/dist/admin/index.mjs.map +1 -1
  157. package/dist/server/index.js +4739 -0
  158. package/dist/server/index.js.map +1 -0
  159. package/dist/server/index.mjs +4737 -0
  160. package/dist/server/index.mjs.map +1 -0
  161. package/package.json +31 -32
  162. package/rollup.config.mjs +52 -0
  163. package/server/bootstrap/index.js +18 -51
  164. package/server/bootstrap/users-permissions-actions.js +6 -0
  165. package/server/config.js +29 -0
  166. package/server/content-types/user/index.js +0 -1
  167. package/server/controllers/auth.js +63 -64
  168. package/server/controllers/content-manager-user.js +28 -30
  169. package/server/controllers/role.js +17 -4
  170. package/server/controllers/user.js +8 -9
  171. package/server/controllers/validation/auth.js +81 -25
  172. package/server/graphql/types/index.js +1 -0
  173. package/server/graphql/types/me.js +1 -0
  174. package/server/graphql/types/user-input.js +20 -0
  175. package/server/middlewares/rateLimit.js +1 -1
  176. package/server/register.js +2 -2
  177. package/server/services/jwt.js +3 -3
  178. package/server/services/permission.js +3 -7
  179. package/server/services/providers-registry.js +468 -275
  180. package/server/services/providers.js +10 -5
  181. package/server/services/role.js +15 -13
  182. package/server/services/user.js +56 -19
  183. package/server/services/users-permissions.js +15 -13
  184. package/server/utils/index.d.ts +2 -1
  185. package/server/utils/sanitize/sanitizers.js +7 -3
  186. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  187. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  188. package/dist/_chunks/ar-MvD8Ghac.mjs +0 -44
  189. package/dist/_chunks/ar-MvD8Ghac.mjs.map +0 -1
  190. package/dist/_chunks/ar-t5qTFaAD.js +0 -44
  191. package/dist/_chunks/ar-t5qTFaAD.js.map +0 -1
  192. package/dist/_chunks/cs-BMuXwxA1.mjs +0 -50
  193. package/dist/_chunks/cs-BMuXwxA1.mjs.map +0 -1
  194. package/dist/_chunks/cs-I8N4u-Sd.js +0 -50
  195. package/dist/_chunks/cs-I8N4u-Sd.js.map +0 -1
  196. package/dist/_chunks/de-YTjtq89K.js +0 -62
  197. package/dist/_chunks/de-YTjtq89K.js.map +0 -1
  198. package/dist/_chunks/de-zs2qqc0W.mjs +0 -62
  199. package/dist/_chunks/de-zs2qqc0W.mjs.map +0 -1
  200. package/dist/_chunks/dk-HctVBMsG.mjs +0 -86
  201. package/dist/_chunks/dk-HctVBMsG.mjs.map +0 -1
  202. package/dist/_chunks/dk-TF-dWjzl.js +0 -86
  203. package/dist/_chunks/dk-TF-dWjzl.js.map +0 -1
  204. package/dist/_chunks/en-CE3wEy_c.mjs +0 -86
  205. package/dist/_chunks/en-CE3wEy_c.mjs.map +0 -1
  206. package/dist/_chunks/en-m608rMZx.js +0 -86
  207. package/dist/_chunks/en-m608rMZx.js.map +0 -1
  208. package/dist/_chunks/es-9381tih_.mjs +0 -86
  209. package/dist/_chunks/es-9381tih_.mjs.map +0 -1
  210. package/dist/_chunks/es-XBQsB8_9.js +0 -86
  211. package/dist/_chunks/es-XBQsB8_9.js.map +0 -1
  212. package/dist/_chunks/fr-6cz3U-IF.js +0 -50
  213. package/dist/_chunks/fr-6cz3U-IF.js.map +0 -1
  214. package/dist/_chunks/fr-CMSc77If.mjs +0 -50
  215. package/dist/_chunks/fr-CMSc77If.mjs.map +0 -1
  216. package/dist/_chunks/id-RJ934rq-.js +0 -62
  217. package/dist/_chunks/id-RJ934rq-.js.map +0 -1
  218. package/dist/_chunks/id-SDuyIkZa.mjs +0 -62
  219. package/dist/_chunks/id-SDuyIkZa.mjs.map +0 -1
  220. package/dist/_chunks/index-5-krOCaE.mjs +0 -250
  221. package/dist/_chunks/index-5-krOCaE.mjs.map +0 -1
  222. package/dist/_chunks/index-Aq7T7skI.js +0 -1191
  223. package/dist/_chunks/index-Aq7T7skI.js.map +0 -1
  224. package/dist/_chunks/index-LN8gSFZ3.mjs +0 -385
  225. package/dist/_chunks/index-LN8gSFZ3.mjs.map +0 -1
  226. package/dist/_chunks/index-RWAJu_-T.js +0 -407
  227. package/dist/_chunks/index-RWAJu_-T.js.map +0 -1
  228. package/dist/_chunks/index-SICvbeQf.mjs +0 -301
  229. package/dist/_chunks/index-SICvbeQf.mjs.map +0 -1
  230. package/dist/_chunks/index-YkMqn-9t.js +0 -249
  231. package/dist/_chunks/index-YkMqn-9t.js.map +0 -1
  232. package/dist/_chunks/index-_wwOOuf_.js +0 -320
  233. package/dist/_chunks/index-_wwOOuf_.js.map +0 -1
  234. package/dist/_chunks/index-dnfs8wOQ.js +0 -638
  235. package/dist/_chunks/index-dnfs8wOQ.js.map +0 -1
  236. package/dist/_chunks/index-l_QWM0NZ.mjs +0 -1159
  237. package/dist/_chunks/index-l_QWM0NZ.mjs.map +0 -1
  238. package/dist/_chunks/index-wiA9qAAp.mjs +0 -615
  239. package/dist/_chunks/index-wiA9qAAp.mjs.map +0 -1
  240. package/dist/_chunks/it-YhZOlM2X.js +0 -62
  241. package/dist/_chunks/it-YhZOlM2X.js.map +0 -1
  242. package/dist/_chunks/it-bvH7DgQo.mjs +0 -62
  243. package/dist/_chunks/it-bvH7DgQo.mjs.map +0 -1
  244. package/dist/_chunks/ja-o_-JPvQv.mjs +0 -48
  245. package/dist/_chunks/ja-o_-JPvQv.mjs.map +0 -1
  246. package/dist/_chunks/ja-xssHUXFv.js +0 -48
  247. package/dist/_chunks/ja-xssHUXFv.js.map +0 -1
  248. package/dist/_chunks/ko-C3mHUSJa.js +0 -86
  249. package/dist/_chunks/ko-C3mHUSJa.js.map +0 -1
  250. package/dist/_chunks/ko-XJbPSez_.mjs +0 -86
  251. package/dist/_chunks/ko-XJbPSez_.mjs.map +0 -1
  252. package/dist/_chunks/ms-II5Ea73J.mjs +0 -49
  253. package/dist/_chunks/ms-II5Ea73J.mjs.map +0 -1
  254. package/dist/_chunks/ms-d0hfg65Z.js +0 -49
  255. package/dist/_chunks/ms-d0hfg65Z.js.map +0 -1
  256. package/dist/_chunks/nl-TA7TfK_5.js +0 -48
  257. package/dist/_chunks/nl-TA7TfK_5.js.map +0 -1
  258. package/dist/_chunks/nl-vEy6TN0K.mjs +0 -48
  259. package/dist/_chunks/nl-vEy6TN0K.mjs.map +0 -1
  260. package/dist/_chunks/pl-0pUL9hdA.js +0 -86
  261. package/dist/_chunks/pl-0pUL9hdA.js.map +0 -1
  262. package/dist/_chunks/pl-2VowaFGt.mjs +0 -86
  263. package/dist/_chunks/pl-2VowaFGt.mjs.map +0 -1
  264. package/dist/_chunks/pt-BR-WNOhafR4.js +0 -44
  265. package/dist/_chunks/pt-BR-WNOhafR4.js.map +0 -1
  266. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs +0 -44
  267. package/dist/_chunks/pt-BR-sS1Xp3Jt.mjs.map +0 -1
  268. package/dist/_chunks/pt-Rf9W51IO.mjs +0 -48
  269. package/dist/_chunks/pt-Rf9W51IO.mjs.map +0 -1
  270. package/dist/_chunks/pt-guNR9Gax.js +0 -48
  271. package/dist/_chunks/pt-guNR9Gax.js.map +0 -1
  272. package/dist/_chunks/ru-X3BMXDds.js +0 -86
  273. package/dist/_chunks/ru-X3BMXDds.js.map +0 -1
  274. package/dist/_chunks/ru-qKHnd5or.mjs +0 -86
  275. package/dist/_chunks/ru-qKHnd5or.mjs.map +0 -1
  276. package/dist/_chunks/sk-NWPw1oTN.js +0 -50
  277. package/dist/_chunks/sk-NWPw1oTN.js.map +0 -1
  278. package/dist/_chunks/sk-_Ryr-eTT.mjs +0 -50
  279. package/dist/_chunks/sk-_Ryr-eTT.mjs.map +0 -1
  280. package/dist/_chunks/sv-76NnbB__.js +0 -86
  281. package/dist/_chunks/sv-76NnbB__.js.map +0 -1
  282. package/dist/_chunks/sv-BqzScFXS.mjs +0 -86
  283. package/dist/_chunks/sv-BqzScFXS.mjs.map +0 -1
  284. package/dist/_chunks/th-WsknMEpq.mjs +0 -60
  285. package/dist/_chunks/th-WsknMEpq.mjs.map +0 -1
  286. package/dist/_chunks/th-cbppX21D.js +0 -60
  287. package/dist/_chunks/th-cbppX21D.js.map +0 -1
  288. package/dist/_chunks/tr-6mm_Fmz7.js +0 -85
  289. package/dist/_chunks/tr-6mm_Fmz7.js.map +0 -1
  290. package/dist/_chunks/tr-_DB1F1GW.mjs +0 -85
  291. package/dist/_chunks/tr-_DB1F1GW.mjs.map +0 -1
  292. package/dist/_chunks/uk-sI2I1ogF.js +0 -49
  293. package/dist/_chunks/uk-sI2I1ogF.js.map +0 -1
  294. package/dist/_chunks/uk-yxMSQAwI.mjs +0 -49
  295. package/dist/_chunks/uk-yxMSQAwI.mjs.map +0 -1
  296. package/dist/_chunks/vi-A3zJxaiI.js +0 -50
  297. package/dist/_chunks/vi-A3zJxaiI.js.map +0 -1
  298. package/dist/_chunks/vi-xY0zCW3d.mjs +0 -50
  299. package/dist/_chunks/vi-xY0zCW3d.mjs.map +0 -1
  300. package/dist/_chunks/zh-72SpmFXa.js +0 -86
  301. package/dist/_chunks/zh-72SpmFXa.js.map +0 -1
  302. package/dist/_chunks/zh-Hans-ArWWtyP4.js +0 -86
  303. package/dist/_chunks/zh-Hans-ArWWtyP4.js.map +0 -1
  304. package/dist/_chunks/zh-Hans-E84cu4kP.mjs +0 -86
  305. package/dist/_chunks/zh-Hans-E84cu4kP.mjs.map +0 -1
  306. package/dist/_chunks/zh-OFeldzbX.mjs +0 -86
  307. package/dist/_chunks/zh-OFeldzbX.mjs.map +0 -1
  308. package/packup.config.ts +0 -22
  309. package/server/bootstrap/grant-config.js +0 -140
  310. package/strapi-server.js +0 -3
@@ -0,0 +1,49 @@
1
+ var fr = {
2
+ "BoundRoute.title": "Route associée à",
3
+ "EditForm.inputSelect.description.role": "Choisissez le rôle qui sera lié aux utilisateurs lors de leur enregistrement.",
4
+ "EditForm.inputSelect.label.role": "Rôle par defaut pour les nouveaux utilisateurs",
5
+ "EditForm.inputToggle.description.email": "Interdire l'utilisateur de créer de multiple comptes avec la même adresse e-mail avec des providers différents",
6
+ "EditForm.inputToggle.description.email-confirmation": "Quand cette option est activée (ON), les nouveaux utilisateurs enregistrés reçoivent un e-mail de confirmation.",
7
+ "EditForm.inputToggle.description.email-confirmation-redirection": "Après confirmation de votre e-mail, choisissez où vous allez être redirigé.",
8
+ "EditForm.inputToggle.description.email-reset-password": "URL de la page de réinitialisation de mot de passe.",
9
+ "EditForm.inputToggle.description.sign-up": "Quand l'inscription est désactivée (OFF), aucun utilisateur ne peut s'inscrire qu'importe le provider",
10
+ "EditForm.inputToggle.label.email": "Un compte par adresse e-mail",
11
+ "EditForm.inputToggle.label.email-confirmation": "Activer l'e-mail de confirmation",
12
+ "EditForm.inputToggle.label.email-confirmation-redirection": "Redirection de l'URL",
13
+ "EditForm.inputToggle.label.email-reset-password": "Page de réinitialisation de mot de passe",
14
+ "EditForm.inputToggle.label.sign-up": "Activer l'inscription",
15
+ "HeaderNav.link.advancedSettings": "Paramètres avancés",
16
+ "HeaderNav.link.emailTemplates": "Templates d'e-mail",
17
+ "HeaderNav.link.providers": "Fournisseurs",
18
+ "Plugin.permissions.plugins.description": "Définissez les actions autorisées dans le {name} plugin.",
19
+ "Plugins.header.description": "Sont listés uniquement les actions associées à une route.",
20
+ "Plugins.header.title": "Permissions",
21
+ "Policies.header.hint": "Sélectionnez les actions de l'application ou d'un plugin et cliquer sur l'icon de paramètres pour voir les routes associées à cette action",
22
+ "Policies.header.title": "Paramètres avancés",
23
+ "PopUpForm.Email.email_templates.inputDescription": "Regardez la documentation des variables, {link}",
24
+ "PopUpForm.Email.options.from.email.label": "E-mail de l'envoyeur",
25
+ "PopUpForm.Email.options.from.email.placeholder": "arthurdupont@gmail.com",
26
+ "PopUpForm.Email.options.from.name.label": "Nom de l'envoyeur",
27
+ "PopUpForm.Email.options.from.name.placeholder": "Arthur Dupont",
28
+ "PopUpForm.Email.options.message.label": "Message",
29
+ "PopUpForm.Email.options.object.label": "Objet",
30
+ "PopUpForm.Email.options.response_email.label": "E-mail de réponse",
31
+ "PopUpForm.Email.options.response_email.placeholder": "arthurdupont@gmail.com",
32
+ "PopUpForm.Providers.enabled.description": "S'il est désactivé les utilisateurs ne pourront pas utiliser ce provider.",
33
+ "PopUpForm.Providers.enabled.label": "Activer",
34
+ "PopUpForm.Providers.key.label": "Client ID",
35
+ "PopUpForm.Providers.key.placeholder": "TEXT",
36
+ "PopUpForm.Providers.redirectURL.front-end.label": "L'URL de redirection de votre app front-end",
37
+ "PopUpForm.Providers.secret.label": "Client Secret",
38
+ "PopUpForm.Providers.secret.placeholder": "TEXT",
39
+ "PopUpForm.Providers.subdomain.label": "Host URI (Subdomain)",
40
+ "PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
41
+ "PopUpForm.header.edit.email-templates": "Editer E-mail Templates",
42
+ "notification.success.submit": "Les configurations ont bien été sauvegardés",
43
+ "plugin.description.long": "Protégez votre API avec un système d'authentification complet basé sur JWT (JSON Web Token). Ce plugin ajoute aussi une stratégie ACL (Access Control Layer) qui vous permet de gérer les permissions entre les groupes d'utilisateurs.",
44
+ "plugin.description.short": "Protégez votre API avec un système d'authentification complet basé sur JWT.",
45
+ "plugin.name": "Rôles et autorisations"
46
+ };
47
+
48
+ export { fr as default };
49
+ //# sourceMappingURL=fr-CGYvGUXg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fr-CGYvGUXg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,61 @@
1
+ var id = {
2
+ "BoundRoute.title": "Rute terikat ke",
3
+ "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
4
+ "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
5
+ "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
6
+ "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
7
+ "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
8
+ "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
9
+ "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
10
+ "EditForm.inputToggle.label.email": "Satu akun per alamat email",
11
+ "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
12
+ "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
13
+ "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
14
+ "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
15
+ "Email.template.email_confirmation": "Konfirmasi alamat email",
16
+ "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
17
+ "HeaderNav.link.emailTemplates": "Template email",
18
+ "HeaderNav.link.providers": "Penyedia",
19
+ "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
20
+ "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
21
+ "Plugins.header.title": "Izin",
22
+ "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
23
+ "Policies.header.title": "Pengaturan lanjutan",
24
+ "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
25
+ "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
26
+ "PopUpForm.Email.options.from.email.label": "Email pengirim",
27
+ "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
28
+ "PopUpForm.Email.options.from.name.label": "Nama pengirim",
29
+ "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
30
+ "PopUpForm.Email.options.message.label": "Pesan",
31
+ "PopUpForm.Email.options.object.label": "Subyek",
32
+ "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
33
+ "PopUpForm.Email.options.response_email.label": "Email tanggapan",
34
+ "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
35
+ "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
36
+ "PopUpForm.Providers.enabled.label": "Memungkinkan",
37
+ "PopUpForm.Providers.key.label": "ID Klien",
38
+ "PopUpForm.Providers.key.placeholder": "TEKS",
39
+ "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
40
+ "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
41
+ "PopUpForm.Providers.secret.label": "Client Secret",
42
+ "PopUpForm.Providers.secret.placeholder": "TEKS",
43
+ "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
44
+ "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
45
+ "PopUpForm.header.edit.email-templates": "Edit Template Email",
46
+ "PopUpForm.header.edit.providers": "Edit Penyedia",
47
+ "Settings.roles.deleted": "Peran dihapus",
48
+ "Settings.roles.edited": "Peran diedit",
49
+ "Settings.section-label": "Plugin Pengguna & Izin",
50
+ "notification.success.submit": "Pengaturan telah diperbarui",
51
+ "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
52
+ "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
53
+ "plugin.name": "Plugin Pengguna & Izin",
54
+ "popUpWarning.button.cancel": "Batalkan",
55
+ "popUpWarning.button.confirm": "Konfirmasi",
56
+ "popUpWarning.title": "Harap konfirmasi",
57
+ "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
58
+ };
59
+
60
+ export { id as default };
61
+ //# sourceMappingURL=id-CNzbwFjA.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-CNzbwFjA.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var id = {
4
+ "BoundRoute.title": "Rute terikat ke",
5
+ "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
6
+ "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
7
+ "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
8
+ "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
9
+ "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
10
+ "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
11
+ "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
12
+ "EditForm.inputToggle.label.email": "Satu akun per alamat email",
13
+ "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
14
+ "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
15
+ "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
16
+ "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
17
+ "Email.template.email_confirmation": "Konfirmasi alamat email",
18
+ "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
19
+ "HeaderNav.link.emailTemplates": "Template email",
20
+ "HeaderNav.link.providers": "Penyedia",
21
+ "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
22
+ "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
23
+ "Plugins.header.title": "Izin",
24
+ "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
25
+ "Policies.header.title": "Pengaturan lanjutan",
26
+ "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
27
+ "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
28
+ "PopUpForm.Email.options.from.email.label": "Email pengirim",
29
+ "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
30
+ "PopUpForm.Email.options.from.name.label": "Nama pengirim",
31
+ "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
32
+ "PopUpForm.Email.options.message.label": "Pesan",
33
+ "PopUpForm.Email.options.object.label": "Subyek",
34
+ "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
35
+ "PopUpForm.Email.options.response_email.label": "Email tanggapan",
36
+ "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
37
+ "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
38
+ "PopUpForm.Providers.enabled.label": "Memungkinkan",
39
+ "PopUpForm.Providers.key.label": "ID Klien",
40
+ "PopUpForm.Providers.key.placeholder": "TEKS",
41
+ "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
42
+ "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
43
+ "PopUpForm.Providers.secret.label": "Client Secret",
44
+ "PopUpForm.Providers.secret.placeholder": "TEKS",
45
+ "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
46
+ "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
47
+ "PopUpForm.header.edit.email-templates": "Edit Template Email",
48
+ "PopUpForm.header.edit.providers": "Edit Penyedia",
49
+ "Settings.roles.deleted": "Peran dihapus",
50
+ "Settings.roles.edited": "Peran diedit",
51
+ "Settings.section-label": "Plugin Pengguna & Izin",
52
+ "notification.success.submit": "Pengaturan telah diperbarui",
53
+ "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
54
+ "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
55
+ "plugin.name": "Plugin Pengguna & Izin",
56
+ "popUpWarning.button.cancel": "Batalkan",
57
+ "popUpWarning.button.confirm": "Konfirmasi",
58
+ "popUpWarning.title": "Harap konfirmasi",
59
+ "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
60
+ };
61
+
62
+ exports.default = id;
63
+ //# sourceMappingURL=id-UqUPykHZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-UqUPykHZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,471 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var admin = require('@strapi/strapi/admin');
8
+ var reactIntl = require('react-intl');
9
+ var reactQuery = require('react-query');
10
+ var index = require('./index-DAclA-0k.js');
11
+ require('lodash/isEmpty');
12
+ var PropTypes = require('prop-types');
13
+ var yup = require('yup');
14
+ var icons = require('@strapi/icons');
15
+
16
+ function _interopNamespaceDefault(e) {
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
+ var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
35
+
36
+ const schema = yup__namespace.object().shape({
37
+ options: yup__namespace.object().shape({
38
+ from: yup__namespace.object().shape({
39
+ name: yup__namespace.string().required({
40
+ id: admin.translatedErrors.required.id,
41
+ defaultMessage: 'This field is required'
42
+ }),
43
+ email: yup__namespace.string().email(admin.translatedErrors.email).required({
44
+ id: admin.translatedErrors.required.id,
45
+ defaultMessage: 'This field is required'
46
+ })
47
+ }).required(),
48
+ response_email: yup__namespace.string().email(admin.translatedErrors.email),
49
+ object: yup__namespace.string().required({
50
+ id: admin.translatedErrors.required.id,
51
+ defaultMessage: 'This field is required'
52
+ }),
53
+ message: yup__namespace.string().required({
54
+ id: admin.translatedErrors.required.id,
55
+ defaultMessage: 'This field is required'
56
+ })
57
+ }).required(admin.translatedErrors.required.id)
58
+ });
59
+
60
+ const EmailForm = ({ template = {}, onToggle, open, onSubmit })=>{
61
+ const { formatMessage } = reactIntl.useIntl();
62
+ return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Root, {
63
+ open: open,
64
+ onOpenChange: onToggle,
65
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Content, {
66
+ children: [
67
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Header, {
68
+ children: [
69
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Breadcrumbs, {
70
+ label: `${formatMessage({
71
+ id: index.getTrad('PopUpForm.header.edit.email-templates'),
72
+ defaultMessage: 'Edit email template'
73
+ })}, ${template.display ? formatMessage({
74
+ id: index.getTrad(template.display),
75
+ defaultMessage: template.display
76
+ }) : ''}`,
77
+ children: [
78
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Crumb, {
79
+ children: formatMessage({
80
+ id: index.getTrad('PopUpForm.header.edit.email-templates'),
81
+ defaultMessage: 'Edit email template'
82
+ })
83
+ }),
84
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Crumb, {
85
+ isCurrent: true,
86
+ children: template.display ? formatMessage({
87
+ id: index.getTrad(template.display),
88
+ defaultMessage: template.display
89
+ }) : ''
90
+ })
91
+ ]
92
+ }),
93
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
94
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Title, {
95
+ children: `${formatMessage({
96
+ id: index.getTrad('PopUpForm.header.edit.email-templates'),
97
+ defaultMessage: 'Edit email template'
98
+ })}, ${template.display ? formatMessage({
99
+ id: index.getTrad(template.display),
100
+ defaultMessage: template.display
101
+ }) : ''}`
102
+ })
103
+ })
104
+ ]
105
+ }),
106
+ /*#__PURE__*/ jsxRuntime.jsx(admin.Form, {
107
+ onSubmit: onSubmit,
108
+ initialValues: template,
109
+ validationSchema: schema,
110
+ children: ({ isSubmitting })=>{
111
+ return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
112
+ children: [
113
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Body, {
114
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Root, {
115
+ gap: 5,
116
+ children: [
117
+ {
118
+ label: formatMessage({
119
+ id: index.getTrad('PopUpForm.Email.options.from.name.label'),
120
+ defaultMessage: 'Shipper name'
121
+ }),
122
+ name: 'options.from.name',
123
+ size: 6,
124
+ type: 'string'
125
+ },
126
+ {
127
+ label: formatMessage({
128
+ id: index.getTrad('PopUpForm.Email.options.from.email.label'),
129
+ defaultMessage: 'Shipper email'
130
+ }),
131
+ name: 'options.from.email',
132
+ size: 6,
133
+ type: 'string'
134
+ },
135
+ {
136
+ label: formatMessage({
137
+ id: index.getTrad('PopUpForm.Email.options.response_email.label'),
138
+ defaultMessage: 'Response email'
139
+ }),
140
+ name: 'options.response_email',
141
+ size: 6,
142
+ type: 'string'
143
+ },
144
+ {
145
+ label: formatMessage({
146
+ id: index.getTrad('PopUpForm.Email.options.object.label'),
147
+ defaultMessage: 'Subject'
148
+ }),
149
+ name: 'options.object',
150
+ size: 6,
151
+ type: 'string'
152
+ },
153
+ {
154
+ label: formatMessage({
155
+ id: index.getTrad('PopUpForm.Email.options.message.label'),
156
+ defaultMessage: 'Message'
157
+ }),
158
+ name: 'options.message',
159
+ size: 12,
160
+ type: 'text'
161
+ }
162
+ ].map(({ size, ...field })=>/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
163
+ col: size,
164
+ direction: "column",
165
+ alignItems: "stretch",
166
+ children: /*#__PURE__*/ jsxRuntime.jsx(admin.InputRenderer, {
167
+ ...field
168
+ })
169
+ }, field.name))
170
+ })
171
+ }),
172
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Modal.Footer, {
173
+ children: [
174
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Modal.Close, {
175
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
176
+ variant: "tertiary",
177
+ children: "Cancel"
178
+ })
179
+ }),
180
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
181
+ loading: isSubmitting,
182
+ type: "submit",
183
+ children: "Finish"
184
+ })
185
+ ]
186
+ })
187
+ ]
188
+ });
189
+ }
190
+ })
191
+ ]
192
+ })
193
+ });
194
+ };
195
+ EmailForm.defaultProps = {
196
+ template: {}
197
+ };
198
+ EmailForm.propTypes = {
199
+ template: PropTypes.shape({
200
+ display: PropTypes.string,
201
+ icon: PropTypes.string,
202
+ options: PropTypes.shape({
203
+ from: PropTypes.shape({
204
+ name: PropTypes.string,
205
+ email: PropTypes.string
206
+ }),
207
+ message: PropTypes.string,
208
+ object: PropTypes.string,
209
+ response_email: PropTypes.string
210
+ })
211
+ }),
212
+ open: PropTypes.bool.isRequired,
213
+ onSubmit: PropTypes.func.isRequired,
214
+ onToggle: PropTypes.func.isRequired
215
+ };
216
+
217
+ const EmailTable = ({ canUpdate, onEditClick })=>{
218
+ const { formatMessage } = reactIntl.useIntl();
219
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
220
+ colCount: 3,
221
+ rowCount: 3,
222
+ children: [
223
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Thead, {
224
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
225
+ children: [
226
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
227
+ width: "1%",
228
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
229
+ children: formatMessage({
230
+ id: index.getTrad('Email.template.table.icon.label'),
231
+ defaultMessage: 'icon'
232
+ })
233
+ })
234
+ }),
235
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
236
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
237
+ variant: "sigma",
238
+ textColor: "neutral600",
239
+ children: formatMessage({
240
+ id: index.getTrad('Email.template.table.name.label'),
241
+ defaultMessage: 'name'
242
+ })
243
+ })
244
+ }),
245
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
246
+ width: "1%",
247
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
248
+ children: formatMessage({
249
+ id: index.getTrad('Email.template.table.action.label'),
250
+ defaultMessage: 'action'
251
+ })
252
+ })
253
+ })
254
+ ]
255
+ })
256
+ }),
257
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tbody, {
258
+ children: [
259
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
260
+ cursor: "pointer",
261
+ onClick: ()=>onEditClick('reset_password'),
262
+ children: [
263
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
264
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
265
+ width: "3.2rem",
266
+ height: "3.2rem",
267
+ padding: "0.8rem",
268
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.ArrowClockwise, {
269
+ "aria-label": formatMessage({
270
+ id: 'global.reset-password',
271
+ defaultMessage: 'Reset password'
272
+ })
273
+ })
274
+ })
275
+ }),
276
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
277
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
278
+ children: formatMessage({
279
+ id: 'global.reset-password',
280
+ defaultMessage: 'Reset password'
281
+ })
282
+ })
283
+ }),
284
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
285
+ onClick: (e)=>e.stopPropagation(),
286
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
287
+ onClick: ()=>onEditClick('reset_password'),
288
+ label: formatMessage({
289
+ id: index.getTrad('Email.template.form.edit.label'),
290
+ defaultMessage: 'Edit a template'
291
+ }),
292
+ variant: "ghost",
293
+ disabled: !canUpdate,
294
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
295
+ })
296
+ })
297
+ ]
298
+ }),
299
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
300
+ cursor: "pointer",
301
+ onClick: ()=>onEditClick('email_confirmation'),
302
+ children: [
303
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
304
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
305
+ width: "3.2rem",
306
+ height: "3.2rem",
307
+ padding: "0.8rem",
308
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {
309
+ "aria-label": formatMessage({
310
+ id: index.getTrad('Email.template.email_confirmation'),
311
+ defaultMessage: 'Email address confirmation'
312
+ })
313
+ })
314
+ })
315
+ }),
316
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
317
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
318
+ children: formatMessage({
319
+ id: index.getTrad('Email.template.email_confirmation'),
320
+ defaultMessage: 'Email address confirmation'
321
+ })
322
+ })
323
+ }),
324
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
325
+ onClick: (e)=>e.stopPropagation(),
326
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
327
+ onClick: ()=>onEditClick('email_confirmation'),
328
+ label: formatMessage({
329
+ id: index.getTrad('Email.template.form.edit.label'),
330
+ defaultMessage: 'Edit a template'
331
+ }),
332
+ variant: "ghost",
333
+ disabled: !canUpdate,
334
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
335
+ })
336
+ })
337
+ ]
338
+ })
339
+ ]
340
+ })
341
+ ]
342
+ });
343
+ };
344
+ EmailTable.propTypes = {
345
+ canUpdate: PropTypes.bool.isRequired,
346
+ onEditClick: PropTypes.func.isRequired
347
+ };
348
+
349
+ const ProtectedEmailTemplatesPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
350
+ permissions: index.PERMISSIONS.readEmailTemplates,
351
+ children: /*#__PURE__*/ jsxRuntime.jsx(EmailTemplatesPage, {})
352
+ });
353
+ const EmailTemplatesPage = ()=>{
354
+ const { formatMessage } = reactIntl.useIntl();
355
+ const { trackUsage } = strapiAdmin.useTracking();
356
+ const { notifyStatus } = designSystem.useNotifyAT();
357
+ const { toggleNotification } = admin.useNotification();
358
+ const queryClient = reactQuery.useQueryClient();
359
+ const { get, put } = admin.useFetchClient();
360
+ const { formatAPIError } = admin.useAPIErrorHandler();
361
+ const [isModalOpen, setIsModalOpen] = React__namespace.useState(false);
362
+ const [templateToEdit, setTemplateToEdit] = React__namespace.useState(null);
363
+ const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = admin.useRBAC({
364
+ update: index.PERMISSIONS.updateEmailTemplates
365
+ });
366
+ const { isLoading: isLoadingData, data } = reactQuery.useQuery([
367
+ 'users-permissions',
368
+ 'email-templates'
369
+ ], async ()=>{
370
+ const { data } = await get('/users-permissions/email-templates');
371
+ return data;
372
+ }, {
373
+ onSuccess () {
374
+ notifyStatus(formatMessage({
375
+ id: index.getTrad('Email.template.data.loaded'),
376
+ defaultMessage: 'Email templates has been loaded'
377
+ }));
378
+ },
379
+ onError (error) {
380
+ toggleNotification({
381
+ type: 'danger',
382
+ message: formatAPIError(error)
383
+ });
384
+ }
385
+ });
386
+ const isLoading = isLoadingForPermissions || isLoadingData;
387
+ const handleToggle = ()=>{
388
+ setIsModalOpen((prev)=>!prev);
389
+ };
390
+ const handleEditClick = (template)=>{
391
+ setTemplateToEdit(template);
392
+ handleToggle();
393
+ };
394
+ const submitMutation = reactQuery.useMutation((body)=>put('/users-permissions/email-templates', {
395
+ 'email-templates': body
396
+ }), {
397
+ async onSuccess () {
398
+ await queryClient.invalidateQueries([
399
+ 'users-permissions',
400
+ 'email-templates'
401
+ ]);
402
+ toggleNotification({
403
+ type: 'success',
404
+ message: formatMessage({
405
+ id: 'notification.success.saved',
406
+ defaultMessage: 'Saved'
407
+ })
408
+ });
409
+ trackUsage('didEditEmailTemplates');
410
+ handleToggle();
411
+ },
412
+ onError (error) {
413
+ toggleNotification({
414
+ type: 'danger',
415
+ message: formatAPIError(error)
416
+ });
417
+ },
418
+ refetchActive: true
419
+ });
420
+ const handleSubmit = (body)=>{
421
+ trackUsage('willEditEmailTemplates');
422
+ const editedTemplates = {
423
+ ...data,
424
+ [templateToEdit]: body
425
+ };
426
+ submitMutation.mutate(editedTemplates);
427
+ };
428
+ if (isLoading) {
429
+ return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
430
+ }
431
+ return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
432
+ "aria-busy": submitMutation.isLoading,
433
+ children: [
434
+ /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
435
+ children: formatMessage({
436
+ id: 'Settings.PageTitle',
437
+ defaultMessage: 'Settings - {name}'
438
+ }, {
439
+ name: formatMessage({
440
+ id: index.getTrad('HeaderNav.link.emailTemplates'),
441
+ defaultMessage: 'Email templates'
442
+ })
443
+ })
444
+ }),
445
+ /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
446
+ title: formatMessage({
447
+ id: index.getTrad('HeaderNav.link.emailTemplates'),
448
+ defaultMessage: 'Email templates'
449
+ })
450
+ }),
451
+ /*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Content, {
452
+ children: [
453
+ /*#__PURE__*/ jsxRuntime.jsx(EmailTable, {
454
+ onEditClick: handleEditClick,
455
+ canUpdate: canUpdate
456
+ }),
457
+ /*#__PURE__*/ jsxRuntime.jsx(EmailForm, {
458
+ template: data[templateToEdit],
459
+ onToggle: handleToggle,
460
+ open: isModalOpen,
461
+ onSubmit: handleSubmit
462
+ })
463
+ ]
464
+ })
465
+ ]
466
+ });
467
+ };
468
+
469
+ exports.EmailTemplatesPage = EmailTemplatesPage;
470
+ exports.ProtectedEmailTemplatesPage = ProtectedEmailTemplatesPage;
471
+ //# sourceMappingURL=index-BPiDUOGt.js.map