@strapi/email 0.0.0-next.f6dca5adf05ef6bed9605a1535999ab0bbbf063e → 0.0.0-next.fb92031f3d90f3d2a2d191ba65725b6c8e329a5d

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 (280) 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 +91 -3
  6. package/dist/admin/index.js.map +1 -1
  7. package/dist/admin/index.mjs +86 -3
  8. package/dist/admin/index.mjs.map +1 -1
  9. package/dist/admin/pages/Settings.js +361 -0
  10. package/dist/admin/pages/Settings.js.map +1 -0
  11. package/dist/admin/pages/Settings.mjs +340 -0
  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/translations/dk.json.js +27 -0
  26. package/dist/admin/translations/dk.json.js.map +1 -0
  27. package/dist/admin/translations/dk.json.mjs +25 -0
  28. package/dist/admin/translations/dk.json.mjs.map +1 -0
  29. package/dist/admin/translations/en.json.js +32 -0
  30. package/dist/admin/translations/en.json.js.map +1 -0
  31. package/dist/admin/translations/en.json.mjs +27 -0
  32. package/dist/admin/translations/en.json.mjs.map +1 -0
  33. package/dist/admin/translations/es.json.js +27 -0
  34. package/dist/admin/translations/es.json.js.map +1 -0
  35. package/dist/admin/translations/es.json.mjs +25 -0
  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/translations/ja.json.js +27 -0
  50. package/dist/admin/translations/ja.json.js.map +1 -0
  51. package/dist/admin/translations/ja.json.mjs +25 -0
  52. package/dist/admin/translations/ja.json.mjs.map +1 -0
  53. package/dist/admin/translations/ko.json.js +27 -0
  54. package/dist/admin/translations/ko.json.js.map +1 -0
  55. package/dist/admin/translations/ko.json.mjs +25 -0
  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/translations/pl.json.js +27 -0
  66. package/dist/admin/translations/pl.json.js.map +1 -0
  67. package/dist/admin/translations/pl.json.mjs +25 -0
  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/translations/pt-BR.json.mjs +4 -0
  72. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  73. package/dist/admin/translations/pt.json.js +32 -0
  74. package/dist/admin/translations/pt.json.js.map +1 -0
  75. package/dist/admin/translations/pt.json.mjs +27 -0
  76. package/dist/admin/translations/pt.json.mjs.map +1 -0
  77. package/dist/admin/translations/ru.json.js +6 -0
  78. package/dist/admin/translations/ru.json.js.map +1 -0
  79. package/dist/admin/translations/ru.json.mjs +4 -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/translations/tr.json.js +32 -0
  90. package/dist/admin/translations/tr.json.js.map +1 -0
  91. package/dist/admin/translations/tr.json.mjs +27 -0
  92. package/dist/admin/translations/tr.json.mjs.map +1 -0
  93. package/dist/admin/translations/uk.json.js +32 -0
  94. package/dist/admin/translations/uk.json.js.map +1 -0
  95. package/dist/admin/translations/uk.json.mjs +27 -0
  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/translations/zh-Hans.json.js +24 -0
  102. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  103. package/dist/admin/translations/zh-Hans.json.mjs +19 -0
  104. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  105. package/dist/admin/translations/zh.json.js +32 -0
  106. package/dist/admin/translations/zh.json.js.map +1 -0
  107. package/dist/admin/translations/zh.json.mjs +27 -0
  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 +40 -0
  122. package/dist/server/bootstrap.js.map +1 -0
  123. package/dist/server/bootstrap.mjs +38 -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 +18 -207
  138. package/dist/server/index.js.map +1 -1
  139. package/dist/server/index.mjs +17 -190
  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 +15 -0
  154. package/dist/server/routes/content-api.js.map +1 -0
  155. package/dist/server/routes/content-api.mjs +13 -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/services/email.js +63 -0
  162. package/dist/server/services/email.js.map +1 -0
  163. package/dist/server/services/email.mjs +42 -0
  164. package/dist/server/services/email.mjs.map +1 -0
  165. package/dist/server/services/index.js +10 -0
  166. package/dist/server/services/index.js.map +1 -0
  167. package/dist/server/services/index.mjs +8 -0
  168. package/dist/server/services/index.mjs.map +1 -0
  169. package/dist/server/src/index.d.ts +5 -0
  170. package/dist/server/src/index.d.ts.map +1 -1
  171. package/dist/server/src/middlewares/index.d.ts +9 -0
  172. package/dist/server/src/middlewares/index.d.ts.map +1 -0
  173. package/dist/server/src/middlewares/rateLimit.d.ts +7 -0
  174. package/dist/server/src/middlewares/rateLimit.d.ts.map +1 -0
  175. package/dist/shared/types.d.ts +0 -1
  176. package/package.json +18 -15
  177. package/dist/_chunks/Settings-B67D6mio.mjs +0 -281
  178. package/dist/_chunks/Settings-B67D6mio.mjs.map +0 -1
  179. package/dist/_chunks/Settings-BYRUbwrJ.js +0 -300
  180. package/dist/_chunks/Settings-BYRUbwrJ.js.map +0 -1
  181. package/dist/_chunks/ar-Bf9XlLLo.mjs +0 -5
  182. package/dist/_chunks/ar-Bf9XlLLo.mjs.map +0 -1
  183. package/dist/_chunks/ar-C_tQu1XS.js +0 -5
  184. package/dist/_chunks/ar-C_tQu1XS.js.map +0 -1
  185. package/dist/_chunks/cs-B0QZJTah.mjs +0 -5
  186. package/dist/_chunks/cs-B0QZJTah.mjs.map +0 -1
  187. package/dist/_chunks/cs-CPKIUWLp.js +0 -5
  188. package/dist/_chunks/cs-CPKIUWLp.js.map +0 -1
  189. package/dist/_chunks/de-B9kiAC-s.mjs +0 -5
  190. package/dist/_chunks/de-B9kiAC-s.mjs.map +0 -1
  191. package/dist/_chunks/de-K6IYQk2d.js +0 -5
  192. package/dist/_chunks/de-K6IYQk2d.js.map +0 -1
  193. package/dist/_chunks/dk-31mOPYpI.js +0 -26
  194. package/dist/_chunks/dk-31mOPYpI.js.map +0 -1
  195. package/dist/_chunks/dk-DqrbgSkv.mjs +0 -26
  196. package/dist/_chunks/dk-DqrbgSkv.mjs.map +0 -1
  197. package/dist/_chunks/en-BCu4d6-o.js +0 -29
  198. package/dist/_chunks/en-BCu4d6-o.js.map +0 -1
  199. package/dist/_chunks/en-DF4KtAAC.mjs +0 -29
  200. package/dist/_chunks/en-DF4KtAAC.mjs.map +0 -1
  201. package/dist/_chunks/es-BNo7eLLJ.mjs +0 -26
  202. package/dist/_chunks/es-BNo7eLLJ.mjs.map +0 -1
  203. package/dist/_chunks/es-Dl2HVmwz.js +0 -26
  204. package/dist/_chunks/es-Dl2HVmwz.js.map +0 -1
  205. package/dist/_chunks/fr-C8Qw4iPZ.js +0 -5
  206. package/dist/_chunks/fr-C8Qw4iPZ.js.map +0 -1
  207. package/dist/_chunks/fr-hkSxFuzl.mjs +0 -5
  208. package/dist/_chunks/fr-hkSxFuzl.mjs.map +0 -1
  209. package/dist/_chunks/id-CHtAzAUz.mjs +0 -5
  210. package/dist/_chunks/id-CHtAzAUz.mjs.map +0 -1
  211. package/dist/_chunks/id-CvE5f0zz.js +0 -5
  212. package/dist/_chunks/id-CvE5f0zz.js.map +0 -1
  213. package/dist/_chunks/index-C3dnHLzx.mjs +0 -78
  214. package/dist/_chunks/index-C3dnHLzx.mjs.map +0 -1
  215. package/dist/_chunks/index-DAM_gUwc.js +0 -77
  216. package/dist/_chunks/index-DAM_gUwc.js.map +0 -1
  217. package/dist/_chunks/it-C7z82V3g.mjs +0 -5
  218. package/dist/_chunks/it-C7z82V3g.mjs.map +0 -1
  219. package/dist/_chunks/it-DYpuAHa5.js +0 -5
  220. package/dist/_chunks/it-DYpuAHa5.js.map +0 -1
  221. package/dist/_chunks/ja-CiekkoEN.mjs +0 -26
  222. package/dist/_chunks/ja-CiekkoEN.mjs.map +0 -1
  223. package/dist/_chunks/ja-PL3WilO7.js +0 -26
  224. package/dist/_chunks/ja-PL3WilO7.js.map +0 -1
  225. package/dist/_chunks/ko-CJBkZ375.mjs +0 -26
  226. package/dist/_chunks/ko-CJBkZ375.mjs.map +0 -1
  227. package/dist/_chunks/ko-CL2BB_w_.js +0 -26
  228. package/dist/_chunks/ko-CL2BB_w_.js.map +0 -1
  229. package/dist/_chunks/ms-BGlHkuJz.js +0 -5
  230. package/dist/_chunks/ms-BGlHkuJz.js.map +0 -1
  231. package/dist/_chunks/ms-C1wNkEQw.mjs +0 -5
  232. package/dist/_chunks/ms-C1wNkEQw.mjs.map +0 -1
  233. package/dist/_chunks/nl-BuofSsmb.js +0 -5
  234. package/dist/_chunks/nl-BuofSsmb.js.map +0 -1
  235. package/dist/_chunks/nl-C79CwB4e.mjs +0 -5
  236. package/dist/_chunks/nl-C79CwB4e.mjs.map +0 -1
  237. package/dist/_chunks/pl-DXcJCevg.mjs +0 -26
  238. package/dist/_chunks/pl-DXcJCevg.mjs.map +0 -1
  239. package/dist/_chunks/pl-DdtXf3SH.js +0 -26
  240. package/dist/_chunks/pl-DdtXf3SH.js.map +0 -1
  241. package/dist/_chunks/pt-BR-B_ii8U63.js +0 -5
  242. package/dist/_chunks/pt-BR-B_ii8U63.js.map +0 -1
  243. package/dist/_chunks/pt-BR-DjINUWGk.mjs +0 -5
  244. package/dist/_chunks/pt-BR-DjINUWGk.mjs.map +0 -1
  245. package/dist/_chunks/pt-CzRDvk6c.js +0 -29
  246. package/dist/_chunks/pt-CzRDvk6c.js.map +0 -1
  247. package/dist/_chunks/pt-DEVCt2mt.mjs +0 -29
  248. package/dist/_chunks/pt-DEVCt2mt.mjs.map +0 -1
  249. package/dist/_chunks/ru-C_7wBr9e.mjs +0 -5
  250. package/dist/_chunks/ru-C_7wBr9e.mjs.map +0 -1
  251. package/dist/_chunks/ru-Dc-rSPqb.js +0 -5
  252. package/dist/_chunks/ru-Dc-rSPqb.js.map +0 -1
  253. package/dist/_chunks/sk-Cnpb4YOK.js +0 -5
  254. package/dist/_chunks/sk-Cnpb4YOK.js.map +0 -1
  255. package/dist/_chunks/sk-i1gQKUBN.mjs +0 -5
  256. package/dist/_chunks/sk-i1gQKUBN.mjs.map +0 -1
  257. package/dist/_chunks/th-BXTLF08M.js +0 -5
  258. package/dist/_chunks/th-BXTLF08M.js.map +0 -1
  259. package/dist/_chunks/th-D-MxpWKr.mjs +0 -5
  260. package/dist/_chunks/th-D-MxpWKr.mjs.map +0 -1
  261. package/dist/_chunks/tr-BXu41MLY.mjs +0 -29
  262. package/dist/_chunks/tr-BXu41MLY.mjs.map +0 -1
  263. package/dist/_chunks/tr-DwBySNgJ.js +0 -29
  264. package/dist/_chunks/tr-DwBySNgJ.js.map +0 -1
  265. package/dist/_chunks/uk-C_1qrLRM.mjs +0 -5
  266. package/dist/_chunks/uk-C_1qrLRM.mjs.map +0 -1
  267. package/dist/_chunks/uk-CxIePjBD.js +0 -5
  268. package/dist/_chunks/uk-CxIePjBD.js.map +0 -1
  269. package/dist/_chunks/vi-B4uqmjm6.js +0 -5
  270. package/dist/_chunks/vi-B4uqmjm6.js.map +0 -1
  271. package/dist/_chunks/vi-BfZkgFxI.mjs +0 -5
  272. package/dist/_chunks/vi-BfZkgFxI.mjs.map +0 -1
  273. package/dist/_chunks/zh-BS-XJCSt.mjs +0 -29
  274. package/dist/_chunks/zh-BS-XJCSt.mjs.map +0 -1
  275. package/dist/_chunks/zh-DsMIjTgu.js +0 -29
  276. package/dist/_chunks/zh-DsMIjTgu.js.map +0 -1
  277. package/dist/_chunks/zh-Hans-BLEEaLoN.mjs +0 -21
  278. package/dist/_chunks/zh-Hans-BLEEaLoN.mjs.map +0 -1
  279. package/dist/_chunks/zh-Hans-CmL3sY9o.js +0 -21
  280. package/dist/_chunks/zh-Hans-CmL3sY9o.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,4 +1,92 @@
