@strapi/email 0.0.0-next.e61eff51f9834ffdef16bdc236aecab5f837723b → 0.0.0-next.e822ba8a3443f5fce869d85539f9fdaa02e10639

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 (263) hide show
  1. package/dist/admin/constants.js +17 -0
  2. package/dist/admin/constants.js.map +1 -0
  3. package/dist/admin/constants.mjs +15 -0
  4. package/dist/admin/constants.mjs.map +1 -0
  5. package/dist/admin/index.js +86 -2
  6. package/dist/admin/index.js.map +1 -1
  7. package/dist/admin/index.mjs +87 -1
  8. package/dist/admin/index.mjs.map +1 -1
  9. package/dist/admin/{chunks/Settings-BBq0I4Nx.js → pages/Settings.js} +21 -38
  10. package/dist/admin/pages/Settings.js.map +1 -0
  11. package/dist/admin/{chunks/Settings-PuQuVXHu.mjs → pages/Settings.mjs} +18 -35
  12. package/dist/admin/pages/Settings.mjs.map +1 -0
  13. package/dist/admin/translations/ar.json.js +6 -0
  14. package/dist/admin/translations/ar.json.js.map +1 -0
  15. package/dist/admin/translations/ar.json.mjs +4 -0
  16. package/dist/admin/translations/ar.json.mjs.map +1 -0
  17. package/dist/admin/translations/cs.json.js +6 -0
  18. package/dist/admin/translations/cs.json.js.map +1 -0
  19. package/dist/admin/translations/cs.json.mjs +4 -0
  20. package/dist/admin/translations/cs.json.mjs.map +1 -0
  21. package/dist/admin/translations/de.json.js +6 -0
  22. package/dist/admin/translations/de.json.js.map +1 -0
  23. package/dist/admin/translations/de.json.mjs +4 -0
  24. package/dist/admin/translations/de.json.mjs.map +1 -0
  25. package/dist/admin/{chunks/dk-DW7WecjY.js → translations/dk.json.js} +2 -2
  26. package/dist/admin/translations/dk.json.js.map +1 -0
  27. package/dist/admin/{chunks/dk-B5IuEReS.mjs → translations/dk.json.mjs} +1 -1
  28. package/dist/admin/translations/dk.json.mjs.map +1 -0
  29. package/dist/admin/{chunks/en-DacnIsXb.js → translations/en.json.js} +3 -1
  30. package/dist/admin/translations/en.json.js.map +1 -0
  31. package/dist/admin/{chunks/en-Dxg2wKLN.mjs → translations/en.json.mjs} +1 -1
  32. package/dist/admin/translations/en.json.mjs.map +1 -0
  33. package/dist/admin/{chunks/es-DxWi6BKM.js → translations/es.json.js} +2 -2
  34. package/dist/admin/translations/es.json.js.map +1 -0
  35. package/dist/admin/{chunks/es-fdc21M_E.mjs → translations/es.json.mjs} +1 -1
  36. package/dist/admin/translations/es.json.mjs.map +1 -0
  37. package/dist/admin/translations/fr.json.js +6 -0
  38. package/dist/admin/translations/fr.json.js.map +1 -0
  39. package/dist/admin/translations/fr.json.mjs +4 -0
  40. package/dist/admin/translations/fr.json.mjs.map +1 -0
  41. package/dist/admin/translations/id.json.js +6 -0
  42. package/dist/admin/translations/id.json.js.map +1 -0
  43. package/dist/admin/translations/id.json.mjs +4 -0
  44. package/dist/admin/translations/id.json.mjs.map +1 -0
  45. package/dist/admin/translations/it.json.js +6 -0
  46. package/dist/admin/translations/it.json.js.map +1 -0
  47. package/dist/admin/translations/it.json.mjs +4 -0
  48. package/dist/admin/translations/it.json.mjs.map +1 -0
  49. package/dist/admin/{chunks/ja-DdOPbVbe.js → translations/ja.json.js} +2 -2
  50. package/dist/admin/translations/ja.json.js.map +1 -0
  51. package/dist/admin/{chunks/ja-CVosbw2M.mjs → translations/ja.json.mjs} +1 -1
  52. package/dist/admin/translations/ja.json.mjs.map +1 -0
  53. package/dist/admin/{chunks/ko-CaWqWfC8.js → translations/ko.json.js} +2 -2
  54. package/dist/admin/translations/ko.json.js.map +1 -0
  55. package/dist/admin/{chunks/ko-B8SR--vZ.mjs → translations/ko.json.mjs} +1 -1
  56. package/dist/admin/translations/ko.json.mjs.map +1 -0
  57. package/dist/admin/translations/ms.json.js +6 -0
  58. package/dist/admin/translations/ms.json.js.map +1 -0
  59. package/dist/admin/translations/ms.json.mjs +4 -0
  60. package/dist/admin/translations/ms.json.mjs.map +1 -0
  61. package/dist/admin/translations/nl.json.js +6 -0
  62. package/dist/admin/translations/nl.json.js.map +1 -0
  63. package/dist/admin/translations/nl.json.mjs +4 -0
  64. package/dist/admin/translations/nl.json.mjs.map +1 -0
  65. package/dist/admin/{chunks/pl-CO-R08qV.js → translations/pl.json.js} +2 -2
  66. package/dist/admin/translations/pl.json.js.map +1 -0
  67. package/dist/admin/{chunks/pl-Bve39qfV.mjs → translations/pl.json.mjs} +1 -1
  68. package/dist/admin/translations/pl.json.mjs.map +1 -0
  69. package/dist/admin/translations/pt-BR.json.js +6 -0
  70. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  71. package/dist/admin/{chunks/pt-BR-DPqDE4wA.mjs → translations/pt-BR.json.mjs} +1 -1
  72. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  73. package/dist/admin/{chunks/pt-BzFac2P5.js → translations/pt.json.js} +3 -1
  74. package/dist/admin/translations/pt.json.js.map +1 -0
  75. package/dist/admin/{chunks/pt-DLqF-Sb4.mjs → translations/pt.json.mjs} +1 -1
  76. package/dist/admin/translations/pt.json.mjs.map +1 -0
  77. package/dist/admin/translations/ru.json.js +32 -0
  78. package/dist/admin/translations/ru.json.js.map +1 -0
  79. package/dist/admin/translations/ru.json.mjs +27 -0
  80. package/dist/admin/translations/ru.json.mjs.map +1 -0
  81. package/dist/admin/translations/sk.json.js +6 -0
  82. package/dist/admin/translations/sk.json.js.map +1 -0
  83. package/dist/admin/translations/sk.json.mjs +4 -0
  84. package/dist/admin/translations/sk.json.mjs.map +1 -0
  85. package/dist/admin/translations/th.json.js +6 -0
  86. package/dist/admin/translations/th.json.js.map +1 -0
  87. package/dist/admin/translations/th.json.mjs +4 -0
  88. package/dist/admin/translations/th.json.mjs.map +1 -0
  89. package/dist/admin/{chunks/tr-n7J_y4Bh.js → translations/tr.json.js} +3 -1
  90. package/dist/admin/translations/tr.json.js.map +1 -0
  91. package/dist/admin/{chunks/tr-BmrcZCoj.mjs → translations/tr.json.mjs} +1 -1
  92. package/dist/admin/translations/tr.json.mjs.map +1 -0
  93. package/dist/admin/{chunks/uk-DWA4QHtk.js → translations/uk.json.js} +3 -1
  94. package/dist/admin/translations/uk.json.js.map +1 -0
  95. package/dist/admin/{chunks/uk-Dsq-0GyK.mjs → translations/uk.json.mjs} +1 -1
  96. package/dist/admin/translations/uk.json.mjs.map +1 -0
  97. package/dist/admin/translations/vi.json.js +6 -0
  98. package/dist/admin/translations/vi.json.js.map +1 -0
  99. package/dist/admin/translations/vi.json.mjs +4 -0
  100. package/dist/admin/translations/vi.json.mjs.map +1 -0
  101. package/dist/admin/{chunks/zh-Hans-D0bb9tfC.js → translations/zh-Hans.json.js} +3 -1
  102. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  103. package/dist/admin/{chunks/zh-Hans-ChWc00HT.mjs → translations/zh-Hans.json.mjs} +1 -1
  104. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  105. package/dist/admin/{chunks/zh-9wNbbqde.js → translations/zh.json.js} +3 -1
  106. package/dist/admin/translations/zh.json.js.map +1 -0
  107. package/dist/admin/{chunks/zh-CZQ4DV5L.mjs → translations/zh.json.mjs} +1 -1
  108. package/dist/admin/translations/zh.json.mjs.map +1 -0
  109. package/dist/admin/utils/getYupInnerErrors.js +23 -0
  110. package/dist/admin/utils/getYupInnerErrors.js.map +1 -0
  111. package/dist/admin/utils/getYupInnerErrors.mjs +21 -0
  112. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -0
  113. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  114. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  115. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  116. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  117. package/dist/admin/utils/schema.js +30 -0
  118. package/dist/admin/utils/schema.js.map +1 -0
  119. package/dist/admin/utils/schema.mjs +9 -0
  120. package/dist/admin/utils/schema.mjs.map +1 -0
  121. package/dist/server/bootstrap.js +44 -0
  122. package/dist/server/bootstrap.js.map +1 -0
  123. package/dist/server/bootstrap.mjs +42 -0
  124. package/dist/server/bootstrap.mjs.map +1 -0
  125. package/dist/server/config.js +15 -0
  126. package/dist/server/config.js.map +1 -0
  127. package/dist/server/config.mjs +13 -0
  128. package/dist/server/config.mjs.map +1 -0
  129. package/dist/server/controllers/email.js +66 -0
  130. package/dist/server/controllers/email.js.map +1 -0
  131. package/dist/server/controllers/email.mjs +64 -0
  132. package/dist/server/controllers/email.mjs.map +1 -0
  133. package/dist/server/controllers/index.js +10 -0
  134. package/dist/server/controllers/index.js.map +1 -0
  135. package/dist/server/controllers/index.mjs +8 -0
  136. package/dist/server/controllers/index.mjs.map +1 -0
  137. package/dist/server/index.js +12 -281
  138. package/dist/server/index.js.map +1 -1
  139. package/dist/server/index.mjs +6 -256
  140. package/dist/server/index.mjs.map +1 -1
  141. package/dist/server/middlewares/index.js +13 -0
  142. package/dist/server/middlewares/index.js.map +1 -0
  143. package/dist/server/middlewares/index.mjs +8 -0
  144. package/dist/server/middlewares/index.mjs.map +1 -0
  145. package/dist/server/middlewares/rateLimit.js +37 -0
  146. package/dist/server/middlewares/rateLimit.js.map +1 -0
  147. package/dist/server/middlewares/rateLimit.mjs +35 -0
  148. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  149. package/dist/server/routes/admin.js +56 -0
  150. package/dist/server/routes/admin.js.map +1 -0
  151. package/dist/server/routes/admin.mjs +54 -0
  152. package/dist/server/routes/admin.mjs.map +1 -0
  153. package/dist/server/routes/content-api.js +24 -0
  154. package/dist/server/routes/content-api.js.map +1 -0
  155. package/dist/server/routes/content-api.mjs +22 -0
  156. package/dist/server/routes/content-api.mjs.map +1 -0
  157. package/dist/server/routes/index.js +12 -0
  158. package/dist/server/routes/index.js.map +1 -0
  159. package/dist/server/routes/index.mjs +10 -0
  160. package/dist/server/routes/index.mjs.map +1 -0
  161. package/dist/server/routes/validation/email.js +46 -0
  162. package/dist/server/routes/validation/email.js.map +1 -0
  163. package/dist/server/routes/validation/email.mjs +25 -0
  164. package/dist/server/routes/validation/email.mjs.map +1 -0
  165. package/dist/server/services/email.js +63 -0
  166. package/dist/server/services/email.js.map +1 -0
  167. package/dist/server/services/email.mjs +42 -0
  168. package/dist/server/services/email.mjs.map +1 -0
  169. package/dist/server/services/index.js +10 -0
  170. package/dist/server/services/index.js.map +1 -0
  171. package/dist/server/services/index.mjs +8 -0
  172. package/dist/server/services/index.mjs.map +1 -0
  173. package/dist/server/src/bootstrap.d.ts.map +1 -1
  174. package/dist/server/src/index.d.ts +3 -7
  175. package/dist/server/src/index.d.ts.map +1 -1
  176. package/dist/server/src/routes/content-api.d.ts +5 -8
  177. package/dist/server/src/routes/content-api.d.ts.map +1 -1
  178. package/dist/server/src/routes/index.d.ts +3 -7
  179. package/dist/server/src/routes/index.d.ts.map +1 -1
  180. package/dist/server/src/routes/validation/email.d.ts +18 -0
  181. package/dist/server/src/routes/validation/email.d.ts.map +1 -0
  182. package/dist/server/src/routes/validation/index.d.ts +2 -0
  183. package/dist/server/src/routes/validation/index.d.ts.map +1 -0
  184. package/package.json +12 -11
  185. package/dist/admin/chunks/Settings-BBq0I4Nx.js.map +0 -1
  186. package/dist/admin/chunks/Settings-PuQuVXHu.mjs.map +0 -1
  187. package/dist/admin/chunks/ar-BDHMRt_b.js +0 -6
  188. package/dist/admin/chunks/ar-BDHMRt_b.js.map +0 -1
  189. package/dist/admin/chunks/ar-JWJKrFM-.mjs +0 -4
  190. package/dist/admin/chunks/ar-JWJKrFM-.mjs.map +0 -1
  191. package/dist/admin/chunks/cs-BZCMeXgq.mjs +0 -4
  192. package/dist/admin/chunks/cs-BZCMeXgq.mjs.map +0 -1
  193. package/dist/admin/chunks/cs-DrOn3eR2.js +0 -6
  194. package/dist/admin/chunks/cs-DrOn3eR2.js.map +0 -1
  195. package/dist/admin/chunks/de-BlqtkWR3.js +0 -6
  196. package/dist/admin/chunks/de-BlqtkWR3.js.map +0 -1
  197. package/dist/admin/chunks/de-CGlAhulB.mjs +0 -4
  198. package/dist/admin/chunks/de-CGlAhulB.mjs.map +0 -1
  199. package/dist/admin/chunks/dk-B5IuEReS.mjs.map +0 -1
  200. package/dist/admin/chunks/dk-DW7WecjY.js.map +0 -1
  201. package/dist/admin/chunks/en-DacnIsXb.js.map +0 -1
  202. package/dist/admin/chunks/en-Dxg2wKLN.mjs.map +0 -1
  203. package/dist/admin/chunks/es-DxWi6BKM.js.map +0 -1
  204. package/dist/admin/chunks/es-fdc21M_E.mjs.map +0 -1
  205. package/dist/admin/chunks/fr-BsENAPSS.js +0 -6
  206. package/dist/admin/chunks/fr-BsENAPSS.js.map +0 -1
  207. package/dist/admin/chunks/fr-DZjvYp6C.mjs +0 -4
  208. package/dist/admin/chunks/fr-DZjvYp6C.mjs.map +0 -1
  209. package/dist/admin/chunks/id-BORUwKHm.js +0 -6
  210. package/dist/admin/chunks/id-BORUwKHm.js.map +0 -1
  211. package/dist/admin/chunks/id-C1eDxX9W.mjs +0 -4
  212. package/dist/admin/chunks/id-C1eDxX9W.mjs.map +0 -1
  213. package/dist/admin/chunks/index-BPAZGe7V.mjs +0 -105
  214. package/dist/admin/chunks/index-BPAZGe7V.mjs.map +0 -1
  215. package/dist/admin/chunks/index-uY5sPjIN.js +0 -108
  216. package/dist/admin/chunks/index-uY5sPjIN.js.map +0 -1
  217. package/dist/admin/chunks/it-DVlJ2EhA.mjs +0 -4
  218. package/dist/admin/chunks/it-DVlJ2EhA.mjs.map +0 -1
  219. package/dist/admin/chunks/it-eAGyIQ1x.js +0 -6
  220. package/dist/admin/chunks/it-eAGyIQ1x.js.map +0 -1
  221. package/dist/admin/chunks/ja-CVosbw2M.mjs.map +0 -1
  222. package/dist/admin/chunks/ja-DdOPbVbe.js.map +0 -1
  223. package/dist/admin/chunks/ko-B8SR--vZ.mjs.map +0 -1
  224. package/dist/admin/chunks/ko-CaWqWfC8.js.map +0 -1
  225. package/dist/admin/chunks/ms-CrRuDILn.js +0 -6
  226. package/dist/admin/chunks/ms-CrRuDILn.js.map +0 -1
  227. package/dist/admin/chunks/ms-DLngEN2_.mjs +0 -4
  228. package/dist/admin/chunks/ms-DLngEN2_.mjs.map +0 -1
  229. package/dist/admin/chunks/nl-B6Q0VF48.mjs +0 -4
  230. package/dist/admin/chunks/nl-B6Q0VF48.mjs.map +0 -1
  231. package/dist/admin/chunks/nl-BMsBb10t.js +0 -6
  232. package/dist/admin/chunks/nl-BMsBb10t.js.map +0 -1
  233. package/dist/admin/chunks/pl-Bve39qfV.mjs.map +0 -1
  234. package/dist/admin/chunks/pl-CO-R08qV.js.map +0 -1
  235. package/dist/admin/chunks/pt-BR-CBzJhkyg.js +0 -6
  236. package/dist/admin/chunks/pt-BR-CBzJhkyg.js.map +0 -1
  237. package/dist/admin/chunks/pt-BR-DPqDE4wA.mjs.map +0 -1
  238. package/dist/admin/chunks/pt-BzFac2P5.js.map +0 -1
  239. package/dist/admin/chunks/pt-DLqF-Sb4.mjs.map +0 -1
  240. package/dist/admin/chunks/ru-DnqOAZDX.js +0 -6
  241. package/dist/admin/chunks/ru-DnqOAZDX.js.map +0 -1
  242. package/dist/admin/chunks/ru-rmFYdvwh.mjs +0 -4
  243. package/dist/admin/chunks/ru-rmFYdvwh.mjs.map +0 -1
  244. package/dist/admin/chunks/sk-DDJmUHcx.mjs +0 -4
  245. package/dist/admin/chunks/sk-DDJmUHcx.mjs.map +0 -1
  246. package/dist/admin/chunks/sk-N47IGfwH.js +0 -6
  247. package/dist/admin/chunks/sk-N47IGfwH.js.map +0 -1
  248. package/dist/admin/chunks/th-BqTCSpUc.mjs +0 -4
  249. package/dist/admin/chunks/th-BqTCSpUc.mjs.map +0 -1
  250. package/dist/admin/chunks/th-OW3_QVEZ.js +0 -6
  251. package/dist/admin/chunks/th-OW3_QVEZ.js.map +0 -1
  252. package/dist/admin/chunks/tr-BmrcZCoj.mjs.map +0 -1
  253. package/dist/admin/chunks/tr-n7J_y4Bh.js.map +0 -1
  254. package/dist/admin/chunks/uk-DWA4QHtk.js.map +0 -1
  255. package/dist/admin/chunks/uk-Dsq-0GyK.mjs.map +0 -1
  256. package/dist/admin/chunks/vi-CO9gCtmD.mjs +0 -4
  257. package/dist/admin/chunks/vi-CO9gCtmD.mjs.map +0 -1
  258. package/dist/admin/chunks/vi-DjJBc-ms.js +0 -6
  259. package/dist/admin/chunks/vi-DjJBc-ms.js.map +0 -1
  260. package/dist/admin/chunks/zh-9wNbbqde.js.map +0 -1
  261. package/dist/admin/chunks/zh-CZQ4DV5L.mjs.map +0 -1
  262. package/dist/admin/chunks/zh-Hans-ChWc00HT.mjs.map +0 -1
  263. package/dist/admin/chunks/zh-Hans-D0bb9tfC.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ const PERMISSIONS = {
4
+ // This permission regards the main component (App) and is used to tell
5
+ // If the plugin link should be displayed in the menu
6
+ // And also if the plugin is accessible. This use case is found when a user types the url of the
7
+ // plugin directly in the browser
8
+ settings: [
9
+ {
10
+ action: 'plugin::email.settings.read',
11
+ subject: null
12
+ }
13
+ ]
14
+ };
15
+
16
+ exports.PERMISSIONS = PERMISSIONS;
17
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n settings: [{ action: 'plugin::email.settings.read', subject: null }],\n};\n"],"names":["PERMISSIONS","settings","action","subject"],"mappings":";;MAAaA,WAAc,GAAA;;;;;IAKzBC,QAAU,EAAA;AAAC,QAAA;YAAEC,MAAQ,EAAA,6BAAA;YAA+BC,OAAS,EAAA;AAAK;AAAE;AACtE;;;;"}
@@ -0,0 +1,15 @@
1
+ const PERMISSIONS = {
2
+ // This permission regards the main component (App) and is used to tell
3
+ // If the plugin link should be displayed in the menu
4
+ // And also if the plugin is accessible. This use case is found when a user types the url of the
5
+ // plugin directly in the browser
6
+ settings: [
7
+ {
8
+ action: 'plugin::email.settings.read',
9
+ subject: null
10
+ }
11
+ ]
12
+ };
13
+
14
+ export { PERMISSIONS };
15
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../admin/src/constants.ts"],"sourcesContent":["export const PERMISSIONS = {\n // This permission regards the main component (App) and is used to tell\n // If the plugin link should be displayed in the menu\n // And also if the plugin is accessible. This use case is found when a user types the url of the\n // plugin directly in the browser\n settings: [{ action: 'plugin::email.settings.read', subject: null }],\n};\n"],"names":["PERMISSIONS","settings","action","subject"],"mappings":"MAAaA,WAAc,GAAA;;;;;IAKzBC,QAAU,EAAA;AAAC,QAAA;YAAEC,MAAQ,EAAA,6BAAA;YAA+BC,OAAS,EAAA;AAAK;AAAE;AACtE;;;;"}
@@ -1,8 +1,92 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./chunks/index-uY5sPjIN.js');
3
+ var constants = require('./constants.js');
4
+ var prefixPluginTranslations = require('./utils/prefixPluginTranslations.js');
4
5
 
6
+ function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
5
7
 
8
+ function __variableDynamicImportRuntime1__(path) {
9
+ switch (path) {
10
+ case './translations/ar.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ar.json.js')); });
11
+ case './translations/cs.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/cs.json.js')); });
12
+ case './translations/de.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/de.json.js')); });
13
+ case './translations/dk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/dk.json.js')); });
14
+ case './translations/en.json': return Promise.resolve().then(function () { return require('./translations/en.json.js'); });
15
+ case './translations/es.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/es.json.js')); });
16
+ case './translations/fr.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/fr.json.js')); });
17
+ case './translations/id.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/id.json.js')); });
18
+ case './translations/it.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/it.json.js')); });
19
+ case './translations/ja.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ja.json.js')); });
20
+ case './translations/ko.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ko.json.js')); });
21
+ case './translations/ms.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/ms.json.js')); });
22
+ case './translations/nl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/nl.json.js')); });
23
+ case './translations/pl.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/pl.json.js')); });
24
+ case './translations/pt-BR.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/pt-BR.json.js')); });
25
+ case './translations/pt.json': return Promise.resolve().then(function () { return require('./translations/pt.json.js'); });
26
+ case './translations/ru.json': return Promise.resolve().then(function () { return require('./translations/ru.json.js'); });
27
+ case './translations/sk.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/sk.json.js')); });
28
+ case './translations/th.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/th.json.js')); });
29
+ case './translations/tr.json': return Promise.resolve().then(function () { return require('./translations/tr.json.js'); });
30
+ case './translations/uk.json': return Promise.resolve().then(function () { return require('./translations/uk.json.js'); });
31
+ case './translations/vi.json': return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespaceDefaultOnly(require('./translations/vi.json.js')); });
32
+ case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./translations/zh-Hans.json.js'); });
33
+ case './translations/zh.json': return Promise.resolve().then(function () { return require('./translations/zh.json.js'); });
34
+ default: return new Promise(function(resolve, reject) {
35
+ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
36
+ reject.bind(null, new Error("Unknown variable dynamic import: " + path))
37
+ );
38
+ })
39
+ }
40
+ }
41
+ const admin = {
42
+ // TODO typing app in strapi/types as every plugin needs it
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ register (app) {
45
+ // Create the email settings section
46
+ app.createSettingSection({
47
+ id: 'email',
48
+ intlLabel: {
49
+ id: 'email.SettingsNav.section-label',
50
+ defaultMessage: 'Email Plugin'
51
+ }
52
+ }, [
53
+ {
54
+ intlLabel: {
55
+ id: 'email.Settings.email.plugin.title',
56
+ defaultMessage: 'Settings'
57
+ },
58
+ id: 'settings',
59
+ to: 'email',
60
+ Component: ()=>Promise.resolve().then(function () { return require('./pages/Settings.js'); }).then((mod)=>({
61
+ default: mod.ProtectedSettingsPage
62
+ })),
63
+ permissions: constants.PERMISSIONS.settings
64
+ }
65
+ ]);
66
+ app.registerPlugin({
67
+ id: 'email',
68
+ name: 'email'
69
+ });
70
+ },
71
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
72
+ bootstrap () {},
73
+ async registerTrads ({ locales }) {
74
+ const importedTrads = await Promise.all(locales.map((locale)=>{
75
+ return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data })=>{
76
+ return {
77
+ data: prefixPluginTranslations.prefixPluginTranslations(data, 'email'),
78
+ locale
79
+ };
80
+ }).catch(()=>{
81
+ return {
82
+ data: {},
83
+ locale
84
+ };
85
+ });
86
+ }));
87
+ return Promise.resolve(importedTrads);
88
+ }
89
+ };
6
90
 
