@strapi/plugin-users-permissions 5.9.0 → 5.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) 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.mjs +43 -0
  16. package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +1 -0
  17. package/dist/admin/chunks/cs-Bu59JqhG.mjs +49 -0
  18. package/dist/admin/chunks/cs-Bu59JqhG.mjs.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.mjs +61 -0
  24. package/dist/admin/chunks/de-B81A69_5.mjs.map +1 -0
  25. package/dist/admin/chunks/dk-BaelzvBE.mjs +85 -0
  26. package/dist/admin/chunks/dk-BaelzvBE.mjs.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.mjs +85 -0
  30. package/dist/admin/chunks/en-BhgCBe7M.mjs.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.mjs +85 -0
  34. package/dist/admin/chunks/es-B0wXmvRj.mjs.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.mjs +49 -0
  40. package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +1 -0
  41. package/dist/admin/chunks/id-CNzbwFjA.mjs +61 -0
  42. package/dist/admin/chunks/id-CNzbwFjA.mjs.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-B-Z_z_qb.mjs +213 -0
  46. package/dist/admin/chunks/index-B-Z_z_qb.mjs.map +1 -0
  47. package/dist/admin/chunks/index-B2MJiSOD.mjs +279 -0
  48. package/dist/admin/chunks/index-B2MJiSOD.mjs.map +1 -0
  49. package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
  50. package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
  51. package/dist/admin/chunks/index-BtYUb_br.js +741 -0
  52. package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
  53. package/dist/admin/chunks/index-COXjHxFm.mjs +718 -0
  54. package/dist/admin/chunks/index-COXjHxFm.mjs.map +1 -0
  55. package/dist/admin/chunks/index-CkYplz_3.js +301 -0
  56. package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
  57. package/dist/admin/chunks/index-Cu2GvTiT.mjs +1516 -0
  58. package/dist/admin/chunks/index-Cu2GvTiT.mjs.map +1 -0
  59. package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
  60. package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
  61. package/dist/admin/chunks/index-DAclA-0k.js +217 -0
  62. package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
  63. package/dist/admin/chunks/index-DVNIct2-.mjs +448 -0
  64. package/dist/admin/chunks/index-DVNIct2-.mjs.map +1 -0
  65. package/dist/admin/chunks/it-B2H2foTf.mjs +61 -0
  66. package/dist/admin/chunks/it-B2H2foTf.mjs.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.mjs +47 -0
  70. package/dist/admin/chunks/ja-C0z9d7L9.mjs.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.mjs +85 -0
  76. package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +1 -0
  77. package/dist/admin/chunks/ms-CCacxjim.mjs +48 -0
  78. package/dist/admin/chunks/ms-CCacxjim.mjs.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-.mjs +47 -0
  84. package/dist/admin/chunks/nl-DDC3nZW-.mjs.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.mjs +85 -0
  88. package/dist/admin/chunks/pl-XkS463rN.mjs.map +1 -0
  89. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs +43 -0
  90. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.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.mjs +47 -0
  94. package/dist/admin/chunks/pt-DQpEvio8.mjs.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.mjs +85 -0
  100. package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +1 -0
  101. package/dist/admin/chunks/sk-Ddxc_tZA.mjs +49 -0
  102. package/dist/admin/chunks/sk-Ddxc_tZA.mjs.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.mjs +85 -0
  108. package/dist/admin/chunks/sv-By3RYpMG.mjs.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.mjs +59 -0
  112. package/dist/admin/chunks/th-COl50vqb.mjs.map +1 -0
  113. package/dist/admin/chunks/tr-80SJU6jg.mjs +84 -0
  114. package/dist/admin/chunks/tr-80SJU6jg.mjs.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.mjs +48 -0
  120. package/dist/admin/chunks/uk-D8JHuzch.mjs.map +1 -0
  121. package/dist/admin/chunks/vi-69AF03Iv.mjs +49 -0
  122. package/dist/admin/chunks/vi-69AF03Iv.mjs.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-.mjs +85 -0
  126. package/dist/admin/chunks/zh-BzSkqxo-.mjs.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.mjs +85 -0
  132. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.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 +11 -10
  142. package/rollup.config.mjs +52 -0
  143. package/server/register.js +1 -1
  144. package/dist/_chunks/ar-BguGUqwK.js +0 -44
  145. package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
  146. package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
  147. package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
  148. package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
  149. package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
  150. package/dist/_chunks/cs-BW8-K_GY.js +0 -50
  151. package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
  152. package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
  153. package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
  154. package/dist/_chunks/de-owXpVluI.js +0 -62
  155. package/dist/_chunks/de-owXpVluI.js.map +0 -1
  156. package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
  157. package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
  158. package/dist/_chunks/dk-LXAnbuBk.js +0 -86
  159. package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
  160. package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
  161. package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
  162. package/dist/_chunks/en-MHo5mcsU.js +0 -86
  163. package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
  164. package/dist/_chunks/es-BwLCLXAQ.js +0 -86
  165. package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
  166. package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
  167. package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
  168. package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
  169. package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
  170. package/dist/_chunks/fr-DkhpSjjm.js +0 -50
  171. package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
  172. package/dist/_chunks/id-BTemOeTZ.js +0 -62
  173. package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
  174. package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
  175. package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
  176. package/dist/_chunks/index-BCw6zVHf.mjs +0 -344
  177. package/dist/_chunks/index-BCw6zVHf.mjs.map +0 -1
  178. package/dist/_chunks/index-BSJxpmc1-C5aV1Jb8.js +0 -11116
  179. package/dist/_chunks/index-BSJxpmc1-C5aV1Jb8.js.map +0 -1
  180. package/dist/_chunks/index-BSJxpmc1-Cmh4INWh.mjs +0 -11093
  181. package/dist/_chunks/index-BSJxpmc1-Cmh4INWh.mjs.map +0 -1
  182. package/dist/_chunks/index-BdOumcDH.mjs +0 -262
  183. package/dist/_chunks/index-BdOumcDH.mjs.map +0 -1
  184. package/dist/_chunks/index-BifzOY9J.mjs +0 -1142
  185. package/dist/_chunks/index-BifzOY9J.mjs.map +0 -1
  186. package/dist/_chunks/index-Bk3q4O8M.js +0 -639
  187. package/dist/_chunks/index-Bk3q4O8M.js.map +0 -1
  188. package/dist/_chunks/index-Bl-UGfZ4.js +0 -365
  189. package/dist/_chunks/index-Bl-UGfZ4.js.map +0 -1
  190. package/dist/_chunks/index-BpBvwD7E.mjs +0 -617
  191. package/dist/_chunks/index-BpBvwD7E.mjs.map +0 -1
  192. package/dist/_chunks/index-CsepshPM.mjs +0 -253
  193. package/dist/_chunks/index-CsepshPM.mjs.map +0 -1
  194. package/dist/_chunks/index-DYLqtX6g.js +0 -1171
  195. package/dist/_chunks/index-DYLqtX6g.js.map +0 -1
  196. package/dist/_chunks/index-mrTAEHgX.js +0 -252
  197. package/dist/_chunks/index-mrTAEHgX.js.map +0 -1
  198. package/dist/_chunks/index-s_b84GLl.js +0 -280
  199. package/dist/_chunks/index-s_b84GLl.js.map +0 -1
  200. package/dist/_chunks/it-B-rv0E24.mjs +0 -62
  201. package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
  202. package/dist/_chunks/it-D1rH6V6_.js +0 -62
  203. package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
  204. package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
  205. package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
  206. package/dist/_chunks/ja-DqShgTMf.js +0 -48
  207. package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
  208. package/dist/_chunks/ko-B9DGEPWH.js +0 -86
  209. package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
  210. package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
  211. package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
  212. package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
  213. package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
  214. package/dist/_chunks/ms-CPBU3LWf.js +0 -49
  215. package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
  216. package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
  217. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
  218. package/dist/_chunks/nl-CwNB6YoO.js +0 -48
  219. package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
  220. package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
  221. package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
  222. package/dist/_chunks/pl-Do9UD69f.js +0 -86
  223. package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
  224. package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
  225. package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
  226. package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
  227. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
  228. package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
  229. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
  230. package/dist/_chunks/pt-fdvyOnUp.js +0 -48
  231. package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
  232. package/dist/_chunks/ru-C94rjPGA.js +0 -86
  233. package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
  234. package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
  235. package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
  236. package/dist/_chunks/sk-BABEhykl.js +0 -50
  237. package/dist/_chunks/sk-BABEhykl.js.map +0 -1
  238. package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
  239. package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
  240. package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
  241. package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
  242. package/dist/_chunks/sv-Be43LhA9.js +0 -86
  243. package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
  244. package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
  245. package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
  246. package/dist/_chunks/th-DgVhVLhL.js +0 -60
  247. package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
  248. package/dist/_chunks/tr-B_idhkEs.js +0 -85
  249. package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
  250. package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
  251. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
  252. package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
  253. package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
  254. package/dist/_chunks/uk-LHOivnhP.js +0 -49
  255. package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
  256. package/dist/_chunks/vi-CdVRdKDw.js +0 -50
  257. package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
  258. package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
  259. package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
  260. package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
  261. package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
  262. package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
  263. package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
  264. package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
  265. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
  266. package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
  267. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
  268. package/packup.config.ts +0 -22