1
- "use strict";
2
- const index = require("../_chunks/index-DAM_gUwc.js");
3
- module.exports = index.admin;
1
+ 'use strict';
2
+
3
+ var constants = require('./constants.js');
4
+ var prefixPluginTranslations = require('./utils/prefixPluginTranslations.js');
5
+
6
+ function _interopNamespaceDefaultOnly (e) { return Object.freeze({ __proto__: null, default: e }); }
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 /*#__PURE__*/_interopNamespaceDefaultOnly(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
+ };
90
+
91
+ module.exports = admin;
4
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,5 +1,88 @@
1
- import { a } from "../_chunks/index-C3dnHLzx.mjs";
2
- export {
3
- a as default
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
+ }
4
85
  };
86
+
87
+ export { admin as default };
5
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;;;;"}
@@ -0,0 +1,361 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var icons = require('@strapi/icons');
8
+ var reactIntl = require('react-intl');
9
+ var reactQuery = require('react-query');
10
+ var styledComponents = require('styled-components');
11
+ var yup = require('yup');
12
+ var constants = require('../constants.js');
13
+ var getYupInnerErrors = require('../utils/getYupInnerErrors.js');
14
+ var schema = require('../utils/schema.js');
15
+
16
+ function _interopNamespaceDefault(e) {
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n.default = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
34
+
35
+ const DocumentationLink = styledComponents.styled.a`
36
+ color: ${({ theme })=>theme.colors.primary600};
37
+ `;
38
+ const ProtectedSettingsPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Protect, {
39
+ permissions: constants.PERMISSIONS.settings,
40
+ children: /*#__PURE__*/ jsxRuntime.jsx(SettingsPage, {})
41
+ });
42
+ const SettingsPage = ()=>{
43
+ const { toggleNotification } = strapiAdmin.useNotification();
44
+ const { formatMessage } = reactIntl.useIntl();
45
+ const { get, post } = strapiAdmin.useFetchClient();
46
+ const [testAddress, setTestAddress] = React__namespace.useState('');
47
+ const [isTestAddressValid, setIsTestAddressValid] = React__namespace.useState(false);
48
+ // 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
49
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
50
+ const [formErrors, setFormErrors] = React__namespace.useState({});
51
+ const { data, isLoading } = reactQuery.useQuery([
52
+ 'email',
53
+ 'settings'
54
+ ], async ()=>{
55
+ const res = await get('/email/settings');
56
+ const { data: { config } } = res;
57
+ return config;
58
+ });
59
+ const mutation = reactQuery.useMutation(async (body)=>{
60
+ await post('/email/test', body);
61
+ }, {
62
+ onError () {
63
+ toggleNotification({
64
+ type: 'danger',
65
+ message: formatMessage({
66
+ id: 'email.Settings.email.plugin.notification.test.error',
67
+ defaultMessage: 'Failed to send a test mail to {to}'
68
+ }, {
69
+ to: testAddress
70
+ })
71
+ });
72
+ },
73
+ onSuccess () {
74
+ toggleNotification({
75
+ type: 'success',
76
+ message: formatMessage({
77
+ id: 'email.Settings.email.plugin.notification.test.success',
78
+ defaultMessage: 'Email test succeeded, check the {to} mailbox'
79
+ }, {
80
+ to: testAddress
81
+ })
82
+ });
83
+ },
84
+ retry: false
85
+ });
86
+ React__namespace.useEffect(()=>{
87
+ schema.schema.validate({
88
+ email: testAddress
89
+ }, {
90
+ abortEarly: false
91
+ }).then(()=>setIsTestAddressValid(true)).catch(()=>setIsTestAddressValid(false));
92
+ }, [
93
+ testAddress
94
+ ]);
95
+ const handleChange = (event)=>{
96
+ setTestAddress(()=>event.target.value);
97
+ };
98
+ const handleSubmit = async (event)=>{
99
+ event.preventDefault();
100
+ try {
101
+ await schema.schema.validate({
102
+ email: testAddress
103
+ }, {
104
+ abortEarly: false
105
+ });
106
+ } catch (error) {
107
+ if (error instanceof yup.ValidationError) {
108
+ setFormErrors(getYupInnerErrors.getYupInnerErrors(error));
109
+ }
110
+ }
111
+ mutation.mutate({
112
+ to: testAddress
113
+ });
114
+ };
115
+ if (isLoading) {
116
+ return /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Loading, {});
117
+ }
118
+ return /*#__PURE__*/ jsxRuntime.jsxs(strapiAdmin.Page.Main, {
119
+ labelledBy: "title",
120
+ "aria-busy": isLoading || mutation.isLoading,
121
+ children: [
122
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
123
+ children: formatMessage({
124
+ id: 'Settings.PageTitle',
125
+ defaultMessage: 'Settings - {name}'
126
+ }, {
127
+ name: formatMessage({
128
+ id: 'email.Settings.email.plugin.title',
129
+ defaultMessage: 'Configuration'
130
+ })
131
+ })
132
+ }),
133
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Header, {
134
+ id: "title",
135
+ title: formatMessage({
136
+ id: 'email.Settings.email.plugin.title',
137
+ defaultMessage: 'Configuration'
138
+ }),
139
+ subtitle: formatMessage({
140
+ id: 'email.Settings.email.plugin.subTitle',
141
+ defaultMessage: 'Test the settings for the Email plugin'
142
+ })
143
+ }),
144
+ /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Layouts.Content, {
145
+ children: data && /*#__PURE__*/ jsxRuntime.jsx("form", {
146
+ onSubmit: handleSubmit,
147
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
148
+ direction: "column",
149
+ alignItems: "stretch",
150
+ gap: 7,
151
+ children: [
152
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
153
+ background: "neutral0",
154
+ hasRadius: true,
155
+ shadow: "filterShadow",
156
+ paddingTop: 6,
157
+ paddingBottom: 6,
158
+ paddingLeft: 7,
159
+ paddingRight: 7,
160
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
161
+ direction: "column",
162
+ alignItems: "stretch",
163
+ gap: 4,
164
+ children: [
165
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
166
+ direction: "column",
167
+ alignItems: "stretch",
168
+ gap: 1,
169
+ children: [
170
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
171
+ variant: "delta",
172
+ tag: "h2",
173
+ children: formatMessage({
174
+ id: 'email.Settings.email.plugin.title.config',
175
+ defaultMessage: 'Configuration'
176
+ })
177
+ }),
178
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
179
+ children: formatMessage({
180
+ id: 'email.Settings.email.plugin.text.configuration',
181
+ defaultMessage: 'The plugin is configured through the {file} file, checkout this {link} for the documentation.'
182
+ }, {
183
+ file: './config/plugins.js',
184
+ link: /*#__PURE__*/ jsxRuntime.jsx(DocumentationLink, {
185
+ href: "https://docs.strapi.io/developer-docs/latest/plugins/email.html",
186
+ target: "_blank",
187
+ rel: "noopener noreferrer",
188
+ children: formatMessage({
189
+ id: 'email.link',
190
+ defaultMessage: 'Link'
191
+ })
192
+ })
193
+ })
194
+ })
195
+ ]
196
+ }),
197
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
198
+ gap: 5,
199
+ children: [
200
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
201
+ col: 6,
202
+ s: 12,
203
+ direction: "column",
204
+ alignItems: "stretch",
205
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
206
+ name: "shipper-email",
207
+ children: [
208
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
209
+ children: formatMessage({
210
+ id: 'email.Settings.email.plugin.label.defaultFrom',
211
+ defaultMessage: 'Default sender email'
212
+ })
213
+ }),
214
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
215
+ placeholder: formatMessage({
216
+ id: 'email.Settings.email.plugin.placeholder.defaultFrom',
217
+ defaultMessage: "ex: Strapi No-Reply '<'no-reply@strapi.io'>'"
218
+ }),
219
+ disabled: true,
220
+ value: data.settings.defaultFrom
221
+ })
222
+ ]
223
+ })
224
+ }),
225
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
226
+ col: 6,
227
+ s: 12,
228
+ direction: "column",
229
+ alignItems: "stretch",
230
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
231
+ name: "response-email",
232
+ children: [
233
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
234
+ children: formatMessage({
235
+ id: 'email.Settings.email.plugin.label.defaultReplyTo',
236
+ defaultMessage: 'Default response email'
237
+ })
238
+ }),
239
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
240
+ placeholder: formatMessage({
241
+ id: 'email.Settings.email.plugin.placeholder.defaultReplyTo',
242
+ defaultMessage: `ex: Strapi '<'example@strapi.io'>'`
243
+ }),
244
+ disabled: true,
245
+ value: data.settings.defaultReplyTo
246
+ })
247
+ ]
248
+ })
249
+ }),
250
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
251
+ col: 6,
252
+ s: 12,
253
+ direction: "column",
254
+ alignItems: "stretch",
255
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
256
+ name: "email-provider",
257
+ children: [
258
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
259
+ children: formatMessage({
260
+ id: 'email.Settings.email.plugin.label.provider',
261
+ defaultMessage: 'Email provider'
262
+ })
263
+ }),
264
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelect, {
265
+ disabled: true,
266
+ value: data.provider,
267
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.SingleSelectOption, {
268
+ value: data.provider,
269
+ children: data.provider
270
+ })
271
+ })
272
+ ]
273
+ })
274
+ })
275
+ ]
276
+ })
277
+ ]
278
+ })
279
+ }),
280
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
281
+ alignItems: "stretch",
282
+ background: "neutral0",
283
+ direction: "column",
284
+ gap: 4,
285
+ hasRadius: true,
286
+ shadow: "filterShadow",
287
+ paddingTop: 6,
288
+ paddingBottom: 6,
289
+ paddingLeft: 7,
290
+ paddingRight: 7,
291
+ children: [
292
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
293
+ variant: "delta",
294
+ tag: "h2",
295
+ children: formatMessage({
296
+ id: 'email.Settings.email.plugin.title.test',
297
+ defaultMessage: 'Test email delivery'
298
+ })
299
+ }),
300
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
301
+ gap: 5,
302
+ children: [
303
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
304
+ col: 6,
305
+ s: 12,
306
+ direction: "column",
307
+ alignItems: "stretch",
308
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Field.Root, {
309
+ name: "test-address",
310
+ error: formErrors.email?.id && formatMessage({
311
+ id: `email.${formErrors.email?.id}`,
312
+ defaultMessage: 'This is not a valid email'
313
+ }),
314
+ children: [
315
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Label, {
316
+ children: formatMessage({
317
+ id: 'email.Settings.email.plugin.label.testAddress',
318
+ defaultMessage: 'Recipient email'
319
+ })
320
+ }),
321
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.TextInput, {
322
+ onChange: handleChange,
323
+ value: testAddress,
324
+ placeholder: formatMessage({
325
+ id: 'email.Settings.email.plugin.placeholder.testAddress',
326
+ defaultMessage: 'ex: developer@example.com'
327
+ })
328
+ })
329
+ ]
330
+ })
331
+ }),
332
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
333
+ col: 7,
334
+ s: 12,
335
+ direction: "column",
336
+ alignItems: "start",
337
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Button, {
338
+ loading: mutation.isLoading,
339
+ disabled: !isTestAddressValid,
340
+ type: "submit",
341
+ startIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.Mail, {}),
342
+ children: formatMessage({
343
+ id: 'email.Settings.email.plugin.button.test-email',
344
+ defaultMessage: 'Send test email'
345
+ })
346
+ })
347
+ })
348
+ ]
349
+ })
350
+ ]
351
+ })
352
+ ]
353
+ })
354
+ })
355
+ })
356
+ ]
357
+ });
358
+ };
359
+
360
+ exports.ProtectedSettingsPage = ProtectedSettingsPage;
361
+ //# sourceMappingURL=Settings.js.map