7
- module.exports = index.admin;
91
+ module.exports = admin;
8
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PERMISSIONS } from './constants';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n // TODO typing app in strapi/types as every plugin needs it\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n register(app: any) {\n // Create the email settings section\n app.createSettingSection(\n {\n id: 'email',\n intlLabel: { id: 'email.SettingsNav.section-label', defaultMessage: 'Email Plugin' },\n },\n [\n {\n intlLabel: {\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Settings',\n },\n id: 'settings',\n to: 'email',\n Component: () =>\n import('./pages/Settings').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n })),\n permissions: PERMISSIONS.settings,\n },\n ]\n );\n app.registerPlugin({\n id: 'email',\n name: 'email',\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'email'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","createSettingSection","id","intlLabel","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","settings","registerPlugin","name","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,KAAkC,GAAA;;;AAGtCC,IAAAA,QAAAA,CAAAA,CAASC,GAAQ,EAAA;;AAEfA,QAAAA,GAAAA,CAAIC,oBAAoB,CACtB;YACEC,EAAI,EAAA,OAAA;YACJC,SAAW,EAAA;gBAAED,EAAI,EAAA,iCAAA;gBAAmCE,cAAgB,EAAA;AAAe;SAErF,EAAA;AACE,YAAA;gBACED,SAAW,EAAA;oBACTD,EAAI,EAAA,mCAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;gBACAF,EAAI,EAAA,UAAA;gBACJG,EAAI,EAAA,OAAA;gBACJC,SAAW,EAAA,IACT,oDAAO,qBAAA,KAAA,CAAoBC,IAAI,CAAC,CAACC,OAAS;AACxCC,4BAAAA,OAAAA,EAASD,IAAIE;yBACf,CAAA,CAAA;AACFC,gBAAAA,WAAAA,EAAaC,sBAAYC;AAC3B;AACD,SAAA,CAAA;AAEHb,QAAAA,GAAAA,CAAIc,cAAc,CAAC;YACjBZ,EAAI,EAAA,OAAA;YACJa,IAAM,EAAA;AACR,SAAA,CAAA;AACF,KAAA;;IAEAC,SAAa,CAAA,GAAA,EAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAQC,CAAAA,GAAG,CACrCH,OAAQI,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAO,CAAA,KAAK,CAAC,CAAA,CAC1ChB,IAAI,CAAC,CAAC,EAAEE,OAAAA,EAASe,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,kDAAyBD,IAAM,EAAA,OAAA,CAAA;AACrCD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA,CACCG,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA;AACJ,SAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQO,OAAO,CAACR,aAAAA,CAAAA;AACzB;AACF;;;;"}
@@ -1,2 +1,88 @@
1
- export { a as default } from './chunks/index-BPAZGe7V.mjs';
1
+ import { PERMISSIONS } from './constants.mjs';
2
+ import { prefixPluginTranslations } from './utils/prefixPluginTranslations.mjs';
3
+
4
+ function __variableDynamicImportRuntime1__(path) {
5
+ switch (path) {
6
+ case './translations/ar.json': return import('./translations/ar.json.mjs');
7
+ case './translations/cs.json': return import('./translations/cs.json.mjs');
8
+ case './translations/de.json': return import('./translations/de.json.mjs');
9
+ case './translations/dk.json': return import('./translations/dk.json.mjs');
10
+ case './translations/en.json': return import('./translations/en.json.mjs');
11
+ case './translations/es.json': return import('./translations/es.json.mjs');
12
+ case './translations/fr.json': return import('./translations/fr.json.mjs');
13
+ case './translations/id.json': return import('./translations/id.json.mjs');
14
+ case './translations/it.json': return import('./translations/it.json.mjs');
15
+ case './translations/ja.json': return import('./translations/ja.json.mjs');
16
+ case './translations/ko.json': return import('./translations/ko.json.mjs');
17
+ case './translations/ms.json': return import('./translations/ms.json.mjs');
18
+ case './translations/nl.json': return import('./translations/nl.json.mjs');
19
+ case './translations/pl.json': return import('./translations/pl.json.mjs');
20
+ case './translations/pt-BR.json': return import('./translations/pt-BR.json.mjs');
21
+ case './translations/pt.json': return import('./translations/pt.json.mjs');
22
+ case './translations/ru.json': return import('./translations/ru.json.mjs');
23
+ case './translations/sk.json': return import('./translations/sk.json.mjs');
24
+ case './translations/th.json': return import('./translations/th.json.mjs');
25
+ case './translations/tr.json': return import('./translations/tr.json.mjs');
26
+ case './translations/uk.json': return import('./translations/uk.json.mjs');
27
+ case './translations/vi.json': return import('./translations/vi.json.mjs');
28
+ case './translations/zh-Hans.json': return import('./translations/zh-Hans.json.mjs');
29
+ case './translations/zh.json': return import('./translations/zh.json.mjs');
30
+ default: return new Promise(function(resolve, reject) {
31
+ (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
32
+ reject.bind(null, new Error("Unknown variable dynamic import: " + path))
33
+ );
34
+ })
35
+ }
36
+ }
37
+ const admin = {
38
+ // TODO typing app in strapi/types as every plugin needs it
39
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
+ register (app) {
41
+ // Create the email settings section
42
+ app.createSettingSection({
43
+ id: 'email',
44
+ intlLabel: {
45
+ id: 'email.SettingsNav.section-label',
46
+ defaultMessage: 'Email Plugin'
47
+ }
48
+ }, [
49
+ {
50
+ intlLabel: {
51
+ id: 'email.Settings.email.plugin.title',
52
+ defaultMessage: 'Settings'
53
+ },
54
+ id: 'settings',
55
+ to: 'email',
56
+ Component: ()=>import('./pages/Settings.mjs').then((mod)=>({
57
+ default: mod.ProtectedSettingsPage
58
+ })),
59
+ permissions: PERMISSIONS.settings
60
+ }
61
+ ]);
62
+ app.registerPlugin({
63
+ id: 'email',
64
+ name: 'email'
65
+ });
66
+ },
67
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
68
+ bootstrap () {},
69
+ async registerTrads ({ locales }) {
70
+ const importedTrads = await Promise.all(locales.map((locale)=>{
71
+ return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data })=>{
72
+ return {
73
+ data: prefixPluginTranslations(data, 'email'),
74
+ locale
75
+ };
76
+ }).catch(()=>{
77
+ return {
78
+ data: {},
79
+ locale
80
+ };
81
+ });
82
+ }));
83
+ return Promise.resolve(importedTrads);
84
+ }
85
+ };
86
+
87
+ export { admin as default };
2
88
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.mjs","sources":["../../admin/src/index.ts"],"sourcesContent":["import { PERMISSIONS } from './constants';\nimport { prefixPluginTranslations } from './utils/prefixPluginTranslations';\n\nimport type { Plugin } from '@strapi/types';\n\nconst admin: Plugin.Config.AdminInput = {\n // TODO typing app in strapi/types as every plugin needs it\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n register(app: any) {\n // Create the email settings section\n app.createSettingSection(\n {\n id: 'email',\n intlLabel: { id: 'email.SettingsNav.section-label', defaultMessage: 'Email Plugin' },\n },\n [\n {\n intlLabel: {\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Settings',\n },\n id: 'settings',\n to: 'email',\n Component: () =>\n import('./pages/Settings').then((mod) => ({\n default: mod.ProtectedSettingsPage,\n })),\n permissions: PERMISSIONS.settings,\n },\n ]\n );\n app.registerPlugin({\n id: 'email',\n name: 'email',\n });\n },\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n bootstrap() {},\n async registerTrads({ locales }: { locales: string[] }) {\n const importedTrads = await Promise.all(\n locales.map((locale) => {\n return import(`./translations/${locale}.json`)\n .then(({ default: data }) => {\n return {\n data: prefixPluginTranslations(data, 'email'),\n locale,\n };\n })\n .catch(() => {\n return {\n data: {},\n locale,\n };\n });\n })\n );\n\n return Promise.resolve(importedTrads);\n },\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default admin;\n"],"names":["admin","register","app","createSettingSection","id","intlLabel","defaultMessage","to","Component","then","mod","default","ProtectedSettingsPage","permissions","PERMISSIONS","settings","registerPlugin","name","bootstrap","registerTrads","locales","importedTrads","Promise","all","map","locale","data","prefixPluginTranslations","catch","resolve"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAMA,KAAkC,GAAA;;;AAGtCC,IAAAA,QAAAA,CAAAA,CAASC,GAAQ,EAAA;;AAEfA,QAAAA,GAAAA,CAAIC,oBAAoB,CACtB;YACEC,EAAI,EAAA,OAAA;YACJC,SAAW,EAAA;gBAAED,EAAI,EAAA,iCAAA;gBAAmCE,cAAgB,EAAA;AAAe;SAErF,EAAA;AACE,YAAA;gBACED,SAAW,EAAA;oBACTD,EAAI,EAAA,mCAAA;oBACJE,cAAgB,EAAA;AAClB,iBAAA;gBACAF,EAAI,EAAA,UAAA;gBACJG,EAAI,EAAA,OAAA;gBACJC,SAAW,EAAA,IACT,OAAO,sBAAA,CAAA,CAAoBC,IAAI,CAAC,CAACC,OAAS;AACxCC,4BAAAA,OAAAA,EAASD,IAAIE;yBACf,CAAA,CAAA;AACFC,gBAAAA,WAAAA,EAAaC,YAAYC;AAC3B;AACD,SAAA,CAAA;AAEHb,QAAAA,GAAAA,CAAIc,cAAc,CAAC;YACjBZ,EAAI,EAAA,OAAA;YACJa,IAAM,EAAA;AACR,SAAA,CAAA;AACF,KAAA;;IAEAC,SAAa,CAAA,GAAA,EAAA;IACb,MAAMC,aAAAA,CAAAA,CAAc,EAAEC,OAAO,EAAyB,EAAA;QACpD,MAAMC,aAAAA,GAAgB,MAAMC,OAAQC,CAAAA,GAAG,CACrCH,OAAQI,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACX,YAAA,OAAO,iCAAM,CAAC,CAAC,eAAe,EAAEA,MAAO,CAAA,KAAK,CAAC,CAAA,CAC1ChB,IAAI,CAAC,CAAC,EAAEE,OAAAA,EAASe,IAAI,EAAE,GAAA;gBACtB,OAAO;AACLA,oBAAAA,IAAAA,EAAMC,yBAAyBD,IAAM,EAAA,OAAA,CAAA;AACrCD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA,CACCG,KAAK,CAAC,IAAA;gBACL,OAAO;AACLF,oBAAAA,IAAAA,EAAM,EAAC;AACPD,oBAAAA;AACF,iBAAA;AACF,aAAA,CAAA;AACJ,SAAA,CAAA,CAAA;QAGF,OAAOH,OAAAA,CAAQO,OAAO,CAACR,aAAAA,CAAAA;AACzB;AACF;;;;"}
@@ -9,7 +9,9 @@ var reactIntl = require('react-intl');
9
9
  var reactQuery = require('react-query');
10
10
  var styledComponents = require('styled-components');
11
11
  var yup = require('yup');
12
- var index = require('./index-uY5sPjIN.js');
12
+ var constants = require('../constants.js');
13
+ var getYupInnerErrors = require('../utils/getYupInnerErrors.js');
14
+ var schema = require('../utils/schema.js');
13
15
 
14
16
  function _interopNamespaceDefault(e) {
15
17
  var n = Object.create(null);
@@ -29,36 +31,12 @@ function _interopNamespaceDefault(e) {
29
31
  }
30
32
 
31
33
  var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
32
- var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
33
-
34
- const extractValuesFromYupError = (errorType, errorParams)=>{
35
- if (!errorType || !errorParams) {
36
- return {};
37
- }
38
- return {
39
- [errorType]: errorParams[errorType]
40
- };
41
- };
42
- const getYupInnerErrors = (error)=>(error?.inner || []).reduce((acc, currentError)=>{
43
- if (currentError.path) {
44
- acc[currentError.path.split('[').join('.').split(']').join('')] = {
45
- id: currentError.message,
46
- defaultMessage: currentError.message,
47
- values: extractValuesFromYupError(currentError?.type, currentError?.params)
48
- };
49
- }
50
- return acc;
51
- }, {});
52
-
53
- const schema = yup__namespace.object().shape({
54
- email: yup__namespace.string().email(strapiAdmin.translatedErrors.email.id).required(strapiAdmin.translatedErrors.required.id)
55
- });
56
34
 
57
35
  const DocumentationLink = styledComponents.styled.a`
58
36
  color: ${({ theme })=>theme.colors.primary600};
59
37
  `;
60
38
  const ProtectedSettingsPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Protect, {
61
- permissions: index.PERMISSIONS.settings,
39
+ permissions: constants.PERMISSIONS.settings,
62
40
  children: /*#__PURE__*/ jsxRuntime.jsx(SettingsPage, {})
63
41
  });
64
42
  const SettingsPage = ()=>{
@@ -106,7 +84,7 @@ const SettingsPage = ()=>{
106
84
  retry: false
107
85
  });
108
86
  React__namespace.useEffect(()=>{
109
- schema.validate({
87
+ schema.schema.validate({
110
88
  email: testAddress
111
89
  }, {
112
90
  abortEarly: false
@@ -120,14 +98,14 @@ const SettingsPage = ()=>{
120
98
  const handleSubmit = async (event)=>{
121
99
  event.preventDefault();
122
100
  try {
123
- await schema.validate({
101
+ await schema.schema.validate({
124
102
  email: testAddress
125
103
  }, {
126
104
  abortEarly: false
127
105
  });
128
106
  } catch (error) {
129
107
  if (error instanceof yup.ValidationError) {
130
- setFormErrors(getYupInnerErrors(error));
108
+ setFormErrors(getYupInnerErrors.getYupInnerErrors(error));
131
109
  }
132
110
  }
133
111
  mutation.mutate({
@@ -221,7 +199,7 @@ const SettingsPage = ()=>{
221
199
  children: [
222
200
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
223
201
  col: 6,
224
- s: 12,
202
+ xs: 12,
225
203
  direction: "column",
226
204
  alignItems: "stretch",
227
205
  children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
@@ -239,14 +217,16 @@ const SettingsPage = ()=>{
239
217
  defaultMessage: "ex: Strapi No-Reply '<'no-reply@strapi.io'>'"
240
218
  }),
241
219
  disabled: true,
242
- value: data.settings.defaultFrom
220
+ readOnly: true,
221
+ value: data.settings.defaultFrom,
222
+ type: "email"
243
223
  })
244
224
  ]
245
225
  })
246
226
  }),
247
227
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
248
228
  col: 6,
249
- s: 12,
229
+ xs: 12,
250
230
  direction: "column",
251
231
  alignItems: "stretch",
252
232
  children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
@@ -264,14 +244,16 @@ const SettingsPage = ()=>{
264
244
  defaultMessage: `ex: Strapi '<'example@strapi.io'>'`
265
245
  }),
266
246
  disabled: true,
267
- value: data.settings.defaultReplyTo
247
+ readOnly: true,
248
+ value: data.settings.defaultReplyTo,
249
+ type: "email"
268
250
  })
269
251
  ]
270
252
  })
271
253
  }),
