@strapi/plugin-users-permissions 0.0.0-next.f5b09a8e61e059f02784478e27c310c6290be088 → 0.0.0-next.f5d21551ed005f524bfc4760b274f1be154e26a8

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 (647) hide show
  1. package/.eslintignore +2 -1
  2. package/.eslintrc +4 -1
  3. package/LICENSE +18 -3
  4. package/admin/src/components/BoundRoute/{index.js → index.jsx} +3 -3
  5. package/admin/src/components/FormModal/Input/{index.js → index.jsx} +33 -32
  6. package/admin/src/components/FormModal/index.jsx +115 -0
  7. package/admin/src/components/Permissions/PermissionRow/{CheckboxWrapper.js → CheckboxWrapper.jsx} +4 -3
  8. package/admin/src/components/Permissions/PermissionRow/{SubCategory.js → SubCategory.jsx} +13 -22
  9. package/admin/src/components/Permissions/index.jsx +47 -0
  10. package/admin/src/components/Permissions/reducer.js +1 -1
  11. package/admin/src/components/Policies/{index.js → index.jsx} +8 -6
  12. package/admin/src/components/UsersPermissions/{index.js → index.jsx} +15 -7
  13. package/admin/src/components/UsersPermissions/reducer.js +1 -1
  14. package/admin/src/index.js +17 -34
  15. package/admin/src/pages/AdvancedSettings/index.jsx +214 -0
  16. package/admin/src/pages/AdvancedSettings/utils/layout.js +20 -35
  17. package/admin/src/pages/AdvancedSettings/utils/schema.js +5 -2
  18. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +156 -0
  19. package/admin/src/pages/EmailTemplates/components/{EmailTable.js → EmailTable.jsx} +21 -18
  20. package/admin/src/pages/EmailTemplates/{index.js → index.jsx} +36 -62
  21. package/admin/src/pages/EmailTemplates/utils/schema.js +18 -6
  22. package/admin/src/pages/Providers/{index.js → index.jsx} +98 -113
  23. package/admin/src/pages/Providers/utils/forms.js +23 -11
  24. package/admin/src/pages/Roles/constants.js +3 -3
  25. package/admin/src/pages/Roles/hooks/usePlugins.js +4 -4
  26. package/admin/src/pages/Roles/index.jsx +24 -0
  27. package/admin/src/pages/Roles/pages/{CreatePage.js → CreatePage.jsx} +53 -58
  28. package/admin/src/pages/Roles/pages/{EditPage.js → EditPage.jsx} +63 -68
  29. package/admin/src/pages/Roles/pages/ListPage/components/{TableBody.js → TableBody.jsx} +28 -32
  30. package/admin/src/pages/Roles/pages/ListPage/{index.js → index.jsx} +79 -55
  31. package/admin/src/pluginId.js +2 -2
  32. package/admin/src/translations/en.json +1 -1
  33. package/admin/src/translations/uk.json +41 -4
  34. package/admin/src/utils/formatPluginName.js +1 -1
  35. package/admin/src/utils/prefixPluginTranslations.js +13 -0
  36. package/dist/admin/components/BoundRoute/getMethodColor.js +49 -0
  37. package/dist/admin/components/BoundRoute/getMethodColor.js.map +1 -0
  38. package/dist/admin/components/BoundRoute/getMethodColor.mjs +47 -0
  39. package/dist/admin/components/BoundRoute/getMethodColor.mjs.map +1 -0
  40. package/dist/admin/components/BoundRoute/index.js +98 -0
  41. package/dist/admin/components/BoundRoute/index.js.map +1 -0
  42. package/dist/admin/components/BoundRoute/index.mjs +96 -0
  43. package/dist/admin/components/BoundRoute/index.mjs.map +1 -0
  44. package/dist/admin/components/FormModal/Input/index.js +123 -0
  45. package/dist/admin/components/FormModal/Input/index.js.map +1 -0
  46. package/dist/admin/components/FormModal/Input/index.mjs +121 -0
  47. package/dist/admin/components/FormModal/Input/index.mjs.map +1 -0
  48. package/dist/admin/components/FormModal/index.js +110 -0
  49. package/dist/admin/components/FormModal/index.js.map +1 -0
  50. package/dist/admin/components/FormModal/index.mjs +108 -0
  51. package/dist/admin/components/FormModal/index.mjs.map +1 -0
  52. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js +33 -0
  53. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.js.map +1 -0
  54. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs +31 -0
  55. package/dist/admin/components/Permissions/PermissionRow/CheckboxWrapper.mjs.map +1 -0
  56. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js +156 -0
  57. package/dist/admin/components/Permissions/PermissionRow/SubCategory.js.map +1 -0
  58. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs +154 -0
  59. package/dist/admin/components/Permissions/PermissionRow/SubCategory.mjs.map +1 -0
  60. package/dist/admin/components/Permissions/PermissionRow/index.js +50 -0
  61. package/dist/admin/components/Permissions/PermissionRow/index.js.map +1 -0
  62. package/dist/admin/components/Permissions/PermissionRow/index.mjs +48 -0
  63. package/dist/admin/components/Permissions/PermissionRow/index.mjs.map +1 -0
  64. package/dist/admin/components/Permissions/index.js +52 -0
  65. package/dist/admin/components/Permissions/index.js.map +1 -0
  66. package/dist/admin/components/Permissions/index.mjs +50 -0
  67. package/dist/admin/components/Permissions/index.mjs.map +1 -0
  68. package/dist/admin/components/Permissions/init.js +15 -0
  69. package/dist/admin/components/Permissions/init.js.map +1 -0
  70. package/dist/admin/components/Permissions/init.mjs +13 -0
  71. package/dist/admin/components/Permissions/init.mjs.map +1 -0
  72. package/dist/admin/components/Permissions/reducer.js +34 -0
  73. package/dist/admin/components/Permissions/reducer.js.map +1 -0
  74. package/dist/admin/components/Permissions/reducer.mjs +31 -0
  75. package/dist/admin/components/Permissions/reducer.mjs.map +1 -0
  76. package/dist/admin/components/Policies/index.js +67 -0
  77. package/dist/admin/components/Policies/index.js.map +1 -0
  78. package/dist/admin/components/Policies/index.mjs +65 -0
  79. package/dist/admin/components/Policies/index.mjs.map +1 -0
  80. package/dist/admin/components/UsersPermissions/index.js +115 -0
  81. package/dist/admin/components/UsersPermissions/index.js.map +1 -0
  82. package/dist/admin/components/UsersPermissions/index.mjs +113 -0
  83. package/dist/admin/components/UsersPermissions/index.mjs.map +1 -0
  84. package/dist/admin/components/UsersPermissions/init.js +13 -0
  85. package/dist/admin/components/UsersPermissions/init.js.map +1 -0
  86. package/dist/admin/components/UsersPermissions/init.mjs +11 -0
  87. package/dist/admin/components/UsersPermissions/init.mjs.map +1 -0
  88. package/dist/admin/components/UsersPermissions/reducer.js +73 -0
  89. package/dist/admin/components/UsersPermissions/reducer.js.map +1 -0
  90. package/dist/admin/components/UsersPermissions/reducer.mjs +68 -0
  91. package/dist/admin/components/UsersPermissions/reducer.mjs.map +1 -0
  92. package/dist/admin/constants.js +81 -0
  93. package/dist/admin/constants.js.map +1 -0
  94. package/dist/admin/constants.mjs +79 -0
  95. package/dist/admin/constants.mjs.map +1 -0
  96. package/dist/admin/contexts/UsersPermissionsContext/index.js +23 -0
  97. package/dist/admin/contexts/UsersPermissionsContext/index.js.map +1 -0
  98. package/dist/admin/contexts/UsersPermissionsContext/index.mjs +19 -0
  99. package/dist/admin/contexts/UsersPermissionsContext/index.mjs.map +1 -0
  100. package/dist/admin/index.js +125 -0
  101. package/dist/admin/index.js.map +1 -0
  102. package/dist/admin/index.mjs +121 -0
  103. package/dist/admin/index.mjs.map +1 -0
  104. package/dist/admin/package.json.js +14 -0
  105. package/dist/admin/package.json.js.map +1 -0
  106. package/dist/admin/package.json.mjs +11 -0
  107. package/dist/admin/package.json.mjs.map +1 -0
  108. package/dist/admin/pages/AdvancedSettings/index.js +194 -0
  109. package/dist/admin/pages/AdvancedSettings/index.js.map +1 -0
  110. package/dist/admin/pages/AdvancedSettings/index.mjs +191 -0
  111. package/dist/admin/pages/AdvancedSettings/index.mjs.map +1 -0
  112. package/dist/admin/pages/AdvancedSettings/utils/layout.js +83 -0
  113. package/dist/admin/pages/AdvancedSettings/utils/layout.js.map +1 -0
  114. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs +81 -0
  115. package/dist/admin/pages/AdvancedSettings/utils/layout.mjs.map +1 -0
  116. package/dist/admin/pages/AdvancedSettings/utils/schema.js +40 -0
  117. package/dist/admin/pages/AdvancedSettings/utils/schema.js.map +1 -0
  118. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs +19 -0
  119. package/dist/admin/pages/AdvancedSettings/utils/schema.mjs.map +1 -0
  120. package/dist/admin/pages/EmailTemplates/components/EmailForm.js +171 -0
  121. package/dist/admin/pages/EmailTemplates/components/EmailForm.js.map +1 -0
  122. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs +169 -0
  123. package/dist/admin/pages/EmailTemplates/components/EmailForm.mjs.map +1 -0
  124. package/dist/admin/pages/EmailTemplates/components/EmailTable.js +145 -0
  125. package/dist/admin/pages/EmailTemplates/components/EmailTable.js.map +1 -0
  126. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs +143 -0
  127. package/dist/admin/pages/EmailTemplates/components/EmailTable.mjs.map +1 -0
  128. package/dist/admin/pages/EmailTemplates/index.js +157 -0
  129. package/dist/admin/pages/EmailTemplates/index.js.map +1 -0
  130. package/dist/admin/pages/EmailTemplates/index.mjs +135 -0
  131. package/dist/admin/pages/EmailTemplates/index.mjs.map +1 -0
  132. package/dist/admin/pages/EmailTemplates/utils/schema.js +50 -0
  133. package/dist/admin/pages/EmailTemplates/utils/schema.js.map +1 -0
  134. package/dist/admin/pages/EmailTemplates/utils/schema.mjs +29 -0
  135. package/dist/admin/pages/EmailTemplates/utils/schema.mjs.map +1 -0
  136. package/dist/admin/pages/Providers/index.js +278 -0
  137. package/dist/admin/pages/Providers/index.js.map +1 -0
  138. package/dist/admin/pages/Providers/index.mjs +254 -0
  139. package/dist/admin/pages/Providers/index.mjs.map +1 -0
  140. package/dist/admin/pages/Providers/utils/forms.js +281 -0
  141. package/dist/admin/pages/Providers/utils/forms.js.map +1 -0
  142. package/dist/admin/pages/Providers/utils/forms.mjs +260 -0
  143. package/dist/admin/pages/Providers/utils/forms.mjs.map +1 -0
  144. package/dist/admin/pages/Roles/constants.js +31 -0
  145. package/dist/admin/pages/Roles/constants.js.map +1 -0
  146. package/dist/admin/pages/Roles/constants.mjs +10 -0
  147. package/dist/admin/pages/Roles/constants.mjs.map +1 -0
  148. package/dist/admin/pages/Roles/hooks/usePlugins.js +78 -0
  149. package/dist/admin/pages/Roles/hooks/usePlugins.js.map +1 -0
  150. package/dist/admin/pages/Roles/hooks/usePlugins.mjs +76 -0
  151. package/dist/admin/pages/Roles/hooks/usePlugins.mjs.map +1 -0
  152. package/dist/admin/pages/Roles/index.js +35 -0
  153. package/dist/admin/pages/Roles/index.js.map +1 -0
  154. package/dist/admin/pages/Roles/index.mjs +33 -0
  155. package/dist/admin/pages/Roles/index.mjs.map +1 -0
  156. package/dist/admin/pages/Roles/pages/CreatePage.js +225 -0
  157. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -0
  158. package/dist/admin/pages/Roles/pages/CreatePage.mjs +203 -0
  159. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -0
  160. package/dist/admin/pages/Roles/pages/EditPage.js +229 -0
  161. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -0
  162. package/dist/admin/pages/Roles/pages/EditPage.mjs +207 -0
  163. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -0
  164. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js +125 -0
  165. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.js.map +1 -0
  166. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs +123 -0
  167. package/dist/admin/pages/Roles/pages/ListPage/components/TableBody.mjs.map +1 -0
  168. package/dist/admin/pages/Roles/pages/ListPage/index.js +237 -0
  169. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -0
  170. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +234 -0
  171. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -0
  172. package/dist/admin/pluginId.js +8 -0
  173. package/dist/admin/pluginId.js.map +1 -0
  174. package/dist/admin/pluginId.mjs +6 -0
  175. package/dist/admin/pluginId.mjs.map +1 -0
  176. package/dist/admin/translations/ar.json.js +45 -0
  177. package/dist/admin/translations/ar.json.js.map +1 -0
  178. package/dist/admin/translations/ar.json.mjs +43 -0
  179. package/dist/admin/translations/ar.json.mjs.map +1 -0
  180. package/dist/admin/translations/cs.json.js +51 -0
  181. package/dist/admin/translations/cs.json.js.map +1 -0
  182. package/dist/admin/translations/cs.json.mjs +49 -0
  183. package/dist/admin/translations/cs.json.mjs.map +1 -0
  184. package/dist/admin/translations/de.json.js +63 -0
  185. package/dist/admin/translations/de.json.js.map +1 -0
  186. package/dist/admin/translations/de.json.mjs +61 -0
  187. package/dist/admin/translations/de.json.mjs.map +1 -0
  188. package/dist/admin/translations/dk.json.js +87 -0
  189. package/dist/admin/translations/dk.json.js.map +1 -0
  190. package/dist/admin/translations/dk.json.mjs +85 -0
  191. package/dist/admin/translations/dk.json.mjs.map +1 -0
  192. package/dist/admin/translations/en.json.js +87 -0
  193. package/dist/admin/translations/en.json.js.map +1 -0
  194. package/dist/admin/translations/en.json.mjs +85 -0
  195. package/dist/admin/translations/en.json.mjs.map +1 -0
  196. package/dist/admin/translations/es.json.js +87 -0
  197. package/dist/admin/translations/es.json.js.map +1 -0
  198. package/dist/admin/translations/es.json.mjs +85 -0
  199. package/dist/admin/translations/es.json.mjs.map +1 -0
  200. package/dist/admin/translations/fr.json.js +51 -0
  201. package/dist/admin/translations/fr.json.js.map +1 -0
  202. package/dist/admin/translations/fr.json.mjs +49 -0
  203. package/dist/admin/translations/fr.json.mjs.map +1 -0
  204. package/dist/admin/translations/id.json.js +63 -0
  205. package/dist/admin/translations/id.json.js.map +1 -0
  206. package/dist/admin/translations/id.json.mjs +61 -0
  207. package/dist/admin/translations/id.json.mjs.map +1 -0
  208. package/dist/admin/translations/it.json.js +63 -0
  209. package/dist/admin/translations/it.json.js.map +1 -0
  210. package/dist/admin/translations/it.json.mjs +61 -0
  211. package/dist/admin/translations/it.json.mjs.map +1 -0
  212. package/dist/admin/translations/ja.json.js +49 -0
  213. package/dist/admin/translations/ja.json.js.map +1 -0
  214. package/dist/admin/translations/ja.json.mjs +47 -0
  215. package/dist/admin/translations/ja.json.mjs.map +1 -0
  216. package/dist/admin/translations/ko.json.js +87 -0
  217. package/dist/admin/translations/ko.json.js.map +1 -0
  218. package/dist/admin/translations/ko.json.mjs +85 -0
  219. package/dist/admin/translations/ko.json.mjs.map +1 -0
  220. package/dist/admin/translations/ms.json.js +50 -0
  221. package/dist/admin/translations/ms.json.js.map +1 -0
  222. package/dist/admin/translations/ms.json.mjs +48 -0
  223. package/dist/admin/translations/ms.json.mjs.map +1 -0
  224. package/dist/admin/translations/nl.json.js +49 -0
  225. package/dist/admin/translations/nl.json.js.map +1 -0
  226. package/dist/admin/translations/nl.json.mjs +47 -0
  227. package/dist/admin/translations/nl.json.mjs.map +1 -0
  228. package/dist/admin/translations/pl.json.js +87 -0
  229. package/dist/admin/translations/pl.json.js.map +1 -0
  230. package/dist/admin/translations/pl.json.mjs +85 -0
  231. package/dist/admin/translations/pl.json.mjs.map +1 -0
  232. package/dist/admin/translations/pt-BR.json.js +45 -0
  233. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  234. package/dist/admin/translations/pt-BR.json.mjs +43 -0
  235. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  236. package/dist/admin/translations/pt.json.js +49 -0
  237. package/dist/admin/translations/pt.json.js.map +1 -0
  238. package/dist/admin/translations/pt.json.mjs +47 -0
  239. package/dist/admin/translations/pt.json.mjs.map +1 -0
  240. package/dist/admin/translations/ru.json.js +87 -0
  241. package/dist/admin/translations/ru.json.js.map +1 -0
  242. package/dist/admin/translations/ru.json.mjs +85 -0
  243. package/dist/admin/translations/ru.json.mjs.map +1 -0
  244. package/dist/admin/translations/sk.json.js +51 -0
  245. package/dist/admin/translations/sk.json.js.map +1 -0
  246. package/dist/admin/translations/sk.json.mjs +49 -0
  247. package/dist/admin/translations/sk.json.mjs.map +1 -0
  248. package/dist/admin/translations/sv.json.js +87 -0
  249. package/dist/admin/translations/sv.json.js.map +1 -0
  250. package/dist/admin/translations/sv.json.mjs +85 -0
  251. package/dist/admin/translations/sv.json.mjs.map +1 -0
  252. package/dist/admin/translations/th.json.js +61 -0
  253. package/dist/admin/translations/th.json.js.map +1 -0
  254. package/dist/admin/translations/th.json.mjs +59 -0
  255. package/dist/admin/translations/th.json.mjs.map +1 -0
  256. package/dist/admin/translations/tr.json.js +86 -0
  257. package/dist/admin/translations/tr.json.js.map +1 -0
  258. package/dist/admin/translations/tr.json.mjs +84 -0
  259. package/dist/admin/translations/tr.json.mjs.map +1 -0
  260. package/dist/admin/translations/uk.json.js +87 -0
  261. package/dist/admin/translations/uk.json.js.map +1 -0
  262. package/dist/admin/translations/uk.json.mjs +85 -0
  263. package/dist/admin/translations/uk.json.mjs.map +1 -0
  264. package/dist/admin/translations/vi.json.js +51 -0
  265. package/dist/admin/translations/vi.json.js.map +1 -0
  266. package/dist/admin/translations/vi.json.mjs +49 -0
  267. package/dist/admin/translations/vi.json.mjs.map +1 -0
  268. package/dist/admin/translations/zh-Hans.json.js +87 -0
  269. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  270. package/dist/admin/translations/zh-Hans.json.mjs +85 -0
  271. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  272. package/dist/admin/translations/zh.json.js +87 -0
  273. package/dist/admin/translations/zh.json.js.map +1 -0
  274. package/dist/admin/translations/zh.json.mjs +85 -0
  275. package/dist/admin/translations/zh.json.mjs.map +1 -0
  276. package/dist/admin/utils/cleanPermissions.js +24 -0
  277. package/dist/admin/utils/cleanPermissions.js.map +1 -0
  278. package/dist/admin/utils/cleanPermissions.mjs +22 -0
  279. package/dist/admin/utils/cleanPermissions.mjs.map +1 -0
  280. package/dist/admin/utils/formatPluginName.js +29 -0
  281. package/dist/admin/utils/formatPluginName.js.map +1 -0
  282. package/dist/admin/utils/formatPluginName.mjs +27 -0
  283. package/dist/admin/utils/formatPluginName.mjs.map +1 -0
  284. package/dist/admin/utils/getTrad.js +8 -0
  285. package/dist/admin/utils/getTrad.js.map +1 -0
  286. package/dist/admin/utils/getTrad.mjs +6 -0
  287. package/dist/admin/utils/getTrad.mjs.map +1 -0
  288. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  289. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  290. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  291. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  292. package/dist/server/_virtual/_commonjsHelpers.js +8 -0
  293. package/dist/server/_virtual/_commonjsHelpers.js.map +1 -0
  294. package/dist/server/_virtual/_commonjsHelpers.mjs +6 -0
  295. package/dist/server/_virtual/_commonjsHelpers.mjs.map +1 -0
  296. package/dist/server/bootstrap/index.js +145 -0
  297. package/dist/server/bootstrap/index.js.map +1 -0
  298. package/dist/server/bootstrap/index.mjs +143 -0
  299. package/dist/server/bootstrap/index.mjs.map +1 -0
  300. package/dist/server/bootstrap/users-permissions-actions.js +98 -0
  301. package/dist/server/bootstrap/users-permissions-actions.js.map +1 -0
  302. package/dist/server/bootstrap/users-permissions-actions.mjs +96 -0
  303. package/dist/server/bootstrap/users-permissions-actions.mjs.map +1 -0
  304. package/dist/server/config.js +54 -0
  305. package/dist/server/config.js.map +1 -0
  306. package/dist/server/config.mjs +52 -0
  307. package/dist/server/config.mjs.map +1 -0
  308. package/dist/server/content-types/index.js +30 -0
  309. package/dist/server/content-types/index.js.map +1 -0
  310. package/dist/server/content-types/index.mjs +28 -0
  311. package/dist/server/content-types/index.mjs.map +1 -0
  312. package/dist/server/content-types/permission/index.js +44 -0
  313. package/dist/server/content-types/permission/index.js.map +1 -0
  314. package/dist/server/content-types/permission/index.mjs +42 -0
  315. package/dist/server/content-types/permission/index.mjs.map +1 -0
  316. package/dist/server/content-types/role/index.js +61 -0
  317. package/dist/server/content-types/role/index.js.map +1 -0
  318. package/dist/server/content-types/role/index.mjs +59 -0
  319. package/dist/server/content-types/role/index.mjs.map +1 -0
  320. package/dist/server/content-types/user/index.js +84 -0
  321. package/dist/server/content-types/user/index.js.map +1 -0
  322. package/dist/server/content-types/user/index.mjs +82 -0
  323. package/dist/server/content-types/user/index.mjs.map +1 -0
  324. package/dist/server/content-types/user/schema-config.js +25 -0
  325. package/dist/server/content-types/user/schema-config.js.map +1 -0
  326. package/dist/server/content-types/user/schema-config.mjs +23 -0
  327. package/dist/server/content-types/user/schema-config.mjs.map +1 -0
  328. package/dist/server/controllers/auth.js +429 -0
  329. package/dist/server/controllers/auth.js.map +1 -0
  330. package/dist/server/controllers/auth.mjs +427 -0
  331. package/dist/server/controllers/auth.mjs.map +1 -0
  332. package/dist/server/controllers/content-manager-user.js +168 -0
  333. package/dist/server/controllers/content-manager-user.js.map +1 -0
  334. package/dist/server/controllers/content-manager-user.mjs +166 -0
  335. package/dist/server/controllers/content-manager-user.mjs.map +1 -0
  336. package/dist/server/controllers/index.js +33 -0
  337. package/dist/server/controllers/index.js.map +1 -0
  338. package/dist/server/controllers/index.mjs +31 -0
  339. package/dist/server/controllers/index.mjs.map +1 -0
  340. package/dist/server/controllers/permissions.js +37 -0
  341. package/dist/server/controllers/permissions.js.map +1 -0
  342. package/dist/server/controllers/permissions.mjs +35 -0
  343. package/dist/server/controllers/permissions.mjs.map +1 -0
  344. package/dist/server/controllers/role.js +91 -0
  345. package/dist/server/controllers/role.js.map +1 -0
  346. package/dist/server/controllers/role.mjs +89 -0
  347. package/dist/server/controllers/role.mjs.map +1 -0
  348. package/dist/server/controllers/settings.js +107 -0
  349. package/dist/server/controllers/settings.js.map +1 -0
  350. package/dist/server/controllers/settings.mjs +105 -0
  351. package/dist/server/controllers/settings.mjs.map +1 -0
  352. package/dist/server/controllers/user.js +201 -0
  353. package/dist/server/controllers/user.js.map +1 -0
  354. package/dist/server/controllers/user.mjs +199 -0
  355. package/dist/server/controllers/user.mjs.map +1 -0
  356. package/dist/server/controllers/validation/auth.js +131 -0
  357. package/dist/server/controllers/validation/auth.js.map +1 -0
  358. package/dist/server/controllers/validation/auth.mjs +129 -0
  359. package/dist/server/controllers/validation/auth.mjs.map +1 -0
  360. package/dist/server/controllers/validation/email-template.js +72 -0
  361. package/dist/server/controllers/validation/email-template.js.map +1 -0
  362. package/dist/server/controllers/validation/email-template.mjs +70 -0
  363. package/dist/server/controllers/validation/email-template.mjs.map +1 -0
  364. package/dist/server/controllers/validation/user.js +54 -0
  365. package/dist/server/controllers/validation/user.js.map +1 -0
  366. package/dist/server/controllers/validation/user.mjs +52 -0
  367. package/dist/server/controllers/validation/user.mjs.map +1 -0
  368. package/dist/server/graphql/index.js +66 -0
  369. package/dist/server/graphql/index.js.map +1 -0
  370. package/dist/server/graphql/index.mjs +64 -0
  371. package/dist/server/graphql/index.mjs.map +1 -0
  372. package/dist/server/graphql/mutations/auth/change-password.js +40 -0
  373. package/dist/server/graphql/mutations/auth/change-password.js.map +1 -0
  374. package/dist/server/graphql/mutations/auth/change-password.mjs +38 -0
  375. package/dist/server/graphql/mutations/auth/change-password.mjs.map +1 -0
  376. package/dist/server/graphql/mutations/auth/email-confirmation.js +38 -0
  377. package/dist/server/graphql/mutations/auth/email-confirmation.js.map +1 -0
  378. package/dist/server/graphql/mutations/auth/email-confirmation.mjs +36 -0
  379. package/dist/server/graphql/mutations/auth/email-confirmation.mjs.map +1 -0
  380. package/dist/server/graphql/mutations/auth/forgot-password.js +37 -0
  381. package/dist/server/graphql/mutations/auth/forgot-password.js.map +1 -0
  382. package/dist/server/graphql/mutations/auth/forgot-password.mjs +35 -0
  383. package/dist/server/graphql/mutations/auth/forgot-password.mjs.map +1 -0
  384. package/dist/server/graphql/mutations/auth/login.js +40 -0
  385. package/dist/server/graphql/mutations/auth/login.js.map +1 -0
  386. package/dist/server/graphql/mutations/auth/login.mjs +38 -0
  387. package/dist/server/graphql/mutations/auth/login.mjs.map +1 -0
  388. package/dist/server/graphql/mutations/auth/register.js +38 -0
  389. package/dist/server/graphql/mutations/auth/register.js.map +1 -0
  390. package/dist/server/graphql/mutations/auth/register.mjs +36 -0
  391. package/dist/server/graphql/mutations/auth/register.mjs.map +1 -0
  392. package/dist/server/graphql/mutations/auth/reset-password.js +40 -0
  393. package/dist/server/graphql/mutations/auth/reset-password.js.map +1 -0
  394. package/dist/server/graphql/mutations/auth/reset-password.mjs +38 -0
  395. package/dist/server/graphql/mutations/auth/reset-password.mjs.map +1 -0
  396. package/dist/server/graphql/mutations/crud/role/create-role.js +37 -0
  397. package/dist/server/graphql/mutations/crud/role/create-role.js.map +1 -0
  398. package/dist/server/graphql/mutations/crud/role/create-role.mjs +35 -0
  399. package/dist/server/graphql/mutations/crud/role/create-role.mjs.map +1 -0
  400. package/dist/server/graphql/mutations/crud/role/delete-role.js +32 -0
  401. package/dist/server/graphql/mutations/crud/role/delete-role.js.map +1 -0
  402. package/dist/server/graphql/mutations/crud/role/delete-role.mjs +30 -0
  403. package/dist/server/graphql/mutations/crud/role/delete-role.mjs.map +1 -0
  404. package/dist/server/graphql/mutations/crud/role/update-role.js +39 -0
  405. package/dist/server/graphql/mutations/crud/role/update-role.js.map +1 -0
  406. package/dist/server/graphql/mutations/crud/role/update-role.mjs +37 -0
  407. package/dist/server/graphql/mutations/crud/role/update-role.mjs.map +1 -0
  408. package/dist/server/graphql/mutations/crud/user/create-user.js +46 -0
  409. package/dist/server/graphql/mutations/crud/user/create-user.js.map +1 -0
  410. package/dist/server/graphql/mutations/crud/user/create-user.mjs +44 -0
  411. package/dist/server/graphql/mutations/crud/user/create-user.mjs.map +1 -0
  412. package/dist/server/graphql/mutations/crud/user/delete-user.js +44 -0
  413. package/dist/server/graphql/mutations/crud/user/delete-user.js.map +1 -0
  414. package/dist/server/graphql/mutations/crud/user/delete-user.mjs +42 -0
  415. package/dist/server/graphql/mutations/crud/user/delete-user.mjs.map +1 -0
  416. package/dist/server/graphql/mutations/crud/user/update-user.js +49 -0
  417. package/dist/server/graphql/mutations/crud/user/update-user.js.map +1 -0
  418. package/dist/server/graphql/mutations/crud/user/update-user.mjs +47 -0
  419. package/dist/server/graphql/mutations/crud/user/update-user.mjs.map +1 -0
  420. package/dist/server/graphql/mutations/index.js +58 -0
  421. package/dist/server/graphql/mutations/index.js.map +1 -0
  422. package/dist/server/graphql/mutations/index.mjs +56 -0
  423. package/dist/server/graphql/mutations/index.mjs.map +1 -0
  424. package/dist/server/graphql/queries/index.js +25 -0
  425. package/dist/server/graphql/queries/index.js.map +1 -0
  426. package/dist/server/graphql/queries/index.mjs +23 -0
  427. package/dist/server/graphql/queries/index.mjs.map +1 -0
  428. package/dist/server/graphql/queries/me.js +23 -0
  429. package/dist/server/graphql/queries/me.js.map +1 -0
  430. package/dist/server/graphql/queries/me.mjs +21 -0
  431. package/dist/server/graphql/queries/me.mjs.map +1 -0
  432. package/dist/server/graphql/resolvers-configs.js +93 -0
  433. package/dist/server/graphql/resolvers-configs.js.map +1 -0
  434. package/dist/server/graphql/resolvers-configs.mjs +91 -0
  435. package/dist/server/graphql/resolvers-configs.mjs.map +1 -0
  436. package/dist/server/graphql/types/create-role-payload.js +20 -0
  437. package/dist/server/graphql/types/create-role-payload.js.map +1 -0
  438. package/dist/server/graphql/types/create-role-payload.mjs +18 -0
  439. package/dist/server/graphql/types/create-role-payload.mjs.map +1 -0
  440. package/dist/server/graphql/types/delete-role-payload.js +20 -0
  441. package/dist/server/graphql/types/delete-role-payload.js.map +1 -0
  442. package/dist/server/graphql/types/delete-role-payload.mjs +18 -0
  443. package/dist/server/graphql/types/delete-role-payload.mjs.map +1 -0
  444. package/dist/server/graphql/types/index.js +41 -0
  445. package/dist/server/graphql/types/index.js.map +1 -0
  446. package/dist/server/graphql/types/index.mjs +39 -0
  447. package/dist/server/graphql/types/index.mjs.map +1 -0
  448. package/dist/server/graphql/types/login-input.js +24 -0
  449. package/dist/server/graphql/types/login-input.js.map +1 -0
  450. package/dist/server/graphql/types/login-input.mjs +22 -0
  451. package/dist/server/graphql/types/login-input.mjs.map +1 -0
  452. package/dist/server/graphql/types/login-payload.js +23 -0
  453. package/dist/server/graphql/types/login-payload.js.map +1 -0
  454. package/dist/server/graphql/types/login-payload.mjs +21 -0
  455. package/dist/server/graphql/types/login-payload.mjs.map +1 -0
  456. package/dist/server/graphql/types/me-role.js +23 -0
  457. package/dist/server/graphql/types/me-role.js.map +1 -0
  458. package/dist/server/graphql/types/me-role.mjs +21 -0
  459. package/dist/server/graphql/types/me-role.mjs.map +1 -0
  460. package/dist/server/graphql/types/me.js +28 -0
  461. package/dist/server/graphql/types/me.js.map +1 -0
  462. package/dist/server/graphql/types/me.mjs +26 -0
  463. package/dist/server/graphql/types/me.mjs.map +1 -0
  464. package/dist/server/graphql/types/password-payload.js +20 -0
  465. package/dist/server/graphql/types/password-payload.js.map +1 -0
  466. package/dist/server/graphql/types/password-payload.mjs +18 -0
  467. package/dist/server/graphql/types/password-payload.mjs.map +1 -0
  468. package/dist/server/graphql/types/register-input.js +22 -0
  469. package/dist/server/graphql/types/register-input.js.map +1 -0
  470. package/dist/server/graphql/types/register-input.mjs +20 -0
  471. package/dist/server/graphql/types/register-input.mjs.map +1 -0
  472. package/dist/server/graphql/types/update-role-payload.js +20 -0
  473. package/dist/server/graphql/types/update-role-payload.js.map +1 -0
  474. package/dist/server/graphql/types/update-role-payload.mjs +18 -0
  475. package/dist/server/graphql/types/update-role-payload.mjs.map +1 -0
  476. package/dist/server/graphql/types/user-input.js +26 -0
  477. package/dist/server/graphql/types/user-input.js.map +1 -0
  478. package/dist/server/graphql/types/user-input.mjs +24 -0
  479. package/dist/server/graphql/types/user-input.mjs.map +1 -0
  480. package/dist/server/graphql/utils.js +32 -0
  481. package/dist/server/graphql/utils.js.map +1 -0
  482. package/dist/server/graphql/utils.mjs +30 -0
  483. package/dist/server/graphql/utils.mjs.map +1 -0
  484. package/dist/server/index.js +10 -0
  485. package/dist/server/index.js.map +1 -0
  486. package/dist/server/index.mjs +8 -0
  487. package/dist/server/index.mjs.map +1 -0
  488. package/dist/server/index2.js +39 -0
  489. package/dist/server/index2.js.map +1 -0
  490. package/dist/server/index2.mjs +37 -0
  491. package/dist/server/index2.mjs.map +1 -0
  492. package/dist/server/middlewares/index.js +18 -0
  493. package/dist/server/middlewares/index.js.map +1 -0
  494. package/dist/server/middlewares/index.mjs +16 -0
  495. package/dist/server/middlewares/index.mjs.map +1 -0
  496. package/dist/server/middlewares/rateLimit.js +51 -0
  497. package/dist/server/middlewares/rateLimit.js.map +1 -0
  498. package/dist/server/middlewares/rateLimit.mjs +49 -0
  499. package/dist/server/middlewares/rateLimit.mjs.map +1 -0
  500. package/dist/server/register.js +41 -0
  501. package/dist/server/register.js.map +1 -0
  502. package/dist/server/register.mjs +39 -0
  503. package/dist/server/register.mjs.map +1 -0
  504. package/dist/server/routes/admin/index.js +27 -0
  505. package/dist/server/routes/admin/index.js.map +1 -0
  506. package/dist/server/routes/admin/index.mjs +25 -0
  507. package/dist/server/routes/admin/index.mjs.map +1 -0
  508. package/dist/server/routes/admin/permissions.js +29 -0
  509. package/dist/server/routes/admin/permissions.js.map +1 -0
  510. package/dist/server/routes/admin/permissions.mjs +27 -0
  511. package/dist/server/routes/admin/permissions.mjs.map +1 -0
  512. package/dist/server/routes/admin/role.js +99 -0
  513. package/dist/server/routes/admin/role.js.map +1 -0
  514. package/dist/server/routes/admin/role.mjs +97 -0
  515. package/dist/server/routes/admin/role.mjs.map +1 -0
  516. package/dist/server/routes/admin/settings.js +116 -0
  517. package/dist/server/routes/admin/settings.js.map +1 -0
  518. package/dist/server/routes/admin/settings.mjs +114 -0
  519. package/dist/server/routes/admin/settings.mjs.map +1 -0
  520. package/dist/server/routes/content-api/auth.js +152 -0
  521. package/dist/server/routes/content-api/auth.js.map +1 -0
  522. package/dist/server/routes/content-api/auth.mjs +150 -0
  523. package/dist/server/routes/content-api/auth.mjs.map +1 -0
  524. package/dist/server/routes/content-api/index.js +32 -0
  525. package/dist/server/routes/content-api/index.js.map +1 -0
  526. package/dist/server/routes/content-api/index.mjs +30 -0
  527. package/dist/server/routes/content-api/index.mjs.map +1 -0
  528. package/dist/server/routes/content-api/permissions.js +26 -0
  529. package/dist/server/routes/content-api/permissions.js.map +1 -0
  530. package/dist/server/routes/content-api/permissions.mjs +24 -0
  531. package/dist/server/routes/content-api/permissions.mjs.map +1 -0
  532. package/dist/server/routes/content-api/role.js +73 -0
  533. package/dist/server/routes/content-api/role.js.map +1 -0
  534. package/dist/server/routes/content-api/role.mjs +71 -0
  535. package/dist/server/routes/content-api/role.mjs.map +1 -0
  536. package/dist/server/routes/content-api/user.js +132 -0
  537. package/dist/server/routes/content-api/user.js.map +1 -0
  538. package/dist/server/routes/content-api/user.mjs +130 -0
  539. package/dist/server/routes/content-api/user.mjs.map +1 -0
  540. package/dist/server/routes/content-api/validation.js +216 -0
  541. package/dist/server/routes/content-api/validation.js.map +1 -0
  542. package/dist/server/routes/content-api/validation.mjs +214 -0
  543. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  544. package/dist/server/routes/index.js +19 -0
  545. package/dist/server/routes/index.js.map +1 -0
  546. package/dist/server/routes/index.mjs +17 -0
  547. package/dist/server/routes/index.mjs.map +1 -0
  548. package/dist/server/services/index.js +36 -0
  549. package/dist/server/services/index.js.map +1 -0
  550. package/dist/server/services/index.mjs +34 -0
  551. package/dist/server/services/index.mjs.map +1 -0
  552. package/dist/server/services/jwt.js +50 -0
  553. package/dist/server/services/jwt.js.map +1 -0
  554. package/dist/server/services/jwt.mjs +48 -0
  555. package/dist/server/services/jwt.mjs.map +1 -0
  556. package/dist/server/services/permission.js +52 -0
  557. package/dist/server/services/permission.js.map +1 -0
  558. package/dist/server/services/permission.mjs +50 -0
  559. package/dist/server/services/permission.mjs.map +1 -0
  560. package/dist/server/services/providers-registry.js +555 -0
  561. package/dist/server/services/providers-registry.js.map +1 -0
  562. package/dist/server/services/providers-registry.mjs +553 -0
  563. package/dist/server/services/providers-registry.mjs.map +1 -0
  564. package/dist/server/services/providers.js +111 -0
  565. package/dist/server/services/providers.js.map +1 -0
  566. package/dist/server/services/providers.mjs +109 -0
  567. package/dist/server/services/providers.mjs.map +1 -0
  568. package/dist/server/services/role.js +186 -0
  569. package/dist/server/services/role.js.map +1 -0
  570. package/dist/server/services/role.mjs +184 -0
  571. package/dist/server/services/role.mjs.map +1 -0
  572. package/dist/server/services/user.js +179 -0
  573. package/dist/server/services/user.js.map +1 -0
  574. package/dist/server/services/user.mjs +177 -0
  575. package/dist/server/services/user.mjs.map +1 -0
  576. package/dist/server/services/users-permissions.js +247 -0
  577. package/dist/server/services/users-permissions.js.map +1 -0
  578. package/dist/server/services/users-permissions.mjs +245 -0
  579. package/dist/server/services/users-permissions.mjs.map +1 -0
  580. package/dist/server/strategies/users-permissions.js +114 -0
  581. package/dist/server/strategies/users-permissions.js.map +1 -0
  582. package/dist/server/strategies/users-permissions.mjs +112 -0
  583. package/dist/server/strategies/users-permissions.mjs.map +1 -0
  584. package/dist/server/utils/index.js +22 -0
  585. package/dist/server/utils/index.js.map +1 -0
  586. package/dist/server/utils/index.mjs +20 -0
  587. package/dist/server/utils/index.mjs.map +1 -0
  588. package/dist/server/utils/sanitize/index.js +21 -0
  589. package/dist/server/utils/sanitize/index.js.map +1 -0
  590. package/dist/server/utils/sanitize/index.mjs +19 -0
  591. package/dist/server/utils/sanitize/index.mjs.map +1 -0
  592. package/dist/server/utils/sanitize/sanitizers.js +32 -0
  593. package/dist/server/utils/sanitize/sanitizers.js.map +1 -0
  594. package/dist/server/utils/sanitize/sanitizers.mjs +30 -0
  595. package/dist/server/utils/sanitize/sanitizers.mjs.map +1 -0
  596. package/dist/server/utils/sanitize/visitors/index.js +17 -0
  597. package/dist/server/utils/sanitize/visitors/index.js.map +1 -0
  598. package/dist/server/utils/sanitize/visitors/index.mjs +15 -0
  599. package/dist/server/utils/sanitize/visitors/index.mjs.map +1 -0
  600. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +17 -0
  601. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js.map +1 -0
  602. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs +15 -0
  603. package/dist/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.mjs.map +1 -0
  604. package/package.json +33 -33
  605. package/rollup.config.mjs +19 -0
  606. package/server/bootstrap/index.js +18 -51
  607. package/server/bootstrap/users-permissions-actions.js +6 -0
  608. package/server/config.js +29 -0
  609. package/server/content-types/user/index.js +0 -1
  610. package/server/controllers/auth.js +63 -64
  611. package/server/controllers/content-manager-user.js +31 -34
  612. package/server/controllers/role.js +17 -4
  613. package/server/controllers/user.js +8 -9
  614. package/server/controllers/validation/auth.js +104 -25
  615. package/server/controllers/validation/user.js +12 -1
  616. package/server/graphql/types/index.js +1 -0
  617. package/server/graphql/types/me.js +1 -0
  618. package/server/graphql/types/user-input.js +20 -0
  619. package/server/middlewares/rateLimit.js +1 -1
  620. package/server/register.js +2 -2
  621. package/server/routes/content-api/auth.js +107 -71
  622. package/server/routes/content-api/index.js +10 -3
  623. package/server/routes/content-api/permissions.js +14 -7
  624. package/server/routes/content-api/role.js +57 -27
  625. package/server/routes/content-api/user.js +108 -51
  626. package/server/routes/content-api/validation.js +249 -0
  627. package/server/services/jwt.js +3 -3
  628. package/server/services/permission.js +3 -7
  629. package/server/services/providers-registry.js +469 -261
  630. package/server/services/providers.js +10 -5
  631. package/server/services/role.js +15 -13
  632. package/server/services/user.js +56 -19
  633. package/server/services/users-permissions.js +15 -13
  634. package/server/utils/index.d.ts +2 -1
  635. package/server/utils/sanitize/sanitizers.js +7 -3
  636. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +2 -2
  637. package/admin/src/components/FormModal/index.js +0 -126
  638. package/admin/src/components/Permissions/index.js +0 -55
  639. package/admin/src/pages/AdvancedSettings/index.js +0 -259
  640. package/admin/src/pages/EmailTemplates/components/EmailForm.js +0 -176
  641. package/admin/src/pages/Roles/index.js +0 -33
  642. package/admin/src/pages/Roles/pages/ListPage/utils/api.js +0 -30
  643. package/packup.config.ts +0 -42
  644. package/server/bootstrap/grant-config.js +0 -131
  645. package/strapi-server.js +0 -3
  646. /package/admin/src/components/Permissions/PermissionRow/{index.js → index.jsx} +0 -0
  647. /package/admin/src/contexts/UsersPermissionsContext/{index.js → index.jsx} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailForm.mjs","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailForm.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n"],"names":["EmailForm","template","onToggle","open","onSubmit","formatMessage","useIntl","_jsx","Modal","Root","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","getTrad","defaultMessage","display","Crumb","isCurrent","VisuallyHidden","Title","Form","initialValues","validationSchema","schema","isSubmitting","_Fragment","Body","Grid","gap","name","size","type","map","field","Item","col","direction","alignItems","InputRenderer","Footer","Close","Button","variant","loading","defaultProps","propTypes","PropTypes","shape","string","icon","options","from","email","message","object","response_email","bool","isRequired","func"],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ require('react');