@@ -0,0 +1,448 @@
1
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { useTracking } from '@strapi/admin/strapi-admin';
4
+ import { Modal, Breadcrumbs, Crumb, VisuallyHidden, Grid, Button, Table, Thead, Tr, Th, Typography, Tbody, Td, Box, IconButton, useNotifyAT } from '@strapi/design-system';
5
+ import { translatedErrors, Form, InputRenderer, Page, useNotification, useFetchClient, useAPIErrorHandler, useRBAC, Layouts } from '@strapi/strapi/admin';
6
+ import { useIntl } from 'react-intl';
7
+ import { useQueryClient, useQuery, useMutation } from 'react-query';
8
+ import { g as getTrad, P as PERMISSIONS } from './index-B-Z_z_qb.mjs';
9
+ import 'lodash/isEmpty';
10
+ import PropTypes from 'prop-types';
11
+ import * as yup from 'yup';
12
+ import { ArrowClockwise, Pencil, Check } from '@strapi/icons';
13
+
14
+ const schema = yup.object().shape({
15
+ options: yup.object().shape({
16
+ from: yup.object().shape({
17
+ name: yup.string().required({
18
+ id: translatedErrors.required.id,
19
+ defaultMessage: 'This field is required'
20
+ }),
21
+ email: yup.string().email(translatedErrors.email).required({
22
+ id: translatedErrors.required.id,
23
+ defaultMessage: 'This field is required'
24
+ })
25
+ }).required(),
26
+ response_email: yup.string().email(translatedErrors.email),
27
+ object: yup.string().required({
28
+ id: translatedErrors.required.id,
29
+ defaultMessage: 'This field is required'
30
+ }),
31
+ message: yup.string().required({
32
+ id: translatedErrors.required.id,
33
+ defaultMessage: 'This field is required'
34
+ })
35
+ }).required(translatedErrors.required.id)
36
+ });
37
+
38
+ const EmailForm = ({ template = {}, onToggle, open, onSubmit })=>{
39
+ const { formatMessage } = useIntl();
40
+ return /*#__PURE__*/ jsx(Modal.Root, {
41
+ open: open,
42
+ onOpenChange: onToggle,
43
+ children: /*#__PURE__*/ jsxs(Modal.Content, {
44
+ children: [
45
+ /*#__PURE__*/ jsxs(Modal.Header, {
46
+ children: [
47
+ /*#__PURE__*/ jsxs(Breadcrumbs, {
48
+ label: `${formatMessage({
49
+ id: getTrad('PopUpForm.header.edit.email-templates'),
50
+ defaultMessage: 'Edit email template'
51
+ })}, ${template.display ? formatMessage({
52
+ id: getTrad(template.display),
53
+ defaultMessage: template.display
54
+ }) : ''}`,
55
+ children: [
56
+ /*#__PURE__*/ jsx(Crumb, {
57
+ children: formatMessage({
58
+ id: getTrad('PopUpForm.header.edit.email-templates'),
59
+ defaultMessage: 'Edit email template'
60
+ })
61
+ }),
62
+ /*#__PURE__*/ jsx(Crumb, {
63
+ isCurrent: true,
64
+ children: template.display ? formatMessage({
65
+ id: getTrad(template.display),
66
+ defaultMessage: template.display
67
+ }) : ''
68
+ })
69
+ ]
70
+ }),
71
+ /*#__PURE__*/ jsx(VisuallyHidden, {
72
+ children: /*#__PURE__*/ jsx(Modal.Title, {
73
+ children: `${formatMessage({
74
+ id: getTrad('PopUpForm.header.edit.email-templates'),
75
+ defaultMessage: 'Edit email template'
76
+ })}, ${template.display ? formatMessage({
77
+ id: getTrad(template.display),
78
+ defaultMessage: template.display
79
+ }) : ''}`
80
+ })
81
+ })
82
+ ]
83
+ }),
84
+ /*#__PURE__*/ jsx(Form, {
85
+ onSubmit: onSubmit,
86
+ initialValues: template,
87
+ validationSchema: schema,
88
+ children: ({ isSubmitting })=>{
89
+ return /*#__PURE__*/ jsxs(Fragment, {
90
+ children: [
91
+ /*#__PURE__*/ jsx(Modal.Body, {
92
+ children: /*#__PURE__*/ jsx(Grid.Root, {
93
+ gap: 5,
94
+ children: [
95
+ {
96
+ label: formatMessage({
97
+ id: getTrad('PopUpForm.Email.options.from.name.label'),
98
+ defaultMessage: 'Shipper name'
99
+ }),
100
+ name: 'options.from.name',
101
+ size: 6,
102
+ type: 'string'
103
+ },
104
+ {
105
+ label: formatMessage({
106
+ id: getTrad('PopUpForm.Email.options.from.email.label'),
107
+ defaultMessage: 'Shipper email'
108
+ }),
109
+ name: 'options.from.email',
110
+ size: 6,
111
+ type: 'string'
112
+ },
113
+ {
114
+ label: formatMessage({
115
+ id: getTrad('PopUpForm.Email.options.response_email.label'),
116
+ defaultMessage: 'Response email'
117
+ }),
118
+ name: 'options.response_email',
119
+ size: 6,
120
+ type: 'string'
121
+ },
122
+ {
123
+ label: formatMessage({
124
+ id: getTrad('PopUpForm.Email.options.object.label'),
125
+ defaultMessage: 'Subject'
126
+ }),
127
+ name: 'options.object',
128
+ size: 6,
129
+ type: 'string'
130
+ },
131
+ {
132
+ label: formatMessage({
133
+ id: getTrad('PopUpForm.Email.options.message.label'),
134
+ defaultMessage: 'Message'
135
+ }),
136
+ name: 'options.message',
137
+ size: 12,
138
+ type: 'text'
139
+ }
140
+ ].map(({ size, ...field })=>/*#__PURE__*/ jsx(Grid.Item, {
141
+ col: size,
142
+ direction: "column",
143
+ alignItems: "stretch",
144
+ children: /*#__PURE__*/ jsx(InputRenderer, {
145
+ ...field
146
+ })
147
+ }, field.name))
148
+ })
149
+ }),
150
+ /*#__PURE__*/ jsxs(Modal.Footer, {
151
+ children: [
152
+ /*#__PURE__*/ jsx(Modal.Close, {
153
+ children: /*#__PURE__*/ jsx(Button, {
154
+ variant: "tertiary",
155
+ children: "Cancel"
156
+ })
157
+ }),
158
+ /*#__PURE__*/ jsx(Button, {
159
+ loading: isSubmitting,
160
+ type: "submit",
161
+ children: "Finish"
162
+ })
163
+ ]
164
+ })
165
+ ]
166
+ });
167
+ }
168
+ })
169
+ ]
170
+ })
171
+ });
172
+ };
173
+ EmailForm.defaultProps = {
174
+ template: {}
175
+ };
176
+ EmailForm.propTypes = {
177
+ template: PropTypes.shape({
178
+ display: PropTypes.string,
179
+ icon: PropTypes.string,
180
+ options: PropTypes.shape({
181
+ from: PropTypes.shape({
182
+ name: PropTypes.string,
183
+ email: PropTypes.string
184
+ }),
185
+ message: PropTypes.string,
186
+ object: PropTypes.string,
187
+ response_email: PropTypes.string
188
+ })
189
+ }),
190
+ open: PropTypes.bool.isRequired,
191
+ onSubmit: PropTypes.func.isRequired,
192
+ onToggle: PropTypes.func.isRequired
193
+ };
194
+
195
+ const EmailTable = ({ canUpdate, onEditClick })=>{
196
+ const { formatMessage } = useIntl();
197
+ return /*#__PURE__*/ jsxs(Table, {
198
+ colCount: 3,
199
+ rowCount: 3,
200
+ children: [
201
+ /*#__PURE__*/ jsx(Thead, {
202
+ children: /*#__PURE__*/ jsxs(Tr, {
203
+ children: [
204
+ /*#__PURE__*/ jsx(Th, {
205
+ width: "1%",
206
+ children: /*#__PURE__*/ jsx(VisuallyHidden, {
207
+ children: formatMessage({
208
+ id: getTrad('Email.template.table.icon.label'),
209
+ defaultMessage: 'icon'
210
+ })
211
+ })
212
+ }),
213
+ /*#__PURE__*/ jsx(Th, {
214
+ children: /*#__PURE__*/ jsx(Typography, {
215
+ variant: "sigma",
216
+ textColor: "neutral600",
217
+ children: formatMessage({
218
+ id: getTrad('Email.template.table.name.label'),
219
+ defaultMessage: 'name'
220
+ })
221
+ })
222
+ }),
223
+ /*#__PURE__*/ jsx(Th, {
224
+ width: "1%",
225
+ children: /*#__PURE__*/ jsx(VisuallyHidden, {
226
+ children: formatMessage({
227
+ id: getTrad('Email.template.table.action.label'),
228
+ defaultMessage: 'action'
229
+ })
230
+ })
231
+ })
232
+ ]
233
+ })
234
+ }),
235
+ /*#__PURE__*/ jsxs(Tbody, {
236
+ children: [
237
+ /*#__PURE__*/ jsxs(Tr, {
238
+ cursor: "pointer",
239
+ onClick: ()=>onEditClick('reset_password'),
240
+ children: [
241
+ /*#__PURE__*/ jsx(Td, {
242
+ children: /*#__PURE__*/ jsx(Box, {
243
+ width: "3.2rem",
244
+ height: "3.2rem",
245
+ padding: "0.8rem",
246
+ children: /*#__PURE__*/ jsx(ArrowClockwise, {
247
+ "aria-label": formatMessage({
248
+ id: 'global.reset-password',
249
+ defaultMessage: 'Reset password'
250
+ })
251
+ })
252
+ })
253
+ }),
254
+ /*#__PURE__*/ jsx(Td, {
255
+ children: /*#__PURE__*/ jsx(Typography, {
256
+ children: formatMessage({
257
+ id: 'global.reset-password',
258
+ defaultMessage: 'Reset password'
259
+ })
260
+ })
261
+ }),
262
+ /*#__PURE__*/ jsx(Td, {
263
+ onClick: (e)=>e.stopPropagation(),
264
+ children: /*#__PURE__*/ jsx(IconButton, {
265
+ onClick: ()=>onEditClick('reset_password'),
266
+ label: formatMessage({
267
+ id: getTrad('Email.template.form.edit.label'),
268
+ defaultMessage: 'Edit a template'
269
+ }),
270
+ variant: "ghost",
271
+ disabled: !canUpdate,
272
+ children: /*#__PURE__*/ jsx(Pencil, {})
273
+ })
274
+ })
275
+ ]
276
+ }),
277
+ /*#__PURE__*/ jsxs(Tr, {
278
+ cursor: "pointer",
279
+ onClick: ()=>onEditClick('email_confirmation'),
280
+ children: [
281
+ /*#__PURE__*/ jsx(Td, {
282
+ children: /*#__PURE__*/ jsx(Box, {
283
+ width: "3.2rem",
284
+ height: "3.2rem",
285
+ padding: "0.8rem",
286
+ children: /*#__PURE__*/ jsx(Check, {
287
+ "aria-label": formatMessage({
288
+ id: getTrad('Email.template.email_confirmation'),
289
+ defaultMessage: 'Email address confirmation'
290
+ })
291
+ })
292
+ })
293
+ }),
294
+ /*#__PURE__*/ jsx(Td, {
295
+ children: /*#__PURE__*/ jsx(Typography, {
296
+ children: formatMessage({
297
+ id: getTrad('Email.template.email_confirmation'),
298
+ defaultMessage: 'Email address confirmation'
299
+ })
300
+ })
301
+ }),
302
+ /*#__PURE__*/ jsx(Td, {
303
+ onClick: (e)=>e.stopPropagation(),
304
+ children: /*#__PURE__*/ jsx(IconButton, {
305
+ onClick: ()=>onEditClick('email_confirmation'),
306
+ label: formatMessage({
307
+ id: getTrad('Email.template.form.edit.label'),
308
+ defaultMessage: 'Edit a template'
309
+ }),
310
+ variant: "ghost",
311
+ disabled: !canUpdate,
312
+ children: /*#__PURE__*/ jsx(Pencil, {})
313
+ })
314
+ })
315
+ ]
316
+ })
317
+ ]
318
+ })
319
+ ]
320
+ });
321
+ };
322
+ EmailTable.propTypes = {
323
+ canUpdate: PropTypes.bool.isRequired,
324
+ onEditClick: PropTypes.func.isRequired
325
+ };
326
+
327
+ const ProtectedEmailTemplatesPage = ()=>/*#__PURE__*/ jsx(Page.Protect, {
328
+ permissions: PERMISSIONS.readEmailTemplates,
329
+ children: /*#__PURE__*/ jsx(EmailTemplatesPage, {})
330
+ });
331
+ const EmailTemplatesPage = ()=>{
332
+ const { formatMessage } = useIntl();
333
+ const { trackUsage } = useTracking();
334
+ const { notifyStatus } = useNotifyAT();
335
+ const { toggleNotification } = useNotification();
336
+ const queryClient = useQueryClient();
337
+ const { get, put } = useFetchClient();
338
+ const { formatAPIError } = useAPIErrorHandler();
339
+ const [isModalOpen, setIsModalOpen] = React.useState(false);
340
+ const [templateToEdit, setTemplateToEdit] = React.useState(null);
341
+ const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = useRBAC({
342
+ update: PERMISSIONS.updateEmailTemplates
343
+ });
344
+ const { isLoading: isLoadingData, data } = useQuery([
345
+ 'users-permissions',
346
+ 'email-templates'
347
+ ], async ()=>{
348
+ const { data } = await get('/users-permissions/email-templates');
349
+ return data;
350
+ }, {
351
+ onSuccess () {
352
+ notifyStatus(formatMessage({
353
+ id: getTrad('Email.template.data.loaded'),
354
+ defaultMessage: 'Email templates has been loaded'
355
+ }));
356
+ },
357
+ onError (error) {
358
+ toggleNotification({
359
+ type: 'danger',
360
+ message: formatAPIError(error)
361
+ });
362
+ }
363
+ });
364
+ const isLoading = isLoadingForPermissions || isLoadingData;
365
+ const handleToggle = ()=>{
366
+ setIsModalOpen((prev)=>!prev);
367
+ };
368
+ const handleEditClick = (template)=>{
369
+ setTemplateToEdit(template);
370
+ handleToggle();
371
+ };
372
+ const submitMutation = useMutation((body)=>put('/users-permissions/email-templates', {
373
+ 'email-templates': body
374
+ }), {
375
+ async onSuccess () {
376
+ await queryClient.invalidateQueries([
377
+ 'users-permissions',
378
+ 'email-templates'
379
+ ]);
380
+ toggleNotification({
381
+ type: 'success',
382
+ message: formatMessage({
383
+ id: 'notification.success.saved',
384
+ defaultMessage: 'Saved'
385
+ })
386
+ });
387
+ trackUsage('didEditEmailTemplates');
388
+ handleToggle();
389
+ },
390
+ onError (error) {
391
+ toggleNotification({
392
+ type: 'danger',
393
+ message: formatAPIError(error)
394
+ });
395
+ },
396
+ refetchActive: true
397
+ });
398
+ const handleSubmit = (body)=>{
399
+ trackUsage('willEditEmailTemplates');
400
+ const editedTemplates = {
401
+ ...data,
402
+ [templateToEdit]: body
403
+ };
404
+ submitMutation.mutate(editedTemplates);
405
+ };
406
+ if (isLoading) {
407
+ return /*#__PURE__*/ jsx(Page.Loading, {});
408
+ }
409
+ return /*#__PURE__*/ jsxs(Page.Main, {
410
+ "aria-busy": submitMutation.isLoading,
411
+ children: [
412
+ /*#__PURE__*/ jsx(Page.Title, {
413
+ children: formatMessage({
414
+ id: 'Settings.PageTitle',
415
+ defaultMessage: 'Settings - {name}'
416
+ }, {
417
+ name: formatMessage({
418
+ id: getTrad('HeaderNav.link.emailTemplates'),
419
+ defaultMessage: 'Email templates'
420
+ })
421
+ })
422
+ }),
423
+ /*#__PURE__*/ jsx(Layouts.Header, {
424
+ title: formatMessage({
425
+ id: getTrad('HeaderNav.link.emailTemplates'),
426
+ defaultMessage: 'Email templates'
427
+ })
428
+ }),
429
+ /*#__PURE__*/ jsxs(Layouts.Content, {
430
+ children: [
431
+ /*#__PURE__*/ jsx(EmailTable, {
432
+ onEditClick: handleEditClick,
433
+ canUpdate: canUpdate
434
+ }),
435
+ /*#__PURE__*/ jsx(EmailForm, {
436
+ template: data[templateToEdit],
437
+ onToggle: handleToggle,
438
+ open: isModalOpen,
439
+ onSubmit: handleSubmit
440
+ })
441
+ ]
442
+ })
443
+ ]
444
+ });
445
+ };
446
+
447
+ export { EmailTemplatesPage, ProtectedEmailTemplatesPage };
448
+ //# sourceMappingURL=index-DVNIct2-.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DVNIct2-.mjs","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 * as 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 * as 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":["schema","yup","object","shape","options","from","name","string","required","id","translatedErrors","defaultMessage","email","response_email","message","EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","getTrad","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","isSubmitting","_Fragment","Body","Grid","gap","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","icon","bool","isRequired","func","EmailTable","canUpdate","onEditClick","Table","colCount","rowCount","Thead","Tr","Th","width","Typography","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","disabled","Pencil","Check","ProtectedEmailTemplatesPage","Page","Protect","permissions","PERMISSIONS","readEmailTemplates","EmailTemplatesPage","trackUsage","useTracking","notifyStatus","useNotifyAT","toggleNotification","useNotification","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isModalOpen","setIsModalOpen","React","useState","templateToEdit","setTemplateToEdit","isLoading","isLoadingForPermissions","allowedActions","useRBAC","update","updateEmailTemplates","isLoadingData","data","useQuery","onSuccess","onError","error","handleToggle","prev","handleEditClick","submitMutation","useMutation","body","invalidateQueries","refetchActive","handleSubmit","editedTemplates","mutate","Loading","Main","aria-busy","Layouts","title"],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ var it = {
2
+ "BoundRoute.title": "Vincola route a",
3
+ "EditForm.inputSelect.description.role": "Questa operazione assocerà i nuovi utenti autenticati al ruolo selezionato.",
4
+ "EditForm.inputSelect.label.role": "Ruolo di default per gli utenti registrati",
5
+ "EditForm.inputToggle.description.email": "Non consentire all'utente di creare account multipli usando lo stesso indirizzo email con provider di autenticazione diversi.",
6
+ "EditForm.inputToggle.description.email-confirmation": "Quando abilitato (ON), i nuovi utenti registrati riceveranno una richiesta di conferma via email.",
7
+ "EditForm.inputToggle.description.email-confirmation-redirection": "Scegli dove redirigere gli utenti che completano la conferma dell'indirizzo email.",
8
+ "EditForm.inputToggle.description.email-reset-password": "URL della pagina per il reset della password della tua applicazione",
9
+ "EditForm.inputToggle.description.sign-up": "Quando disabilitata (OFF), il processo di registrazione è proibito. Nessuno può iscriversi indipendentemente dal provider utilizzato.",
10
+ "EditForm.inputToggle.label.email": "Un solo account per indirizzo email",
11
+ "EditForm.inputToggle.label.email-confirmation": "Abilita conferma email",
12
+ "EditForm.inputToggle.label.email-confirmation-redirection": "URL di reindirizzamento",
13
+ "EditForm.inputToggle.label.email-reset-password": "Pagina reset password",
14
+ "EditForm.inputToggle.label.sign-up": "Abilita registrazione",
15
+ "Email.template.email_confirmation": "Conferma dell'indirizzo Email",
16
+ "HeaderNav.link.advancedSettings": "Impostazioni avanzate",
17
+ "HeaderNav.link.emailTemplates": "Template delle Email",
18
+ "HeaderNav.link.providers": "Provider",
19
+ "Plugin.permissions.plugins.description": "Definisce tutte le azioni consentite per il plugin {name}.",
20
+ "Plugins.header.description": "Di seguito sono elencate solo le azioni vincolate da una route.",
21
+ "Plugins.header.title": "Permessi",
22
+ "Policies.header.hint": "Seleziona le azioni dell'applicazione o del plugin e clicca sull'ingranaggio per mostrare il percorso corrispondente",
23
+ "Policies.header.title": "Impostazioni avanzate",
24
+ "PopUpForm.Email.email_templates.inputDescription": "Se non sai bene come usare le variabili, {link}",
25
+ "PopUpForm.Email.link.documentation": "controlla la nostra documentazione.",
26
+ "PopUpForm.Email.options.from.email.label": "Email del mittente",
27
+ "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
28
+ "PopUpForm.Email.options.from.name.label": "Nome del mittente",
29
+ "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
30
+ "PopUpForm.Email.options.message.label": "Messaggio",
31
+ "PopUpForm.Email.options.object.label": "Oggetto",
32
+ "PopUpForm.Email.options.object.placeholder": "Conferma il tuo indirizzo email per %APP_NAME%",
33
+ "PopUpForm.Email.options.response_email.label": "Email di risposta",
34
+ "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
35
+ "PopUpForm.Providers.enabled.description": "Se disabilitato, gli utenti non potranno usare questo provider.",
36
+ "PopUpForm.Providers.enabled.label": "Abilita",
37
+ "PopUpForm.Providers.key.label": "Client ID",
38
+ "PopUpForm.Providers.key.placeholder": "TEXT",
39
+ "PopUpForm.Providers.redirectURL.front-end.label": "L'URL di reindirizzamento per la tua app di front-end",
40
+ "PopUpForm.Providers.redirectURL.label": "L'URL di reindirizzamento da aggiungere nelle impostazioni dell'applicazione di {provider}",
41
+ "PopUpForm.Providers.secret.label": "Client Secret",
42
+ "PopUpForm.Providers.secret.placeholder": "TEXT",
43
+ "PopUpForm.Providers.subdomain.label": "Host URI (Sottodominio)",
44
+ "PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
45
+ "PopUpForm.header.edit.email-templates": "Modifica i Template Email",
46
+ "PopUpForm.header.edit.providers": "Modifica Provider",
47
+ "Settings.roles.deleted": "Ruolo eliminato",
48
+ "Settings.roles.edited": "Ruolo modificato",
49
+ "Settings.section-label": "Plugin Utenti & Permessi",
50
+ "notification.success.submit": "Impostazioni aggiornate",
51
+ "plugin.description.long": "Proteggi le tue API con un processo di autenticazione completo basato su JWT. Questo plugin è implementato con una strategia ACL che ti consente di gestire i permessi tra i gruppi di utenti.",
52
+ "plugin.description.short": "Proteggi le tue API con un processo di autenticazione completo basato su JWT",
53
+ "plugin.name": "Plugin Utenti & Permessi",
54
+ "popUpWarning.button.cancel": "Annulla",
55
+ "popUpWarning.button.confirm": "Conferma",
56
+ "popUpWarning.title": "Si prega di confermare",
57
+ "popUpWarning.warning.cancel": "Sei sicuro di voler annullare le tue modifiche?"
58
+ };
59
+
60
+ export { it as default };
61
+ //# sourceMappingURL=it-B2H2foTf.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-B2H2foTf.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ var it = {
4
+ "BoundRoute.title": "Vincola route a",
5
+ "EditForm.inputSelect.description.role": "Questa operazione assocerà i nuovi utenti autenticati al ruolo selezionato.",
6
+ "EditForm.inputSelect.label.role": "Ruolo di default per gli utenti registrati",
7
+ "EditForm.inputToggle.description.email": "Non consentire all'utente di creare account multipli usando lo stesso indirizzo email con provider di autenticazione diversi.",
8
+ "EditForm.inputToggle.description.email-confirmation": "Quando abilitato (ON), i nuovi utenti registrati riceveranno una richiesta di conferma via email.",
9
+ "EditForm.inputToggle.description.email-confirmation-redirection": "Scegli dove redirigere gli utenti che completano la conferma dell'indirizzo email.",
10
+ "EditForm.inputToggle.description.email-reset-password": "URL della pagina per il reset della password della tua applicazione",
11
+ "EditForm.inputToggle.description.sign-up": "Quando disabilitata (OFF), il processo di registrazione è proibito. Nessuno può iscriversi indipendentemente dal provider utilizzato.",
12
+ "EditForm.inputToggle.label.email": "Un solo account per indirizzo email",
13
+ "EditForm.inputToggle.label.email-confirmation": "Abilita conferma email",
14
+ "EditForm.inputToggle.label.email-confirmation-redirection": "URL di reindirizzamento",
15
+ "EditForm.inputToggle.label.email-reset-password": "Pagina reset password",
16
+ "EditForm.inputToggle.label.sign-up": "Abilita registrazione",
17
+ "Email.template.email_confirmation": "Conferma dell'indirizzo Email",
18
+ "HeaderNav.link.advancedSettings": "Impostazioni avanzate",
19
+ "HeaderNav.link.emailTemplates": "Template delle Email",
20
+ "HeaderNav.link.providers": "Provider",
21
+ "Plugin.permissions.plugins.description": "Definisce tutte le azioni consentite per il plugin {name}.",
22
+ "Plugins.header.description": "Di seguito sono elencate solo le azioni vincolate da una route.",
23
+ "Plugins.header.title": "Permessi",
24
+ "Policies.header.hint": "Seleziona le azioni dell'applicazione o del plugin e clicca sull'ingranaggio per mostrare il percorso corrispondente",
25
+ "Policies.header.title": "Impostazioni avanzate",
26
+ "PopUpForm.Email.email_templates.inputDescription": "Se non sai bene come usare le variabili, {link}",
27
+ "PopUpForm.Email.link.documentation": "controlla la nostra documentazione.",
28
+ "PopUpForm.Email.options.from.email.label": "Email del mittente",
29
+ "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
30
+ "PopUpForm.Email.options.from.name.label": "Nome del mittente",
31
+ "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
32
+ "PopUpForm.Email.options.message.label": "Messaggio",
33
+ "PopUpForm.Email.options.object.label": "Oggetto",
34
+ "PopUpForm.Email.options.object.placeholder": "Conferma il tuo indirizzo email per %APP_NAME%",
35
+ "PopUpForm.Email.options.response_email.label": "Email di risposta",
36
+ "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
37
+ "PopUpForm.Providers.enabled.description": "Se disabilitato, gli utenti non potranno usare questo provider.",
38
+ "PopUpForm.Providers.enabled.label": "Abilita",
39
+ "PopUpForm.Providers.key.label": "Client ID",
40
+ "PopUpForm.Providers.key.placeholder": "TEXT",
41
+ "PopUpForm.Providers.redirectURL.front-end.label": "L'URL di reindirizzamento per la tua app di front-end",
42
+ "PopUpForm.Providers.redirectURL.label": "L'URL di reindirizzamento da aggiungere nelle impostazioni dell'applicazione di {provider}",
43
+ "PopUpForm.Providers.secret.label": "Client Secret",
44
+ "PopUpForm.Providers.secret.placeholder": "TEXT",
45
+ "PopUpForm.Providers.subdomain.label": "Host URI (Sottodominio)",
46
+ "PopUpForm.Providers.subdomain.placeholder": "my.subdomain.com",
47
+ "PopUpForm.header.edit.email-templates": "Modifica i Template Email",
48
+ "PopUpForm.header.edit.providers": "Modifica Provider",
49
+ "Settings.roles.deleted": "Ruolo eliminato",
50
+ "Settings.roles.edited": "Ruolo modificato",
51
+ "Settings.section-label": "Plugin Utenti & Permessi",
52
+ "notification.success.submit": "Impostazioni aggiornate",
53
+ "plugin.description.long": "Proteggi le tue API con un processo di autenticazione completo basato su JWT. Questo plugin è implementato con una strategia ACL che ti consente di gestire i permessi tra i gruppi di utenti.",
54
+ "plugin.description.short": "Proteggi le tue API con un processo di autenticazione completo basato su JWT",
55
+ "plugin.name": "Plugin Utenti & Permessi",
56
+ "popUpWarning.button.cancel": "Annulla",
57
+ "popUpWarning.button.confirm": "Conferma",
58
+ "popUpWarning.title": "Si prega di confermare",
59
+ "popUpWarning.warning.cancel": "Sei sicuro di voler annullare le tue modifiche?"
60
+ };
61
+
62
+ exports.default = it;
63
+ //# sourceMappingURL=it-D5VuyoLU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"it-D5VuyoLU.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}