272
254
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
273
255
  col: 6,
274
- s: 12,
256
+ xs: 12,
275
257
  direction: "column",
276
258
  alignItems: "stretch",
277
259
  children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
@@ -324,7 +306,7 @@ const SettingsPage = ()=>{
324
306
  children: [
325
307
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
326
308
  col: 6,
327
- s: 12,
309
+ xs: 12,
328
310
  direction: "column",
329
311
  alignItems: "stretch",
330
312
  children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
@@ -346,14 +328,15 @@ const SettingsPage = ()=>{
346
328
  placeholder: formatMessage({
347
329
  id: 'email.Settings.email.plugin.placeholder.testAddress',
348
330
  defaultMessage: 'ex: developer@example.com'
349
- })
331
+ }),
332
+ type: "email"
350
333
  })
351
334
  ]
352
335
  })
353
336
  }),
354
337
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
355
338
  col: 7,
356
- s: 12,
339
+ xs: 12,
357
340
  direction: "column",
358
341
  alignItems: "start",
359
342
  children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
@@ -380,4 +363,4 @@ const SettingsPage = ()=>{
380
363
  };
381
364
 
382
365
  exports.ProtectedSettingsPage = ProtectedSettingsPage;
383
- //# sourceMappingURL=Settings-BBq0I4Nx.js.map
366
+ //# sourceMappingURL=Settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Settings.js","sources":["../../../admin/src/pages/Settings.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';\nimport {\n Box,\n Button,\n Flex,\n Grid,\n SingleSelectOption,\n SingleSelect,\n TextInput,\n Typography,\n Field,\n} from '@strapi/design-system';\nimport { Mail } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useQuery, useMutation } from 'react-query';\nimport { styled } from 'styled-components';\nimport { ValidationError } from 'yup';\n\nimport { PERMISSIONS } from '../constants';\nimport { getYupInnerErrors } from '../utils/getYupInnerErrors';\nimport { schema } from '../utils/schema';\n\nimport type { EmailSettings } from '../../../shared/types';\n\nconst DocumentationLink = styled.a`\n color: ${({ theme }) => theme.colors.primary600};\n`;\n\ninterface MutationBody {\n to: string;\n}\n\nexport const ProtectedSettingsPage = () => (\n <Page.Protect permissions={PERMISSIONS.settings}>\n <SettingsPage />\n </Page.Protect>\n);\n\nconst SettingsPage = () => {\n const { toggleNotification } = useNotification();\n const { formatMessage } = useIntl();\n const { get, post } = useFetchClient();\n\n const [testAddress, setTestAddress] = React.useState('');\n const [isTestAddressValid, setIsTestAddressValid] = React.useState(false);\n\n // TODO: I'm not sure how to type this. I think it should be Record<string, TranslationMessage> but that type is defined in the helper-plugin\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const [formErrors, setFormErrors] = React.useState<Record<string, any>>({});\n\n const { data, isLoading } = useQuery(['email', 'settings'], async () => {\n const res = await get<EmailSettings>('/email/settings');\n const {\n data: { config },\n } = res;\n\n return config;\n });\n\n const mutation = useMutation<void, Error, MutationBody>(\n async (body) => {\n await post('/email/test', body);\n },\n {\n onError() {\n toggleNotification!({\n type: 'danger',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.error',\n defaultMessage: 'Failed to send a test mail to {to}',\n },\n { to: testAddress }\n ),\n });\n },\n onSuccess() {\n toggleNotification!({\n type: 'success',\n message: formatMessage(\n {\n id: 'email.Settings.email.plugin.notification.test.success',\n defaultMessage: 'Email test succeeded, check the {to} mailbox',\n },\n { to: testAddress }\n ),\n });\n },\n retry: false,\n }\n );\n\n React.useEffect(() => {\n schema\n .validate({ email: testAddress }, { abortEarly: false })\n .then(() => setIsTestAddressValid(true))\n .catch(() => setIsTestAddressValid(false));\n }, [testAddress]);\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setTestAddress(() => event.target.value);\n };\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n try {\n await schema.validate({ email: testAddress }, { abortEarly: false });\n } catch (error) {\n if (error instanceof ValidationError) {\n setFormErrors(getYupInnerErrors(error));\n }\n }\n\n mutation.mutate({ to: testAddress });\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main labelledBy=\"title\" aria-busy={isLoading || mutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n id=\"title\"\n title={formatMessage({\n id: 'email.Settings.email.plugin.title',\n defaultMessage: 'Configuration',\n })}\n subtitle={formatMessage({\n id: 'email.Settings.email.plugin.subTitle',\n defaultMessage: 'Test the settings for the Email plugin',\n })}\n />\n\n <Layouts.Content>\n {data && (\n <form onSubmit={handleSubmit}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={7}>\n <Box\n background=\"neutral0\"\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={1}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'email.Settings.email.plugin.title.config',\n defaultMessage: 'Configuration',\n })}\n </Typography>\n <Typography>\n {formatMessage(\n {\n id: 'email.Settings.email.plugin.text.configuration',\n defaultMessage:\n 'The plugin is configured through the {file} file, checkout this {link} for the documentation.',\n },\n {\n file: './config/plugins.js',\n link: (\n <DocumentationLink\n href=\"https://docs.strapi.io/developer-docs/latest/plugins/email.html\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {formatMessage({\n id: 'email.link',\n defaultMessage: 'Link',\n })}\n </DocumentationLink>\n ),\n }\n )}\n </Typography>\n </Flex>\n\n <Grid.Root gap={5}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root name=\"shipper-email\">\n <Field.Label>\n {formatMessage({\n id: 'email.Settings.email.plugin.label.defaultFrom',\n defaultMessage: 'Default sender email',\n })}\n </Field.Label>\n <TextInput\n placeholder={formatMessage({\n id: 'email.Settings.email.plugin.placeholder.defaultFrom',\n defaultMessage: \"ex: Strapi No-Reply '<'no-reply@strapi.io'>'\",\n })}\n disabled\n readOnly\n value={data.settings.defaultFrom}\n type=\"email\"\n />\n </Field.Root>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root name=\"response-email\">\n <Field.Label>\n {formatMessage({\n id: 'email.Settings.email.plugin.label.defaultReplyTo',\n defaultMessage: 'Default response email',\n })}\n </Field.Label>\n <TextInput\n placeholder={formatMessage({\n id: 'email.Settings.email.plugin.placeholder.defaultReplyTo',\n defaultMessage: `ex: Strapi '<'example@strapi.io'>'`,\n })}\n disabled\n readOnly\n value={data.settings.defaultReplyTo}\n type=\"email\"\n />\n </Field.Root>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root name=\"email-provider\">\n <Field.Label>\n {formatMessage({\n id: 'email.Settings.email.plugin.label.provider',\n defaultMessage: 'Email provider',\n })}\n </Field.Label>\n <SingleSelect disabled value={data.provider}>\n <SingleSelectOption value={data.provider}>\n {data.provider}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Box>\n\n <Flex\n alignItems=\"stretch\"\n background=\"neutral0\"\n direction=\"column\"\n gap={4}\n hasRadius\n shadow=\"filterShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: 'email.Settings.email.plugin.title.test',\n defaultMessage: 'Test email delivery',\n })}\n </Typography>\n\n <Grid.Root gap={5}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <Field.Root\n name=\"test-address\"\n error={\n formErrors.email?.id &&\n formatMessage({\n id: `email.${formErrors.email?.id}`,\n defaultMessage: 'This is not a valid email',\n })\n }\n >\n <Field.Label>\n {formatMessage({\n id: 'email.Settings.email.plugin.label.testAddress',\n defaultMessage: 'Recipient email',\n })}\n </Field.Label>\n <TextInput\n onChange={handleChange}\n value={testAddress}\n placeholder={formatMessage({\n id: 'email.Settings.email.plugin.placeholder.testAddress',\n defaultMessage: 'ex: developer@example.com',\n })}\n type=\"email\"\n />\n </Field.Root>\n </Grid.Item>\n <Grid.Item col={7} xs={12} direction=\"column\" alignItems=\"start\">\n <Button\n loading={mutation.isLoading}\n disabled={!isTestAddressValid}\n type=\"submit\"\n startIcon={<Mail />}\n >\n {formatMessage({\n id: 'email.Settings.email.plugin.button.test-email',\n defaultMessage: 'Send test email',\n })}\n </Button>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n </Flex>\n </form>\n )}\n </Layouts.Content>\n </Page.Main>\n );\n};\n"],"names":["DocumentationLink","styled","a","theme","colors","primary600","ProtectedSettingsPage","_jsx","Page","Protect","permissions","PERMISSIONS","settings","SettingsPage","toggleNotification","useNotification","formatMessage","useIntl","get","post","useFetchClient","testAddress","setTestAddress","React","useState","isTestAddressValid","setIsTestAddressValid","formErrors","setFormErrors","data","isLoading","useQuery","res","config","mutation","useMutation","body","onError","type","message","id","defaultMessage","to","onSuccess","retry","useEffect","schema","validate","email","abortEarly","then","catch","handleChange","event","target","value","handleSubmit","preventDefault","error","ValidationError","getYupInnerErrors","mutate","Loading","_jsxs","Main","labelledBy","aria-busy","Title","name","Layouts","Header","title","subtitle","Content","form","onSubmit","Flex","direction","alignItems","gap","Box","background","hasRadius","shadow","paddingTop","paddingBottom","paddingLeft","paddingRight","Typography","variant","tag","file","link","href","rel","Grid","Root","Item","col","xs","Field","Label","TextInput","placeholder","disabled","readOnly","defaultFrom","defaultReplyTo","SingleSelect","provider","SingleSelectOption","onChange","Button","loading","startIcon","Mail"],"mappings":"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"}
@@ -1,37 +1,15 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { translatedErrors, Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';
3
+ import { Page, useNotification, useFetchClient, Layouts } from '@strapi/admin/strapi-admin';
4
4
  import { Flex, Box, Typography, Grid, Field, TextInput, SingleSelect, SingleSelectOption, Button } from '@strapi/design-system';
5
5
  import { Mail } from '@strapi/icons';
6
6
  import { useIntl } from 'react-intl';
7
7
  import { useQuery, useMutation } from 'react-query';
8
8
  import { styled } from 'styled-components';
9
- import * as yup from 'yup';
10
9
  import { ValidationError } from 'yup';
11
- import { P as PERMISSIONS } from './index-BPAZGe7V.mjs';
12
-
13
- const extractValuesFromYupError = (errorType, errorParams)=>{
14
- if (!errorType || !errorParams) {
15
- return {};
16
- }
17
- return {
18
- [errorType]: errorParams[errorType]
19
- };
20
- };
21
- const getYupInnerErrors = (error)=>(error?.inner || []).reduce((acc, currentError)=>{
22
- if (currentError.path) {
23
- acc[currentError.path.split('[').join('.').split(']').join('')] = {
24
- id: currentError.message,
25
- defaultMessage: currentError.message,
26
- values: extractValuesFromYupError(currentError?.type, currentError?.params)
27
- };
28
- }
29
- return acc;
30
- }, {});
31
-
32
- const schema = yup.object().shape({
33
- email: yup.string().email(translatedErrors.email.id).required(translatedErrors.required.id)
34
- });
10
+ import { PERMISSIONS } from '../constants.mjs';
11
+ import { getYupInnerErrors } from '../utils/getYupInnerErrors.mjs';
12
+ import { schema } from '../utils/schema.mjs';
35
13
 
36
14
  const DocumentationLink = styled.a`
37
15
  color: ${({ theme })=>theme.colors.primary600};
@@ -200,7 +178,7 @@ const SettingsPage = ()=>{
200
178
  children: [
201
179
  /*#__PURE__*/ jsx(Grid.Item, {
202
180
  col: 6,
203
- s: 12,
181
+ xs: 12,
204
182
  direction: "column",
205
183
  alignItems: "stretch",
206
184
  children: /*#__PURE__*/ jsxs(Field.Root, {
@@ -218,14 +196,16 @@ const SettingsPage = ()=>{
218
196
  defaultMessage: "ex: Strapi No-Reply '<'no-reply@strapi.io'>'"
219
197
  }),
220
198
  disabled: true,
221
- value: data.settings.defaultFrom
199
+ readOnly: true,
200
+ value: data.settings.defaultFrom,
201
+ type: "email"
222
202
  })
223
203
  ]
224
204
  })
225
205
  }),
226
206
  /*#__PURE__*/ jsx(Grid.Item, {
227
207
  col: 6,
228
- s: 12,
208
+ xs: 12,
229
209
  direction: "column",
230
210
  alignItems: "stretch",
231
211
  children: /*#__PURE__*/ jsxs(Field.Root, {
@@ -243,14 +223,16 @@ const SettingsPage = ()=>{
243
223
  defaultMessage: `ex: Strapi '<'example@strapi.io'>'`
244
224
  }),
245
225
  disabled: true,
246
- value: data.settings.defaultReplyTo
226
+ readOnly: true,
227
+ value: data.settings.defaultReplyTo,
228
+ type: "email"
247
229
  })
248
230
  ]
249
231
  })
250
232
  }),
251
233
  /*#__PURE__*/ jsx(Grid.Item, {
252
234
  col: 6,
253
- s: 12,
235
+ xs: 12,
254
236
  direction: "column",
255
237
  alignItems: "stretch",
256
238
  children: /*#__PURE__*/ jsxs(Field.Root, {
@@ -303,7 +285,7 @@ const SettingsPage = ()=>{
303
285
  children: [
304
286
  /*#__PURE__*/ jsx(Grid.Item, {
305
287
  col: 6,
306
- s: 12,
288
+ xs: 12,
307
289
  direction: "column",
308
290
  alignItems: "stretch",
309
291
  children: /*#__PURE__*/ jsxs(Field.Root, {
@@ -325,14 +307,15 @@ const SettingsPage = ()=>{
325
307
  placeholder: formatMessage({
326
308
  id: 'email.Settings.email.plugin.placeholder.testAddress',
327
309
  defaultMessage: 'ex: developer@example.com'
328
- })
310
+ }),
311
+ type: "email"
329
312
  })
330
313
  ]
331
314
  })
332
315
  }),
333
316
  /*#__PURE__*/ jsx(Grid.Item, {
334
317
  col: 7,
335
- s: 12,
318
+ xs: 12,
336
319
  direction: "column",
337
320
  alignItems: "start",
338
321
  children: /*#__PURE__*/ jsx(Button, {
@@ -359,4 +342,4 @@ const SettingsPage = ()=>{
359
342
  };
360
343
 
361
344
  export { ProtectedSettingsPage };
362
- //# sourceMappingURL=Settings-PuQuVXHu.mjs.map
345
+ //# sourceMappingURL=Settings.mjs.map