5
+ var designSystem = require('@strapi/design-system');
6
+ var icons = require('@strapi/icons');
7
+ var PropTypes = require('prop-types');
8
+ var reactIntl = require('react-intl');
9
+ require('lodash/isEmpty');
10
+ var getTrad = require('../../../utils/getTrad.js');
11
+
12
+ const EmailTable = ({ canUpdate, onEditClick })=>{
13
+ const { formatMessage } = reactIntl.useIntl();
14
+ return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Table, {
15
+ colCount: 3,
16
+ rowCount: 3,
17
+ children: [
18
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Thead, {
19
+ children: /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
20
+ children: [
21
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
22
+ width: "1%",
23
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
24
+ children: formatMessage({
25
+ id: getTrad('Email.template.table.icon.label'),
26
+ defaultMessage: 'icon'
27
+ })
28
+ })
29
+ }),
30
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
31
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
32
+ variant: "sigma",
33
+ textColor: "neutral600",
34
+ children: formatMessage({
35
+ id: getTrad('Email.template.table.name.label'),
36
+ defaultMessage: 'name'
37
+ })
38
+ })
39
+ }),
40
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Th, {
41
+ width: "1%",
42
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.VisuallyHidden, {
43
+ children: formatMessage({
44
+ id: getTrad('Email.template.table.action.label'),
45
+ defaultMessage: 'action'
46
+ })
47
+ })
48
+ })
49
+ ]
50
+ })
51
+ }),
52
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tbody, {
53
+ children: [
54
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
55
+ cursor: "pointer",
56
+ onClick: ()=>onEditClick('reset_password'),
57
+ children: [
58
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
59
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
60
+ width: "3.2rem",
61
+ height: "3.2rem",
62
+ padding: "0.8rem",
63
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.ArrowClockwise, {
64
+ "aria-label": formatMessage({
65
+ id: 'global.reset-password',
66
+ defaultMessage: 'Reset password'
67
+ })
68
+ })
69
+ })
70
+ }),
71
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
72
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
73
+ children: formatMessage({
74
+ id: 'global.reset-password',
75
+ defaultMessage: 'Reset password'
76
+ })
77
+ })
78
+ }),
79
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
80
+ onClick: (e)=>e.stopPropagation(),
81
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
82
+ onClick: ()=>onEditClick('reset_password'),
83
+ label: formatMessage({
84
+ id: getTrad('Email.template.form.edit.label'),
85
+ defaultMessage: 'Edit a template'
86
+ }),
87
+ variant: "ghost",
88
+ disabled: !canUpdate,
89
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
90
+ })
91
+ })
92
+ ]
93
+ }),
94
+ /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Tr, {
95
+ cursor: "pointer",
96
+ onClick: ()=>onEditClick('email_confirmation'),
97
+ children: [
98
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
99
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
100
+ width: "3.2rem",
101
+ height: "3.2rem",
102
+ padding: "0.8rem",
103
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Check, {
104
+ "aria-label": formatMessage({
105
+ id: getTrad('Email.template.email_confirmation'),
106
+ defaultMessage: 'Email address confirmation'
107
+ })
108
+ })
109
+ })
110
+ }),
111
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
112
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
113
+ children: formatMessage({
114
+ id: getTrad('Email.template.email_confirmation'),
115
+ defaultMessage: 'Email address confirmation'
116
+ })
117
+ })
118
+ }),
119
+ /*#__PURE__*/ jsxRuntime.jsx(designSystem.Td, {
120
+ onClick: (e)=>e.stopPropagation(),
121
+ children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
122
+ onClick: ()=>onEditClick('email_confirmation'),
123
+ label: formatMessage({
124
+ id: getTrad('Email.template.form.edit.label'),
125
+ defaultMessage: 'Edit a template'
126
+ }),
127
+ variant: "ghost",
128
+ disabled: !canUpdate,
129
+ children: /*#__PURE__*/ jsxRuntime.jsx(icons.Pencil, {})
130
+ })
131
+ })
132
+ ]
133
+ })
134
+ ]
135
+ })
136
+ ]
137
+ });
138
+ };
139
+ EmailTable.propTypes = {
140
+ canUpdate: PropTypes.bool.isRequired,
141
+ onEditClick: PropTypes.func.isRequired
142
+ };
143
+
144
+ module.exports = EmailTable;
145
+ //# sourceMappingURL=EmailTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailTable.js","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailTable.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n"],"names":["EmailTable","canUpdate","onEditClick","formatMessage","useIntl","_jsxs","Table","colCount","rowCount","_jsx","Thead","Tr","Th","width","VisuallyHidden","id","getTrad","defaultMessage","Typography","variant","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","label","disabled","Pencil","Check","propTypes","PropTypes","bool","isRequired","func"],"mappings":"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"}
@@ -0,0 +1,143 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import 'react';
3
+ import { Table, Thead, Tr, Th, VisuallyHidden, Typography, Tbody, Td, Box, IconButton } from '@strapi/design-system';
4
+ import { ArrowClockwise, Pencil, Check } from '@strapi/icons';
5
+ import PropTypes from 'prop-types';
6
+ import { useIntl } from 'react-intl';
7
+ import 'lodash/isEmpty';
8
+ import getTrad from '../../../utils/getTrad.mjs';
9
+
10
+ const EmailTable = ({ canUpdate, onEditClick })=>{
11
+ const { formatMessage } = useIntl();
12
+ return /*#__PURE__*/ jsxs(Table, {
13
+ colCount: 3,
14
+ rowCount: 3,
15
+ children: [
16
+ /*#__PURE__*/ jsx(Thead, {
17
+ children: /*#__PURE__*/ jsxs(Tr, {
18
+ children: [
19
+ /*#__PURE__*/ jsx(Th, {
20
+ width: "1%",
21
+ children: /*#__PURE__*/ jsx(VisuallyHidden, {
22
+ children: formatMessage({
23
+ id: getTrad('Email.template.table.icon.label'),
24
+ defaultMessage: 'icon'
25
+ })
26
+ })
27
+ }),
28
+ /*#__PURE__*/ jsx(Th, {
29
+ children: /*#__PURE__*/ jsx(Typography, {
30
+ variant: "sigma",
31
+ textColor: "neutral600",
32
+ children: formatMessage({
33
+ id: getTrad('Email.template.table.name.label'),
34
+ defaultMessage: 'name'
35
+ })
36
+ })
37
+ }),
38
+ /*#__PURE__*/ jsx(Th, {
39
+ width: "1%",
40
+ children: /*#__PURE__*/ jsx(VisuallyHidden, {
41
+ children: formatMessage({
42
+ id: getTrad('Email.template.table.action.label'),
43
+ defaultMessage: 'action'
44
+ })
45
+ })
46
+ })
47
+ ]
48
+ })
49
+ }),
50
+ /*#__PURE__*/ jsxs(Tbody, {
51
+ children: [
52
+ /*#__PURE__*/ jsxs(Tr, {
53
+ cursor: "pointer",
54
+ onClick: ()=>onEditClick('reset_password'),
55
+ children: [
56
+ /*#__PURE__*/ jsx(Td, {
57
+ children: /*#__PURE__*/ jsx(Box, {
58
+ width: "3.2rem",
59
+ height: "3.2rem",
60
+ padding: "0.8rem",
61
+ children: /*#__PURE__*/ jsx(ArrowClockwise, {
62
+ "aria-label": formatMessage({
63
+ id: 'global.reset-password',
64
+ defaultMessage: 'Reset password'
65
+ })
66
+ })
67
+ })
68
+ }),
69
+ /*#__PURE__*/ jsx(Td, {
70
+ children: /*#__PURE__*/ jsx(Typography, {
71
+ children: formatMessage({
72
+ id: 'global.reset-password',
73
+ defaultMessage: 'Reset password'
74
+ })
75
+ })
76
+ }),
77
+ /*#__PURE__*/ jsx(Td, {
78
+ onClick: (e)=>e.stopPropagation(),
79
+ children: /*#__PURE__*/ jsx(IconButton, {
80
+ onClick: ()=>onEditClick('reset_password'),
81
+ label: formatMessage({
82
+ id: getTrad('Email.template.form.edit.label'),
83
+ defaultMessage: 'Edit a template'
84
+ }),
85
+ variant: "ghost",
86
+ disabled: !canUpdate,
87
+ children: /*#__PURE__*/ jsx(Pencil, {})
88
+ })
89
+ })
90
+ ]
91
+ }),
92
+ /*#__PURE__*/ jsxs(Tr, {
93
+ cursor: "pointer",
94
+ onClick: ()=>onEditClick('email_confirmation'),
95
+ children: [
96
+ /*#__PURE__*/ jsx(Td, {
97
+ children: /*#__PURE__*/ jsx(Box, {
98
+ width: "3.2rem",
99
+ height: "3.2rem",
100
+ padding: "0.8rem",
101
+ children: /*#__PURE__*/ jsx(Check, {
102
+ "aria-label": formatMessage({
103
+ id: getTrad('Email.template.email_confirmation'),
104
+ defaultMessage: 'Email address confirmation'
105
+ })
106
+ })
107
+ })
108
+ }),
109
+ /*#__PURE__*/ jsx(Td, {
110
+ children: /*#__PURE__*/ jsx(Typography, {
111
+ children: formatMessage({
112
+ id: getTrad('Email.template.email_confirmation'),
113
+ defaultMessage: 'Email address confirmation'
114
+ })
115
+ })
116
+ }),
117
+ /*#__PURE__*/ jsx(Td, {
118
+ onClick: (e)=>e.stopPropagation(),
119
+ children: /*#__PURE__*/ jsx(IconButton, {
120
+ onClick: ()=>onEditClick('email_confirmation'),
121
+ label: formatMessage({
122
+ id: getTrad('Email.template.form.edit.label'),
123
+ defaultMessage: 'Edit a template'
124
+ }),
125
+ variant: "ghost",
126
+ disabled: !canUpdate,
127
+ children: /*#__PURE__*/ jsx(Pencil, {})
128
+ })
129
+ })
130
+ ]
131
+ })
132
+ ]
133
+ })
134
+ ]
135
+ });
136
+ };
137
+ EmailTable.propTypes = {
138
+ canUpdate: PropTypes.bool.isRequired,
139
+ onEditClick: PropTypes.func.isRequired
140
+ };
141
+
142
+ export { EmailTable as default };
143
+ //# sourceMappingURL=EmailTable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmailTable.mjs","sources":["../../../../../admin/src/pages/EmailTemplates/components/EmailTable.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n"],"names":["EmailTable","canUpdate","onEditClick","formatMessage","useIntl","_jsxs","Table","colCount","rowCount","_jsx","Thead","Tr","Th","width","VisuallyHidden","id","getTrad","defaultMessage","Typography","variant","textColor","Tbody","cursor","onClick","Td","Box","height","padding","Refresh","aria-label","e","stopPropagation","IconButton","label","disabled","Pencil","Check","propTypes","PropTypes","bool","isRequired","func"],"mappings":"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"}
@@ -0,0 +1,157 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var strapiAdmin = require('@strapi/admin/strapi-admin');
6
+ var designSystem = require('@strapi/design-system');
7
+ var admin = require('@strapi/strapi/admin');
8
+ var reactIntl = require('react-intl');
9
+ var reactQuery = require('react-query');
10
+ var constants = require('../../constants.js');
11
+ require('lodash/isEmpty');
12
+ var getTrad = require('../../utils/getTrad.js');
13
+ var EmailForm = require('./components/EmailForm.js');
14
+ var EmailTable = require('./components/EmailTable.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 ProtectedEmailTemplatesPage = ()=>/*#__PURE__*/ jsxRuntime.jsx(admin.Page.Protect, {
36
+ permissions: constants.PERMISSIONS.readEmailTemplates,
37
+ children: /*#__PURE__*/ jsxRuntime.jsx(EmailTemplatesPage, {})
38
+ });
39
+ const EmailTemplatesPage = ()=>{
40
+ const { formatMessage } = reactIntl.useIntl();
41
+ const { trackUsage } = strapiAdmin.useTracking();
42
+ const { notifyStatus } = designSystem.useNotifyAT();
43
+ const { toggleNotification } = admin.useNotification();
44
+ const queryClient = reactQuery.useQueryClient();
45
+ const { get, put } = admin.useFetchClient();
46
+ const { formatAPIError } = admin.useAPIErrorHandler();
47
+ const [isModalOpen, setIsModalOpen] = React__namespace.useState(false);
48
+ const [templateToEdit, setTemplateToEdit] = React__namespace.useState(null);
49
+ const { isLoading: isLoadingForPermissions, allowedActions: { canUpdate } } = admin.useRBAC({
50
+ update: constants.PERMISSIONS.updateEmailTemplates
51
+ });
52
+ const { isLoading: isLoadingData, data } = reactQuery.useQuery([
53
+ 'users-permissions',
54
+ 'email-templates'
55
+ ], async ()=>{
56
+ const { data } = await get('/users-permissions/email-templates');
57
+ return data;
58
+ }, {
59
+ onSuccess () {
60
+ notifyStatus(formatMessage({
61
+ id: getTrad('Email.template.data.loaded'),
62
+ defaultMessage: 'Email templates has been loaded'
63
+ }));
64
+ },
65
+ onError (error) {
66
+ toggleNotification({
67
+ type: 'danger',
68
+ message: formatAPIError(error)
69
+ });
70
+ }
71
+ });
72
+ const isLoading = isLoadingForPermissions || isLoadingData;
73
+ const handleToggle = ()=>{
74
+ setIsModalOpen((prev)=>!prev);
75
+ };
76
+ const handleEditClick = (template)=>{
77
+ setTemplateToEdit(template);
78
+ handleToggle();
79
+ };
80
+ const submitMutation = reactQuery.useMutation((body)=>put('/users-permissions/email-templates', {
81
+ 'email-templates': body
82
+ }), {
83
+ async onSuccess () {
84
+ await queryClient.invalidateQueries([
85
+ 'users-permissions',
86
+ 'email-templates'
87
+ ]);
88
+ toggleNotification({
89
+ type: 'success',
90
+ message: formatMessage({
91
+ id: 'notification.success.saved',
92
+ defaultMessage: 'Saved'
93
+ })
94
+ });
95
+ trackUsage('didEditEmailTemplates');
96
+ handleToggle();
97
+ },
98
+ onError (error) {
99
+ toggleNotification({
100
+ type: 'danger',
101
+ message: formatAPIError(error)
102
+ });
103
+ },
104
+ refetchActive: true
105
+ });
106
+ const handleSubmit = (body)=>{
107
+ trackUsage('willEditEmailTemplates');
108
+ const editedTemplates = {
109
+ ...data,
110
+ [templateToEdit]: body
111
+ };
112
+ submitMutation.mutate(editedTemplates);
113
+ };
114
+ if (isLoading) {
115
+ return /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Loading, {});
116
+ }
117
+ return /*#__PURE__*/ jsxRuntime.jsxs(admin.Page.Main, {
118
+ "aria-busy": submitMutation.isLoading,
119
+ children: [
120
+ /*#__PURE__*/ jsxRuntime.jsx(admin.Page.Title, {
121
+ children: formatMessage({
122
+ id: 'Settings.PageTitle',
123
+ defaultMessage: 'Settings - {name}'
124
+ }, {
125
+ name: formatMessage({
126
+ id: getTrad('HeaderNav.link.emailTemplates'),
127
+ defaultMessage: 'Email templates'
128
+ })
129
+ })
130
+ }),
131
+ /*#__PURE__*/ jsxRuntime.jsx(admin.Layouts.Header, {
132
+ title: formatMessage({
133
+ id: getTrad('HeaderNav.link.emailTemplates'),
134
+ defaultMessage: 'Email templates'
135
+ })
136
+ }),
137
+ /*#__PURE__*/ jsxRuntime.jsxs(admin.Layouts.Content, {
138
+ children: [
139
+ /*#__PURE__*/ jsxRuntime.jsx(EmailTable, {
140
+ onEditClick: handleEditClick,
141
+ canUpdate: canUpdate
142
+ }),
143
+ /*#__PURE__*/ jsxRuntime.jsx(EmailForm, {
144
+ template: data[templateToEdit],
145
+ onToggle: handleToggle,
146
+ open: isModalOpen,
147
+ onSubmit: handleSubmit
148
+ })
149
+ ]
150
+ })
151
+ ]
152
+ });
153
+ };
154
+
155
+ exports.EmailTemplatesPage = EmailTemplatesPage;
156
+ exports.ProtectedEmailTemplatesPage = ProtectedEmailTemplatesPage;
157
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["ProtectedEmailTemplatesPage","_jsx","Page","Protect","permissions","PERMISSIONS","readEmailTemplates","EmailTemplatesPage","formatMessage","useIntl","trackUsage","useTracking","notifyStatus","useNotifyAT","toggleNotification","useNotification","queryClient","useQueryClient","get","put","useFetchClient","formatAPIError","useAPIErrorHandler","isModalOpen","setIsModalOpen","React","useState","templateToEdit","setTemplateToEdit","isLoading","isLoadingForPermissions","allowedActions","canUpdate","useRBAC","update","updateEmailTemplates","isLoadingData","data","useQuery","onSuccess","id","getTrad","defaultMessage","onError","error","type","message","handleToggle","prev","handleEditClick","template","submitMutation","useMutation","body","invalidateQueries","refetchActive","handleSubmit","editedTemplates","mutate","Loading","_jsxs","Main","aria-busy","Title","name","Layouts","Header","title","Content","EmailTable","onEditClick","EmailForm","onToggle","open","onSubmit"],"mappings":"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"}