@strapi/plugin-users-permissions 0.0.0-next.fc1775f7731f8999840e56e298a216b9a6c5c4ad → 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 (269) hide show
  1. package/.eslintignore +2 -1
  2. package/admin/src/components/BoundRoute/index.jsx +1 -1
  3. package/admin/src/components/FormModal/Input/index.jsx +1 -1
  4. package/admin/src/components/FormModal/index.jsx +1 -1
  5. package/admin/src/components/Policies/index.jsx +1 -1
  6. package/admin/src/index.js +2 -2
  7. package/admin/src/pages/AdvancedSettings/index.jsx +1 -1
  8. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +1 -1
  9. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +1 -1
  10. package/admin/src/pages/Roles/index.jsx +1 -1
  11. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +1 -1
  12. package/admin/src/pluginId.js +2 -2
  13. package/dist/admin/chunks/ar-BJwjobLp.js +45 -0
  14. package/dist/admin/chunks/ar-BJwjobLp.js.map +1 -0
  15. package/dist/admin/chunks/ar-G6bUGuUb.js +43 -0
  16. package/dist/admin/chunks/ar-G6bUGuUb.js.map +1 -0
  17. package/dist/admin/chunks/cs-Bu59JqhG.js +49 -0
  18. package/dist/admin/chunks/cs-Bu59JqhG.js.map +1 -0
  19. package/dist/admin/chunks/cs-uS_SIEo8.js +51 -0
  20. package/dist/admin/chunks/cs-uS_SIEo8.js.map +1 -0
  21. package/dist/admin/chunks/de-7MVMrqqI.js +63 -0
  22. package/dist/admin/chunks/de-7MVMrqqI.js.map +1 -0
  23. package/dist/admin/chunks/de-B81A69_5.js +61 -0
  24. package/dist/admin/chunks/de-B81A69_5.js.map +1 -0
  25. package/dist/admin/chunks/dk-BaelzvBE.js +85 -0
  26. package/dist/admin/chunks/dk-BaelzvBE.js.map +1 -0
  27. package/dist/admin/chunks/dk-DwCLGmy9.js +87 -0
  28. package/dist/admin/chunks/dk-DwCLGmy9.js.map +1 -0
  29. package/dist/admin/chunks/en-BhgCBe7M.js +85 -0
  30. package/dist/admin/chunks/en-BhgCBe7M.js.map +1 -0
  31. package/dist/admin/chunks/en-DwQjkHi_.js +87 -0
  32. package/dist/admin/chunks/en-DwQjkHi_.js.map +1 -0
  33. package/dist/admin/chunks/es-B0wXmvRj.js +85 -0
  34. package/dist/admin/chunks/es-B0wXmvRj.js.map +1 -0
  35. package/dist/admin/chunks/es-BOJOedG5.js +87 -0
  36. package/dist/admin/chunks/es-BOJOedG5.js.map +1 -0
  37. package/dist/admin/chunks/fr-BDNWCNs0.js +51 -0
  38. package/dist/admin/chunks/fr-BDNWCNs0.js.map +1 -0
  39. package/dist/admin/chunks/fr-CGYvGUXg.js +49 -0
  40. package/dist/admin/chunks/fr-CGYvGUXg.js.map +1 -0
  41. package/dist/admin/chunks/id-CNzbwFjA.js +61 -0
  42. package/dist/admin/chunks/id-CNzbwFjA.js.map +1 -0
  43. package/dist/admin/chunks/id-UqUPykHZ.js +63 -0
  44. package/dist/admin/chunks/id-UqUPykHZ.js.map +1 -0
  45. package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
  46. package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
  47. package/dist/admin/chunks/index-BtYUb_br.js +741 -0
  48. package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
  49. package/dist/admin/chunks/index-CkYplz_3.js +301 -0
  50. package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
  51. package/dist/admin/chunks/index-CxiKMwJn.js +279 -0
  52. package/dist/admin/chunks/index-CxiKMwJn.js.map +1 -0
  53. package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
  54. package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
  55. package/dist/admin/chunks/index-DAclA-0k.js +217 -0
  56. package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
  57. package/dist/admin/chunks/index-DG6Abn44.js +213 -0
  58. package/dist/admin/chunks/index-DG6Abn44.js.map +1 -0
  59. package/dist/admin/chunks/index-De_N0gr1.js +448 -0
  60. package/dist/admin/chunks/index-De_N0gr1.js.map +1 -0
  61. package/dist/admin/chunks/index-DgONbTcJ.js +718 -0
  62. package/dist/admin/chunks/index-DgONbTcJ.js.map +1 -0
  63. package/dist/admin/chunks/index-xVVRcuDA.js +1516 -0
  64. package/dist/admin/chunks/index-xVVRcuDA.js.map +1 -0
  65. package/dist/admin/chunks/it-B2H2foTf.js +61 -0
  66. package/dist/admin/chunks/it-B2H2foTf.js.map +1 -0
  67. package/dist/admin/chunks/it-D5VuyoLU.js +63 -0
  68. package/dist/admin/chunks/it-D5VuyoLU.js.map +1 -0
  69. package/dist/admin/chunks/ja-C0z9d7L9.js +47 -0
  70. package/dist/admin/chunks/ja-C0z9d7L9.js.map +1 -0
  71. package/dist/admin/chunks/ja-MpqVsCgs.js +49 -0
  72. package/dist/admin/chunks/ja-MpqVsCgs.js.map +1 -0
  73. package/dist/admin/chunks/ko-Bm-grPSc.js +87 -0
  74. package/dist/admin/chunks/ko-Bm-grPSc.js.map +1 -0
  75. package/dist/admin/chunks/ko-CzUgzpeS.js +85 -0
  76. package/dist/admin/chunks/ko-CzUgzpeS.js.map +1 -0
  77. package/dist/admin/chunks/ms-CCacxjim.js +48 -0
  78. package/dist/admin/chunks/ms-CCacxjim.js.map +1 -0
  79. package/dist/admin/chunks/ms-D7eyBD5H.js +50 -0
  80. package/dist/admin/chunks/ms-D7eyBD5H.js.map +1 -0
  81. package/dist/admin/chunks/nl-BIOwAQtI.js +49 -0
  82. package/dist/admin/chunks/nl-BIOwAQtI.js.map +1 -0
  83. package/dist/admin/chunks/nl-DDC3nZW-.js +47 -0
  84. package/dist/admin/chunks/nl-DDC3nZW-.js.map +1 -0
  85. package/dist/admin/chunks/pl-D5BeNrg_.js +87 -0
  86. package/dist/admin/chunks/pl-D5BeNrg_.js.map +1 -0
  87. package/dist/admin/chunks/pl-XkS463rN.js +85 -0
  88. package/dist/admin/chunks/pl-XkS463rN.js.map +1 -0
  89. package/dist/admin/chunks/pt-BR-8cC7z8Km.js +43 -0
  90. package/dist/admin/chunks/pt-BR-8cC7z8Km.js.map +1 -0
  91. package/dist/admin/chunks/pt-BR-DxPBzQGx.js +45 -0
  92. package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +1 -0
  93. package/dist/admin/chunks/pt-DQpEvio8.js +47 -0
  94. package/dist/admin/chunks/pt-DQpEvio8.js.map +1 -0
  95. package/dist/admin/chunks/pt-kkCwzNvH.js +49 -0
  96. package/dist/admin/chunks/pt-kkCwzNvH.js.map +1 -0
  97. package/dist/admin/chunks/ru-BQ0gHmp3.js +87 -0
  98. package/dist/admin/chunks/ru-BQ0gHmp3.js.map +1 -0
  99. package/dist/admin/chunks/ru-nzL_7Mhg.js +85 -0
  100. package/dist/admin/chunks/ru-nzL_7Mhg.js.map +1 -0
  101. package/dist/admin/chunks/sk-Ddxc_tZA.js +49 -0
  102. package/dist/admin/chunks/sk-Ddxc_tZA.js.map +1 -0
  103. package/dist/admin/chunks/sk-nVwAPdYC.js +51 -0
  104. package/dist/admin/chunks/sk-nVwAPdYC.js.map +1 -0
  105. package/dist/admin/chunks/sv-BDfk2A-F.js +87 -0
  106. package/dist/admin/chunks/sv-BDfk2A-F.js.map +1 -0
  107. package/dist/admin/chunks/sv-By3RYpMG.js +85 -0
  108. package/dist/admin/chunks/sv-By3RYpMG.js.map +1 -0
  109. package/dist/admin/chunks/th-BtTtpHe2.js +61 -0
  110. package/dist/admin/chunks/th-BtTtpHe2.js.map +1 -0
  111. package/dist/admin/chunks/th-COl50vqb.js +59 -0
  112. package/dist/admin/chunks/th-COl50vqb.js.map +1 -0
  113. package/dist/admin/chunks/tr-80SJU6jg.js +84 -0
  114. package/dist/admin/chunks/tr-80SJU6jg.js.map +1 -0
  115. package/dist/admin/chunks/tr-Di-Nf7cT.js +86 -0
  116. package/dist/admin/chunks/tr-Di-Nf7cT.js.map +1 -0
  117. package/dist/admin/chunks/uk-CggQOx1l.js +50 -0
  118. package/dist/admin/chunks/uk-CggQOx1l.js.map +1 -0
  119. package/dist/admin/chunks/uk-D8JHuzch.js +48 -0
  120. package/dist/admin/chunks/uk-D8JHuzch.js.map +1 -0
  121. package/dist/admin/chunks/vi-69AF03Iv.js +49 -0
  122. package/dist/admin/chunks/vi-69AF03Iv.js.map +1 -0
  123. package/dist/admin/chunks/vi-D9cCsHsU.js +51 -0
  124. package/dist/admin/chunks/vi-D9cCsHsU.js.map +1 -0
  125. package/dist/admin/chunks/zh-BzSkqxo-.js +85 -0
  126. package/dist/admin/chunks/zh-BzSkqxo-.js.map +1 -0
  127. package/dist/admin/chunks/zh-BzWgJEzz.js +87 -0
  128. package/dist/admin/chunks/zh-BzWgJEzz.js.map +1 -0
  129. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js +87 -0
  130. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +1 -0
  131. package/dist/admin/chunks/zh-Hans-DmDcSsp7.js +85 -0
  132. package/dist/admin/chunks/zh-Hans-DmDcSsp7.js.map +1 -0
  133. package/dist/admin/index.js +6 -2
  134. package/dist/admin/index.js.map +1 -1
  135. package/dist/admin/index.mjs +1 -4
  136. package/dist/admin/index.mjs.map +1 -1
  137. package/dist/server/index.js +4739 -0
  138. package/dist/server/index.js.map +1 -0
  139. package/dist/server/index.mjs +4737 -0
  140. package/dist/server/index.mjs.map +1 -0
  141. package/package.json +10 -9
  142. package/rollup.config.mjs +52 -0
  143. package/server/controllers/auth.js +1 -1
  144. package/server/register.js +1 -1
  145. package/dist/_chunks/ar-BguGUqwK.js +0 -44
  146. package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
  147. package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
  148. package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
  149. package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
  150. package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
  151. package/dist/_chunks/cs-BW8-K_GY.js +0 -50
  152. package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
  153. package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
  154. package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
  155. package/dist/_chunks/de-owXpVluI.js +0 -62
  156. package/dist/_chunks/de-owXpVluI.js.map +0 -1
  157. package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
  158. package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
  159. package/dist/_chunks/dk-LXAnbuBk.js +0 -86
  160. package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
  161. package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
  162. package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
  163. package/dist/_chunks/en-MHo5mcsU.js +0 -86
  164. package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
  165. package/dist/_chunks/es-BwLCLXAQ.js +0 -86
  166. package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
  167. package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
  168. package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
  169. package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
  170. package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
  171. package/dist/_chunks/fr-DkhpSjjm.js +0 -50
  172. package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
  173. package/dist/_chunks/id-BTemOeTZ.js +0 -62
  174. package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
  175. package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
  176. package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
  177. package/dist/_chunks/index-6IfauKkm.js +0 -365
  178. package/dist/_chunks/index-6IfauKkm.js.map +0 -1
  179. package/dist/_chunks/index-BH2Kbto3.mjs +0 -344
  180. package/dist/_chunks/index-BH2Kbto3.mjs.map +0 -1
  181. package/dist/_chunks/index-BPLSKK9l.mjs +0 -1142
  182. package/dist/_chunks/index-BPLSKK9l.mjs.map +0 -1
  183. package/dist/_chunks/index-BteVBZ5H.js +0 -252
  184. package/dist/_chunks/index-BteVBZ5H.js.map +0 -1
  185. package/dist/_chunks/index-CItjLvCp.mjs +0 -617
  186. package/dist/_chunks/index-CItjLvCp.mjs.map +0 -1
  187. package/dist/_chunks/index-CU5dmnhc.js +0 -280
  188. package/dist/_chunks/index-CU5dmnhc.js.map +0 -1
  189. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs +0 -11090
  190. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs.map +0 -1
  191. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js +0 -11113
  192. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js.map +0 -1
  193. package/dist/_chunks/index-DDd0fVR6.js +0 -1171
  194. package/dist/_chunks/index-DDd0fVR6.js.map +0 -1
  195. package/dist/_chunks/index-DMkiPQOl.mjs +0 -262
  196. package/dist/_chunks/index-DMkiPQOl.mjs.map +0 -1
  197. package/dist/_chunks/index-DZnDAnLg.mjs +0 -253
  198. package/dist/_chunks/index-DZnDAnLg.mjs.map +0 -1
  199. package/dist/_chunks/index-Dd0JjBda.js +0 -639
  200. package/dist/_chunks/index-Dd0JjBda.js.map +0 -1
  201. package/dist/_chunks/it-B-rv0E24.mjs +0 -62
  202. package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
  203. package/dist/_chunks/it-D1rH6V6_.js +0 -62
  204. package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
  205. package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
  206. package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
  207. package/dist/_chunks/ja-DqShgTMf.js +0 -48
  208. package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
  209. package/dist/_chunks/ko-B9DGEPWH.js +0 -86
  210. package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
  211. package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
  212. package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
  213. package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
  214. package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
  215. package/dist/_chunks/ms-CPBU3LWf.js +0 -49
  216. package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
  217. package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
  218. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
  219. package/dist/_chunks/nl-CwNB6YoO.js +0 -48
  220. package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
  221. package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
  222. package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
  223. package/dist/_chunks/pl-Do9UD69f.js +0 -86
  224. package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
  225. package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
  226. package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
  227. package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
  228. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
  229. package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
  230. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
  231. package/dist/_chunks/pt-fdvyOnUp.js +0 -48
  232. package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
  233. package/dist/_chunks/ru-C94rjPGA.js +0 -86
  234. package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
  235. package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
  236. package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
  237. package/dist/_chunks/sk-BABEhykl.js +0 -50
  238. package/dist/_chunks/sk-BABEhykl.js.map +0 -1
  239. package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
  240. package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
  241. package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
  242. package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
  243. package/dist/_chunks/sv-Be43LhA9.js +0 -86
  244. package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
  245. package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
  246. package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
  247. package/dist/_chunks/th-DgVhVLhL.js +0 -60
  248. package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
  249. package/dist/_chunks/tr-B_idhkEs.js +0 -85
  250. package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
  251. package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
  252. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
  253. package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
  254. package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
  255. package/dist/_chunks/uk-LHOivnhP.js +0 -49
  256. package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
  257. package/dist/_chunks/vi-CdVRdKDw.js +0 -50
  258. package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
  259. package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
  260. package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
  261. package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
  262. package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
  263. package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
  264. package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
  265. package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
  266. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
  267. package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
  268. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
  269. package/packup.config.ts +0 -22
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const 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
- exports.default = id;
62
- //# sourceMappingURL=id-BTemOeTZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BTemOeTZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,62 +0,0 @@
1
- const 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
- export {
60
- id as default
61
- };
62
- //# sourceMappingURL=id-BdEsvnaF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BdEsvnaF.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,365 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const indexD4QvcqXm = require("./index-D4QvcqXm-HpyyuCo7.js");
6
- const designSystem = require("@strapi/design-system");
7
- const admin = require("@strapi/strapi/admin");
8
- const reactIntl = require("react-intl");
9
- const reactQuery = require("react-query");
10
- const index = require("./index-BteVBZ5H.js");
11
- require("lodash/isEmpty");
12
- const PropTypes = require("prop-types");
13
- const yup = require("yup");
14
- const icons = require("@strapi/icons");
15
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
16
- function _interopNamespace(e) {
17
- if (e && e.__esModule) return e;
18
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
19
- if (e) {
20
- for (const k in e) {
21
- if (k !== "default") {
22
- const d = Object.getOwnPropertyDescriptor(e, k);
23
- Object.defineProperty(n, k, d.get ? d : {
24
- enumerable: true,
25
- get: () => e[k]
26
- });
27
- }
28
- }
29
- }
30
- n.default = e;
31
- return Object.freeze(n);
32
- }
33
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
34
- const PropTypes__default = /* @__PURE__ */ _interopDefault(PropTypes);
35
- const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
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
- const EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {
60
- const { formatMessage } = reactIntl.useIntl();
61
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
62
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Header, { children: [
63
- /* @__PURE__ */ jsxRuntime.jsxs(
64
- designSystem.Breadcrumbs,
65
- {
66
- label: `${formatMessage({
67
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
68
- defaultMessage: "Edit email template"
69
- })}, ${template.display ? formatMessage({
70
- id: index.getTrad(template.display),
71
- defaultMessage: template.display
72
- }) : ""}`,
73
- children: [
74
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Crumb, { children: formatMessage({
75
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
76
- defaultMessage: "Edit email template"
77
- }) }),
78
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Crumb, { isCurrent: true, children: template.display ? formatMessage({ id: index.getTrad(template.display), defaultMessage: template.display }) : "" })
79
- ]
80
- }
81
- ),
82
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: `${formatMessage({
83
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
84
- defaultMessage: "Edit email template"
85
- })}, ${template.display ? formatMessage({ id: index.getTrad(template.display), defaultMessage: template.display }) : ""}` }) })
86
- ] }),
87
- /* @__PURE__ */ jsxRuntime.jsx(admin.Form, { onSubmit, initialValues: template, validationSchema: schema, children: ({ isSubmitting }) => {
88
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
89
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 5, children: [
90
- {
91
- label: formatMessage({
92
- id: index.getTrad("PopUpForm.Email.options.from.name.label"),
93
- defaultMessage: "Shipper name"
94
- }),
95
- name: "options.from.name",
96
- size: 6,
97
- type: "string"
98
- },
99
- {
100
- label: formatMessage({
101
- id: index.getTrad("PopUpForm.Email.options.from.email.label"),
102
- defaultMessage: "Shipper email"
103
- }),
104
- name: "options.from.email",
105
- size: 6,
106
- type: "string"
107
- },
108
- {
109
- label: formatMessage({
110
- id: index.getTrad("PopUpForm.Email.options.response_email.label"),
111
- defaultMessage: "Response email"
112
- }),
113
- name: "options.response_email",
114
- size: 6,
115
- type: "string"
116
- },
117
- {
118
- label: formatMessage({
119
- id: index.getTrad("PopUpForm.Email.options.object.label"),
120
- defaultMessage: "Subject"
121
- }),
122
- name: "options.object",
123
- size: 6,
124
- type: "string"
125
- },
126
- {
127
- label: formatMessage({
128
- id: index.getTrad("PopUpForm.Email.options.message.label"),
129
- defaultMessage: "Message"
130
- }),
131
- name: "options.message",
132
- size: 12,
133
- type: "text"
134
- }
135
- ].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(
136
- designSystem.Grid.Item,
137
- {
138
- col: size,
139
- direction: "column",
140
- alignItems: "stretch",
141
- children: /* @__PURE__ */ jsxRuntime.jsx(admin.InputRenderer, { ...field })
142
- },
143
- field.name
144
- )) }) }),
145
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
146
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: "Cancel" }) }),
147
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { loading: isSubmitting, type: "submit", children: "Finish" })
148
- ] })
149
- ] });
150
- } })
151
- ] }) });
152
- };
153
- EmailForm.defaultProps = {
154
- template: {}
155
- };
156
- EmailForm.propTypes = {
157
- template: PropTypes__default.default.shape({
158
- display: PropTypes__default.default.string,
159
- icon: PropTypes__default.default.string,
160
- options: PropTypes__default.default.shape({
161
- from: PropTypes__default.default.shape({
162
- name: PropTypes__default.default.string,
163
- email: PropTypes__default.default.string
164
- }),
165
- message: PropTypes__default.default.string,
166
- object: PropTypes__default.default.string,
167
- response_email: PropTypes__default.default.string
168
- })
169
- }),
170
- open: PropTypes__default.default.bool.isRequired,
171
- onSubmit: PropTypes__default.default.func.isRequired,
172
- onToggle: PropTypes__default.default.func.isRequired
173
- };
174
- const EmailTable = ({ canUpdate, onEditClick }) => {
175
- const { formatMessage } = reactIntl.useIntl();
176
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount: 3, rowCount: 3, children: [
177
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Thead, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
178
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { width: "1%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: formatMessage({
179
- id: index.getTrad("Email.template.table.icon.label"),
180
- defaultMessage: "icon"
181
- }) }) }),
182
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({
183
- id: index.getTrad("Email.template.table.name.label"),
184
- defaultMessage: "name"
185
- }) }) }),
186
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { width: "1%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: formatMessage({
187
- id: index.getTrad("Email.template.table.action.label"),
188
- defaultMessage: "action"
189
- }) }) })
190
- ] }) }),
191
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tbody, { children: [
192
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { cursor: "pointer", onClick: () => onEditClick("reset_password"), children: [
193
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "3.2rem", height: "3.2rem", padding: "0.8rem", children: /* @__PURE__ */ jsxRuntime.jsx(
194
- icons.ArrowClockwise,
195
- {
196
- "aria-label": formatMessage({
197
- id: "global.reset-password",
198
- defaultMessage: "Reset password"
199
- })
200
- }
201
- ) }) }),
202
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
203
- id: "global.reset-password",
204
- defaultMessage: "Reset password"
205
- }) }) }),
206
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
207
- designSystem.IconButton,
208
- {
209
- onClick: () => onEditClick("reset_password"),
210
- label: formatMessage({
211
- id: index.getTrad("Email.template.form.edit.label"),
212
- defaultMessage: "Edit a template"
213
- }),
214
- variant: "ghost",
215
- disabled: !canUpdate,
216
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
217
- }
218
- ) })
219
- ] }),
220
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { cursor: "pointer", onClick: () => onEditClick("email_confirmation"), children: [
221
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "3.2rem", height: "3.2rem", padding: "0.8rem", children: /* @__PURE__ */ jsxRuntime.jsx(
222
- icons.Check,
223
- {
224
- "aria-label": formatMessage({
225
- id: index.getTrad("Email.template.email_confirmation"),
226
- defaultMessage: "Email address confirmation"
227
- })
228
- }
229
- ) }) }),
230
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
231
- id: index.getTrad("Email.template.email_confirmation"),
232
- defaultMessage: "Email address confirmation"
233
- }) }) }),
234
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
235
- designSystem.IconButton,
236
- {
237
- onClick: () => onEditClick("email_confirmation"),
238
- label: formatMessage({
239
- id: index.getTrad("Email.template.form.edit.label"),
240
- defaultMessage: "Edit a template"
241
- }),
242
- variant: "ghost",
243
- disabled: !canUpdate,
244
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
245
- }
246
- ) })
247
- ] })
248
- ] })
249
- ] });
250
- };
251
- EmailTable.propTypes = {
252
- canUpdate: PropTypes__default.default.bool.isRequired,
253
- onEditClick: PropTypes__default.default.func.isRequired
254
- };
255
- const ProtectedEmailTemplatesPage = () => /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Protect, { permissions: index.PERMISSIONS.readEmailTemplates, children: /* @__PURE__ */ jsxRuntime.jsx(EmailTemplatesPage, {}) });
256
- const EmailTemplatesPage = () => {
257
- const { formatMessage } = reactIntl.useIntl();
258
- const { trackUsage } = indexD4QvcqXm.useTracking();
259
- const { notifyStatus } = designSystem.useNotifyAT();
260
- const { toggleNotification } = admin.useNotification();
261
- const queryClient = reactQuery.useQueryClient();
262
- const { get, put } = admin.useFetchClient();
263
- const { formatAPIError } = admin.useAPIErrorHandler();
264
- const [isModalOpen, setIsModalOpen] = React__namespace.useState(false);
265
- const [templateToEdit, setTemplateToEdit] = React__namespace.useState(null);
266
- const {
267
- isLoading: isLoadingForPermissions,
268
- allowedActions: { canUpdate }
269
- } = admin.useRBAC({ update: index.PERMISSIONS.updateEmailTemplates });
270
- const { isLoading: isLoadingData, data } = reactQuery.useQuery(
271
- ["users-permissions", "email-templates"],
272
- async () => {
273
- const { data: data2 } = await get("/users-permissions/email-templates");
274
- return data2;
275
- },
276
- {
277
- onSuccess() {
278
- notifyStatus(
279
- formatMessage({
280
- id: index.getTrad("Email.template.data.loaded"),
281
- defaultMessage: "Email templates has been loaded"
282
- })
283
- );
284
- },
285
- onError(error) {
286
- toggleNotification({
287
- type: "danger",
288
- message: formatAPIError(error)
289
- });
290
- }
291
- }
292
- );
293
- const isLoading = isLoadingForPermissions || isLoadingData;
294
- const handleToggle = () => {
295
- setIsModalOpen((prev) => !prev);
296
- };
297
- const handleEditClick = (template) => {
298
- setTemplateToEdit(template);
299
- handleToggle();
300
- };
301
- const submitMutation = reactQuery.useMutation(
302
- (body) => put("/users-permissions/email-templates", { "email-templates": body }),
303
- {
304
- async onSuccess() {
305
- await queryClient.invalidateQueries(["users-permissions", "email-templates"]);
306
- toggleNotification({
307
- type: "success",
308
- message: formatMessage({ id: "notification.success.saved", defaultMessage: "Saved" })
309
- });
310
- trackUsage("didEditEmailTemplates");
311
- handleToggle();
312
- },
313
- onError(error) {
314
- toggleNotification({
315
- type: "danger",
316
- message: formatAPIError(error)
317
- });
318
- },
319
- refetchActive: true
320
- }
321
- );
322
- const handleSubmit = (body) => {
323
- trackUsage("willEditEmailTemplates");
324
- const editedTemplates = { ...data, [templateToEdit]: body };
325
- submitMutation.mutate(editedTemplates);
326
- };
327
- if (isLoading) {
328
- return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Loading, {});
329
- }
330
- return /* @__PURE__ */ jsxRuntime.jsxs(admin.Page.Main, { "aria-busy": submitMutation.isLoading, children: [
331
- /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Title, { children: formatMessage(
332
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
333
- {
334
- name: formatMessage({
335
- id: index.getTrad("HeaderNav.link.emailTemplates"),
336
- defaultMessage: "Email templates"
337
- })
338
- }
339
- ) }),
340
- /* @__PURE__ */ jsxRuntime.jsx(
341
- admin.Layouts.Header,
342
- {
343
- title: formatMessage({
344
- id: index.getTrad("HeaderNav.link.emailTemplates"),
345
- defaultMessage: "Email templates"
346
- })
347
- }
348
- ),
349
- /* @__PURE__ */ jsxRuntime.jsxs(admin.Layouts.Content, { children: [
350
- /* @__PURE__ */ jsxRuntime.jsx(EmailTable, { onEditClick: handleEditClick, canUpdate }),
351
- /* @__PURE__ */ jsxRuntime.jsx(
352
- EmailForm,
353
- {
354
- template: data[templateToEdit],
355
- onToggle: handleToggle,
356
- open: isModalOpen,
357
- onSubmit: handleSubmit
358
- }
359
- )
360
- ] })
361
- ] });
362
- };
363
- exports.EmailTemplatesPage = EmailTemplatesPage;
364
- exports.ProtectedEmailTemplatesPage = ProtectedEmailTemplatesPage;
365
- //# sourceMappingURL=index-6IfauKkm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-6IfauKkm.js","sources":["../../admin/src/pages/EmailTemplates/utils/schema.js","../../admin/src/pages/EmailTemplates/components/EmailForm.jsx","../../admin/src/pages/EmailTemplates/components/EmailTable.jsx","../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n","import React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n","import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["yup","translatedErrors","useIntl","jsx","Modal","jsxs","Breadcrumbs","getTrad","Crumb","VisuallyHidden","Form","Fragment","Grid","InputRenderer","Button","PropTypes","Table","Thead","Tr","Th","Typography","Tbody","Td","Box","Refresh","IconButton","Pencil","Check","Page","PERMISSIONS","useTracking","useNotifyAT","useNotification","useQueryClient","useFetchClient","useAPIErrorHandler","React","useRBAC","useQuery","data","useMutation","Layouts"],"mappings":"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"}