@strapi/plugin-users-permissions 0.0.0-next.cb666fde52df857549ddd0e7bf1f6888f5d06951 → 0.0.0-next.cc6c39db185a337e2eafce8bcf06544351e92cc5

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 (270) hide show
  1. package/.eslintignore +2 -1
  2. package/admin/src/components/BoundRoute/index.jsx +1 -1
  3. package/admin/src/components/FormModal/Input/index.jsx +1 -1
  4. package/admin/src/components/FormModal/index.jsx +1 -1
  5. package/admin/src/components/Policies/index.jsx +1 -1
  6. package/admin/src/index.js +2 -2
  7. package/admin/src/pages/AdvancedSettings/index.jsx +1 -1
  8. package/admin/src/pages/EmailTemplates/components/EmailForm.jsx +1 -1
  9. package/admin/src/pages/EmailTemplates/components/EmailTable.jsx +1 -1
  10. package/admin/src/pages/Roles/index.jsx +1 -1
  11. package/admin/src/pages/Roles/pages/ListPage/components/TableBody.jsx +1 -1
  12. package/admin/src/pluginId.js +2 -2
  13. package/dist/admin/chunks/ar-BJwjobLp.js +45 -0
  14. package/dist/admin/chunks/ar-BJwjobLp.js.map +1 -0
  15. package/dist/admin/chunks/ar-G6bUGuUb.mjs +43 -0
  16. package/dist/admin/chunks/ar-G6bUGuUb.mjs.map +1 -0
  17. package/dist/admin/chunks/cs-Bu59JqhG.mjs +49 -0
  18. package/dist/admin/chunks/cs-Bu59JqhG.mjs.map +1 -0
  19. package/dist/admin/chunks/cs-uS_SIEo8.js +51 -0
  20. package/dist/admin/chunks/cs-uS_SIEo8.js.map +1 -0
  21. package/dist/admin/chunks/de-7MVMrqqI.js +63 -0
  22. package/dist/admin/chunks/de-7MVMrqqI.js.map +1 -0
  23. package/dist/admin/chunks/de-B81A69_5.mjs +61 -0
  24. package/dist/admin/chunks/de-B81A69_5.mjs.map +1 -0
  25. package/dist/admin/chunks/dk-BaelzvBE.mjs +85 -0
  26. package/dist/admin/chunks/dk-BaelzvBE.mjs.map +1 -0
  27. package/dist/admin/chunks/dk-DwCLGmy9.js +87 -0
  28. package/dist/admin/chunks/dk-DwCLGmy9.js.map +1 -0
  29. package/dist/admin/chunks/en-BhgCBe7M.mjs +85 -0
  30. package/dist/admin/chunks/en-BhgCBe7M.mjs.map +1 -0
  31. package/dist/admin/chunks/en-DwQjkHi_.js +87 -0
  32. package/dist/admin/chunks/en-DwQjkHi_.js.map +1 -0
  33. package/dist/admin/chunks/es-B0wXmvRj.mjs +85 -0
  34. package/dist/admin/chunks/es-B0wXmvRj.mjs.map +1 -0
  35. package/dist/admin/chunks/es-BOJOedG5.js +87 -0
  36. package/dist/admin/chunks/es-BOJOedG5.js.map +1 -0
  37. package/dist/admin/chunks/fr-BDNWCNs0.js +51 -0
  38. package/dist/admin/chunks/fr-BDNWCNs0.js.map +1 -0
  39. package/dist/admin/chunks/fr-CGYvGUXg.mjs +49 -0
  40. package/dist/admin/chunks/fr-CGYvGUXg.mjs.map +1 -0
  41. package/dist/admin/chunks/id-CNzbwFjA.mjs +61 -0
  42. package/dist/admin/chunks/id-CNzbwFjA.mjs.map +1 -0
  43. package/dist/admin/chunks/id-UqUPykHZ.js +63 -0
  44. package/dist/admin/chunks/id-UqUPykHZ.js.map +1 -0
  45. package/dist/admin/chunks/index-B-Z_z_qb.mjs +213 -0
  46. package/dist/admin/chunks/index-B-Z_z_qb.mjs.map +1 -0
  47. package/dist/admin/chunks/index-B2MJiSOD.mjs +279 -0
  48. package/dist/admin/chunks/index-B2MJiSOD.mjs.map +1 -0
  49. package/dist/admin/chunks/index-BPiDUOGt.js +471 -0
  50. package/dist/admin/chunks/index-BPiDUOGt.js.map +1 -0
  51. package/dist/admin/chunks/index-BtYUb_br.js +741 -0
  52. package/dist/admin/chunks/index-BtYUb_br.js.map +1 -0
  53. package/dist/admin/chunks/index-COXjHxFm.mjs +718 -0
  54. package/dist/admin/chunks/index-COXjHxFm.mjs.map +1 -0
  55. package/dist/admin/chunks/index-CkYplz_3.js +301 -0
  56. package/dist/admin/chunks/index-CkYplz_3.js.map +1 -0
  57. package/dist/admin/chunks/index-Cu2GvTiT.mjs +1516 -0
  58. package/dist/admin/chunks/index-Cu2GvTiT.mjs.map +1 -0
  59. package/dist/admin/chunks/index-D01zzG9y.js +1537 -0
  60. package/dist/admin/chunks/index-D01zzG9y.js.map +1 -0
  61. package/dist/admin/chunks/index-DAclA-0k.js +217 -0
  62. package/dist/admin/chunks/index-DAclA-0k.js.map +1 -0
  63. package/dist/admin/chunks/index-DVNIct2-.mjs +448 -0
  64. package/dist/admin/chunks/index-DVNIct2-.mjs.map +1 -0
  65. package/dist/admin/chunks/it-B2H2foTf.mjs +61 -0
  66. package/dist/admin/chunks/it-B2H2foTf.mjs.map +1 -0
  67. package/dist/admin/chunks/it-D5VuyoLU.js +63 -0
  68. package/dist/admin/chunks/it-D5VuyoLU.js.map +1 -0
  69. package/dist/admin/chunks/ja-C0z9d7L9.mjs +47 -0
  70. package/dist/admin/chunks/ja-C0z9d7L9.mjs.map +1 -0
  71. package/dist/admin/chunks/ja-MpqVsCgs.js +49 -0
  72. package/dist/admin/chunks/ja-MpqVsCgs.js.map +1 -0
  73. package/dist/admin/chunks/ko-Bm-grPSc.js +87 -0
  74. package/dist/admin/chunks/ko-Bm-grPSc.js.map +1 -0
  75. package/dist/admin/chunks/ko-CzUgzpeS.mjs +85 -0
  76. package/dist/admin/chunks/ko-CzUgzpeS.mjs.map +1 -0
  77. package/dist/admin/chunks/ms-CCacxjim.mjs +48 -0
  78. package/dist/admin/chunks/ms-CCacxjim.mjs.map +1 -0
  79. package/dist/admin/chunks/ms-D7eyBD5H.js +50 -0
  80. package/dist/admin/chunks/ms-D7eyBD5H.js.map +1 -0
  81. package/dist/admin/chunks/nl-BIOwAQtI.js +49 -0
  82. package/dist/admin/chunks/nl-BIOwAQtI.js.map +1 -0
  83. package/dist/admin/chunks/nl-DDC3nZW-.mjs +47 -0
  84. package/dist/admin/chunks/nl-DDC3nZW-.mjs.map +1 -0
  85. package/dist/admin/chunks/pl-D5BeNrg_.js +87 -0
  86. package/dist/admin/chunks/pl-D5BeNrg_.js.map +1 -0
  87. package/dist/admin/chunks/pl-XkS463rN.mjs +85 -0
  88. package/dist/admin/chunks/pl-XkS463rN.mjs.map +1 -0
  89. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs +43 -0
  90. package/dist/admin/chunks/pt-BR-8cC7z8Km.mjs.map +1 -0
  91. package/dist/admin/chunks/pt-BR-DxPBzQGx.js +45 -0
  92. package/dist/admin/chunks/pt-BR-DxPBzQGx.js.map +1 -0
  93. package/dist/admin/chunks/pt-DQpEvio8.mjs +47 -0
  94. package/dist/admin/chunks/pt-DQpEvio8.mjs.map +1 -0
  95. package/dist/admin/chunks/pt-kkCwzNvH.js +49 -0
  96. package/dist/admin/chunks/pt-kkCwzNvH.js.map +1 -0
  97. package/dist/admin/chunks/ru-BQ0gHmp3.js +87 -0
  98. package/dist/admin/chunks/ru-BQ0gHmp3.js.map +1 -0
  99. package/dist/admin/chunks/ru-nzL_7Mhg.mjs +85 -0
  100. package/dist/admin/chunks/ru-nzL_7Mhg.mjs.map +1 -0
  101. package/dist/admin/chunks/sk-Ddxc_tZA.mjs +49 -0
  102. package/dist/admin/chunks/sk-Ddxc_tZA.mjs.map +1 -0
  103. package/dist/admin/chunks/sk-nVwAPdYC.js +51 -0
  104. package/dist/admin/chunks/sk-nVwAPdYC.js.map +1 -0
  105. package/dist/admin/chunks/sv-BDfk2A-F.js +87 -0
  106. package/dist/admin/chunks/sv-BDfk2A-F.js.map +1 -0
  107. package/dist/admin/chunks/sv-By3RYpMG.mjs +85 -0
  108. package/dist/admin/chunks/sv-By3RYpMG.mjs.map +1 -0
  109. package/dist/admin/chunks/th-BtTtpHe2.js +61 -0
  110. package/dist/admin/chunks/th-BtTtpHe2.js.map +1 -0
  111. package/dist/admin/chunks/th-COl50vqb.mjs +59 -0
  112. package/dist/admin/chunks/th-COl50vqb.mjs.map +1 -0
  113. package/dist/admin/chunks/tr-80SJU6jg.mjs +84 -0
  114. package/dist/admin/chunks/tr-80SJU6jg.mjs.map +1 -0
  115. package/dist/admin/chunks/tr-Di-Nf7cT.js +86 -0
  116. package/dist/admin/chunks/tr-Di-Nf7cT.js.map +1 -0
  117. package/dist/admin/chunks/uk-CggQOx1l.js +50 -0
  118. package/dist/admin/chunks/uk-CggQOx1l.js.map +1 -0
  119. package/dist/admin/chunks/uk-D8JHuzch.mjs +48 -0
  120. package/dist/admin/chunks/uk-D8JHuzch.mjs.map +1 -0
  121. package/dist/admin/chunks/vi-69AF03Iv.mjs +49 -0
  122. package/dist/admin/chunks/vi-69AF03Iv.mjs.map +1 -0
  123. package/dist/admin/chunks/vi-D9cCsHsU.js +51 -0
  124. package/dist/admin/chunks/vi-D9cCsHsU.js.map +1 -0
  125. package/dist/admin/chunks/zh-BzSkqxo-.mjs +85 -0
  126. package/dist/admin/chunks/zh-BzSkqxo-.mjs.map +1 -0
  127. package/dist/admin/chunks/zh-BzWgJEzz.js +87 -0
  128. package/dist/admin/chunks/zh-BzWgJEzz.js.map +1 -0
  129. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js +87 -0
  130. package/dist/admin/chunks/zh-Hans-CKqQbpsM.js.map +1 -0
  131. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs +85 -0
  132. package/dist/admin/chunks/zh-Hans-DmDcSsp7.mjs.map +1 -0
  133. package/dist/admin/index.js +6 -2
  134. package/dist/admin/index.js.map +1 -1
  135. package/dist/admin/index.mjs +1 -4
  136. package/dist/admin/index.mjs.map +1 -1
  137. package/dist/server/index.js +4766 -0
  138. package/dist/server/index.js.map +1 -0
  139. package/dist/server/index.mjs +4764 -0
  140. package/dist/server/index.mjs.map +1 -0
  141. package/package.json +13 -13
  142. package/rollup.config.mjs +52 -0
  143. package/server/controllers/auth.js +1 -1
  144. package/server/controllers/validation/auth.js +24 -1
  145. package/server/register.js +1 -1
  146. package/dist/_chunks/ar-BguGUqwK.js +0 -44
  147. package/dist/_chunks/ar-BguGUqwK.js.map +0 -1
  148. package/dist/_chunks/ar-CK8BRRXB.mjs +0 -44
  149. package/dist/_chunks/ar-CK8BRRXB.mjs.map +0 -1
  150. package/dist/_chunks/cs-BVigMk0l.mjs +0 -50
  151. package/dist/_chunks/cs-BVigMk0l.mjs.map +0 -1
  152. package/dist/_chunks/cs-BW8-K_GY.js +0 -50
  153. package/dist/_chunks/cs-BW8-K_GY.js.map +0 -1
  154. package/dist/_chunks/de-BKUdRFI4.mjs +0 -62
  155. package/dist/_chunks/de-BKUdRFI4.mjs.map +0 -1
  156. package/dist/_chunks/de-owXpVluI.js +0 -62
  157. package/dist/_chunks/de-owXpVluI.js.map +0 -1
  158. package/dist/_chunks/dk-BQiTK50l.mjs +0 -86
  159. package/dist/_chunks/dk-BQiTK50l.mjs.map +0 -1
  160. package/dist/_chunks/dk-LXAnbuBk.js +0 -86
  161. package/dist/_chunks/dk-LXAnbuBk.js.map +0 -1
  162. package/dist/_chunks/en-DOHtPf-2.mjs +0 -86
  163. package/dist/_chunks/en-DOHtPf-2.mjs.map +0 -1
  164. package/dist/_chunks/en-MHo5mcsU.js +0 -86
  165. package/dist/_chunks/en-MHo5mcsU.js.map +0 -1
  166. package/dist/_chunks/es-BwLCLXAQ.js +0 -86
  167. package/dist/_chunks/es-BwLCLXAQ.js.map +0 -1
  168. package/dist/_chunks/es-DNgOVMjD.mjs +0 -86
  169. package/dist/_chunks/es-DNgOVMjD.mjs.map +0 -1
  170. package/dist/_chunks/fr-DkgRugiU.mjs +0 -50
  171. package/dist/_chunks/fr-DkgRugiU.mjs.map +0 -1
  172. package/dist/_chunks/fr-DkhpSjjm.js +0 -50
  173. package/dist/_chunks/fr-DkhpSjjm.js.map +0 -1
  174. package/dist/_chunks/id-BTemOeTZ.js +0 -62
  175. package/dist/_chunks/id-BTemOeTZ.js.map +0 -1
  176. package/dist/_chunks/id-BdEsvnaF.mjs +0 -62
  177. package/dist/_chunks/id-BdEsvnaF.mjs.map +0 -1
  178. package/dist/_chunks/index-6IfauKkm.js +0 -365
  179. package/dist/_chunks/index-6IfauKkm.js.map +0 -1
  180. package/dist/_chunks/index-BH2Kbto3.mjs +0 -344
  181. package/dist/_chunks/index-BH2Kbto3.mjs.map +0 -1
  182. package/dist/_chunks/index-BPLSKK9l.mjs +0 -1142
  183. package/dist/_chunks/index-BPLSKK9l.mjs.map +0 -1
  184. package/dist/_chunks/index-BteVBZ5H.js +0 -252
  185. package/dist/_chunks/index-BteVBZ5H.js.map +0 -1
  186. package/dist/_chunks/index-CItjLvCp.mjs +0 -617
  187. package/dist/_chunks/index-CItjLvCp.mjs.map +0 -1
  188. package/dist/_chunks/index-CU5dmnhc.js +0 -280
  189. package/dist/_chunks/index-CU5dmnhc.js.map +0 -1
  190. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs +0 -11090
  191. package/dist/_chunks/index-D4QvcqXm-BWNRataA.mjs.map +0 -1
  192. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js +0 -11113
  193. package/dist/_chunks/index-D4QvcqXm-HpyyuCo7.js.map +0 -1
  194. package/dist/_chunks/index-DDd0fVR6.js +0 -1171
  195. package/dist/_chunks/index-DDd0fVR6.js.map +0 -1
  196. package/dist/_chunks/index-DMkiPQOl.mjs +0 -262
  197. package/dist/_chunks/index-DMkiPQOl.mjs.map +0 -1
  198. package/dist/_chunks/index-DZnDAnLg.mjs +0 -253
  199. package/dist/_chunks/index-DZnDAnLg.mjs.map +0 -1
  200. package/dist/_chunks/index-Dd0JjBda.js +0 -639
  201. package/dist/_chunks/index-Dd0JjBda.js.map +0 -1
  202. package/dist/_chunks/it-B-rv0E24.mjs +0 -62
  203. package/dist/_chunks/it-B-rv0E24.mjs.map +0 -1
  204. package/dist/_chunks/it-D1rH6V6_.js +0 -62
  205. package/dist/_chunks/it-D1rH6V6_.js.map +0 -1
  206. package/dist/_chunks/ja-C8K-VBPD.mjs +0 -48
  207. package/dist/_chunks/ja-C8K-VBPD.mjs.map +0 -1
  208. package/dist/_chunks/ja-DqShgTMf.js +0 -48
  209. package/dist/_chunks/ja-DqShgTMf.js.map +0 -1
  210. package/dist/_chunks/ko-B9DGEPWH.js +0 -86
  211. package/dist/_chunks/ko-B9DGEPWH.js.map +0 -1
  212. package/dist/_chunks/ko-Busb0wIY.mjs +0 -86
  213. package/dist/_chunks/ko-Busb0wIY.mjs.map +0 -1
  214. package/dist/_chunks/ms-ByvsQjRt.mjs +0 -49
  215. package/dist/_chunks/ms-ByvsQjRt.mjs.map +0 -1
  216. package/dist/_chunks/ms-CPBU3LWf.js +0 -49
  217. package/dist/_chunks/ms-CPBU3LWf.js.map +0 -1
  218. package/dist/_chunks/nl-5qO8Rpcy.mjs +0 -48
  219. package/dist/_chunks/nl-5qO8Rpcy.mjs.map +0 -1
  220. package/dist/_chunks/nl-CwNB6YoO.js +0 -48
  221. package/dist/_chunks/nl-CwNB6YoO.js.map +0 -1
  222. package/dist/_chunks/pl-BdIzifBE.mjs +0 -86
  223. package/dist/_chunks/pl-BdIzifBE.mjs.map +0 -1
  224. package/dist/_chunks/pl-Do9UD69f.js +0 -86
  225. package/dist/_chunks/pl-Do9UD69f.js.map +0 -1
  226. package/dist/_chunks/pt-BIO24ioG.mjs +0 -48
  227. package/dist/_chunks/pt-BIO24ioG.mjs.map +0 -1
  228. package/dist/_chunks/pt-BR-D7dZhxuP.js +0 -44
  229. package/dist/_chunks/pt-BR-D7dZhxuP.js.map +0 -1
  230. package/dist/_chunks/pt-BR-f0p23AQZ.mjs +0 -44
  231. package/dist/_chunks/pt-BR-f0p23AQZ.mjs.map +0 -1
  232. package/dist/_chunks/pt-fdvyOnUp.js +0 -48
  233. package/dist/_chunks/pt-fdvyOnUp.js.map +0 -1
  234. package/dist/_chunks/ru-C94rjPGA.js +0 -86
  235. package/dist/_chunks/ru-C94rjPGA.js.map +0 -1
  236. package/dist/_chunks/ru-VWy-IB7K.mjs +0 -86
  237. package/dist/_chunks/ru-VWy-IB7K.mjs.map +0 -1
  238. package/dist/_chunks/sk-BABEhykl.js +0 -50
  239. package/dist/_chunks/sk-BABEhykl.js.map +0 -1
  240. package/dist/_chunks/sk-B_LIcepm.mjs +0 -50
  241. package/dist/_chunks/sk-B_LIcepm.mjs.map +0 -1
  242. package/dist/_chunks/sv-ABLKOokl.mjs +0 -86
  243. package/dist/_chunks/sv-ABLKOokl.mjs.map +0 -1
  244. package/dist/_chunks/sv-Be43LhA9.js +0 -86
  245. package/dist/_chunks/sv-Be43LhA9.js.map +0 -1
  246. package/dist/_chunks/th-DKyP7ueR.mjs +0 -60
  247. package/dist/_chunks/th-DKyP7ueR.mjs.map +0 -1
  248. package/dist/_chunks/th-DgVhVLhL.js +0 -60
  249. package/dist/_chunks/th-DgVhVLhL.js.map +0 -1
  250. package/dist/_chunks/tr-B_idhkEs.js +0 -85
  251. package/dist/_chunks/tr-B_idhkEs.js.map +0 -1
  252. package/dist/_chunks/tr-qa1Q5UjC.mjs +0 -85
  253. package/dist/_chunks/tr-qa1Q5UjC.mjs.map +0 -1
  254. package/dist/_chunks/uk-BmRqbeQc.mjs +0 -49
  255. package/dist/_chunks/uk-BmRqbeQc.mjs.map +0 -1
  256. package/dist/_chunks/uk-LHOivnhP.js +0 -49
  257. package/dist/_chunks/uk-LHOivnhP.js.map +0 -1
  258. package/dist/_chunks/vi-CdVRdKDw.js +0 -50
  259. package/dist/_chunks/vi-CdVRdKDw.js.map +0 -1
  260. package/dist/_chunks/vi-HW-EdMea.mjs +0 -50
  261. package/dist/_chunks/vi-HW-EdMea.mjs.map +0 -1
  262. package/dist/_chunks/zh-5hKkVPA4.mjs +0 -86
  263. package/dist/_chunks/zh-5hKkVPA4.mjs.map +0 -1
  264. package/dist/_chunks/zh-Cuq8gMnF.js +0 -86
  265. package/dist/_chunks/zh-Cuq8gMnF.js.map +0 -1
  266. package/dist/_chunks/zh-Hans-BHilK-yc.mjs +0 -86
  267. package/dist/_chunks/zh-Hans-BHilK-yc.mjs.map +0 -1
  268. package/dist/_chunks/zh-Hans-GQDMKtY4.js +0 -86
  269. package/dist/_chunks/zh-Hans-GQDMKtY4.js.map +0 -1
  270. package/packup.config.ts +0 -22
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const id = {
4
- "BoundRoute.title": "Rute terikat ke",
5
- "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
6
- "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
7
- "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
8
- "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
9
- "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
10
- "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
11
- "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
12
- "EditForm.inputToggle.label.email": "Satu akun per alamat email",
13
- "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
14
- "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
15
- "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
16
- "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
17
- "Email.template.email_confirmation": "Konfirmasi alamat email",
18
- "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
19
- "HeaderNav.link.emailTemplates": "Template email",
20
- "HeaderNav.link.providers": "Penyedia",
21
- "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
22
- "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
23
- "Plugins.header.title": "Izin",
24
- "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
25
- "Policies.header.title": "Pengaturan lanjutan",
26
- "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
27
- "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
28
- "PopUpForm.Email.options.from.email.label": "Email pengirim",
29
- "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
30
- "PopUpForm.Email.options.from.name.label": "Nama pengirim",
31
- "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
32
- "PopUpForm.Email.options.message.label": "Pesan",
33
- "PopUpForm.Email.options.object.label": "Subyek",
34
- "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
35
- "PopUpForm.Email.options.response_email.label": "Email tanggapan",
36
- "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
37
- "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
38
- "PopUpForm.Providers.enabled.label": "Memungkinkan",
39
- "PopUpForm.Providers.key.label": "ID Klien",
40
- "PopUpForm.Providers.key.placeholder": "TEKS",
41
- "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
42
- "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
43
- "PopUpForm.Providers.secret.label": "Client Secret",
44
- "PopUpForm.Providers.secret.placeholder": "TEKS",
45
- "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
46
- "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
47
- "PopUpForm.header.edit.email-templates": "Edit Template Email",
48
- "PopUpForm.header.edit.providers": "Edit Penyedia",
49
- "Settings.roles.deleted": "Peran dihapus",
50
- "Settings.roles.edited": "Peran diedit",
51
- "Settings.section-label": "Plugin Pengguna & Izin",
52
- "notification.success.submit": "Pengaturan telah diperbarui",
53
- "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
54
- "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
55
- "plugin.name": "Plugin Pengguna & Izin",
56
- "popUpWarning.button.cancel": "Batalkan",
57
- "popUpWarning.button.confirm": "Konfirmasi",
58
- "popUpWarning.title": "Harap konfirmasi",
59
- "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
60
- };
61
- exports.default = id;
62
- //# sourceMappingURL=id-BTemOeTZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BTemOeTZ.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,62 +0,0 @@
1
- const id = {
2
- "BoundRoute.title": "Rute terikat ke",
3
- "EditForm.inputSelect.description.role": "Ini akan melampirkan pengguna baru yang diautentikasi ke peran yang dipilih.",
4
- "EditForm.inputSelect.label.role": "Peran default untuk pengguna yang diautentikasi",
5
- "EditForm.inputToggle.description.email": "Larang pengguna membuat beberapa akun menggunakan alamat email yang sama dengan penyedia otentikasi yang berbeda.",
6
- "EditForm.inputToggle.description.email-confirmation": "Saat diaktifkan (ON), pengguna baru yang terdaftar menerima email konfirmasi.",
7
- "EditForm.inputToggle.description.email-confirmation-redirection": "Setelah Anda mengkonfirmasi email Anda, pilih ke mana Anda akan diarahkan.",
8
- "EditForm.inputToggle.description.email-reset-password": "URL halaman setel ulang sandi aplikasi Anda",
9
- "EditForm.inputToggle.description.sign-up": "Saat dinonaktifkan (OFF), proses pendaftaran dilarang. Tidak ada yang bisa berlangganan lagi tidak peduli penyedia yang digunakan.",
10
- "EditForm.inputToggle.label.email": "Satu akun per alamat email",
11
- "EditForm.inputToggle.label.email-confirmation": "Aktifkan konfirmasi email",
12
- "EditForm.inputToggle.label.email-confirmation-redirection": "URL pengalihan",
13
- "EditForm.inputToggle.label.email-reset-password": "Atur ulang halaman kata sandi",
14
- "EditForm.inputToggle.label.sign-up": "Aktifkan pendaftaran",
15
- "Email.template.email_confirmation": "Konfirmasi alamat email",
16
- "HeaderNav.link.advancedSettings": "Pengaturan lanjutan",
17
- "HeaderNav.link.emailTemplates": "Template email",
18
- "HeaderNav.link.providers": "Penyedia",
19
- "Plugin.permissions.plugins.description": "Tentukan semua tindakan yang diizinkan untuk plugin {name}.",
20
- "Plugins.header.description": "Hanya tindakan yang terikat oleh rute yang dicantumkan di bawah.",
21
- "Plugins.header.title": "Izin",
22
- "Policies.header.hint": "Pilih tindakan aplikasi atau tindakan plugin dan klik ikon roda gigi untuk menampilkan rute terikat",
23
- "Policies.header.title": "Pengaturan lanjutan",
24
- "PopUpForm.Email.email_templates.inputDescription": "Jika Anda tidak yakin bagaimana menggunakan variabel, {link}",
25
- "PopUpForm.Email.link.documentation": "lihat dokumentasi kami.",
26
- "PopUpForm.Email.options.from.email.label": "Email pengirim",
27
- "PopUpForm.Email.options.from.email.placeholder": "kai@doe.com",
28
- "PopUpForm.Email.options.from.name.label": "Nama pengirim",
29
- "PopUpForm.Email.options.from.name.placeholder": "Kai Doe",
30
- "PopUpForm.Email.options.message.label": "Pesan",
31
- "PopUpForm.Email.options.object.label": "Subyek",
32
- "PopUpForm.Email.options.object.placeholder": "Harap konfirmasi alamat email Anda untuk% APP_NAME%",
33
- "PopUpForm.Email.options.response_email.label": "Email tanggapan",
34
- "PopUpForm.Email.options.response_email.placeholder": "kai@doe.com",
35
- "PopUpForm.Providers.enabled.description": "Jika dinonaktifkan, pengguna tidak akan dapat menggunakan penyedia ini.",
36
- "PopUpForm.Providers.enabled.label": "Memungkinkan",
37
- "PopUpForm.Providers.key.label": "ID Klien",
38
- "PopUpForm.Providers.key.placeholder": "TEKS",
39
- "PopUpForm.Providers.redirectURL.front-end.label": "URL pengalihan ke aplikasi front-end Anda",
40
- "PopUpForm.Providers.redirectURL.label": "URL pengalihan yang akan ditambahkan dalam konfigurasi aplikasi {provider} Anda",
41
- "PopUpForm.Providers.secret.label": "Client Secret",
42
- "PopUpForm.Providers.secret.placeholder": "TEKS",
43
- "PopUpForm.Providers.subdomain.label": "URI Host (Subdomain)",
44
- "PopUpForm.Providers.subdomain.placeholder": "saya.subdomain.com",
45
- "PopUpForm.header.edit.email-templates": "Edit Template Email",
46
- "PopUpForm.header.edit.providers": "Edit Penyedia",
47
- "Settings.roles.deleted": "Peran dihapus",
48
- "Settings.roles.edited": "Peran diedit",
49
- "Settings.section-label": "Plugin Pengguna & Izin",
50
- "notification.success.submit": "Pengaturan telah diperbarui",
51
- "plugin.description.long": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT. Plugin ini juga dilengkapi dengan strategi ACL yang memungkinkan Anda untuk mengelola izin di antara grup pengguna.",
52
- "plugin.description.short": "Lindungi API Anda dengan proses otentikasi penuh berdasarkan JWT",
53
- "plugin.name": "Plugin Pengguna & Izin",
54
- "popUpWarning.button.cancel": "Batalkan",
55
- "popUpWarning.button.confirm": "Konfirmasi",
56
- "popUpWarning.title": "Harap konfirmasi",
57
- "popUpWarning.warning.cancel": "Anda yakin ingin membatalkan modifikasi Anda?"
58
- };
59
- export {
60
- id as default
61
- };
62
- //# sourceMappingURL=id-BdEsvnaF.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"id-BdEsvnaF.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,365 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const indexD4QvcqXm = require("./index-D4QvcqXm-HpyyuCo7.js");
6
- const designSystem = require("@strapi/design-system");
7
- const admin = require("@strapi/strapi/admin");
8
- const reactIntl = require("react-intl");
9
- const reactQuery = require("react-query");
10
- const index = require("./index-BteVBZ5H.js");
11
- require("lodash/isEmpty");
12
- const PropTypes = require("prop-types");
13
- const yup = require("yup");
14
- const icons = require("@strapi/icons");
15
- const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
16
- function _interopNamespace(e) {
17
- if (e && e.__esModule) return e;
18
- const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
19
- if (e) {
20
- for (const k in e) {
21
- if (k !== "default") {
22
- const d = Object.getOwnPropertyDescriptor(e, k);
23
- Object.defineProperty(n, k, d.get ? d : {
24
- enumerable: true,
25
- get: () => e[k]
26
- });
27
- }
28
- }
29
- }
30
- n.default = e;
31
- return Object.freeze(n);
32
- }
33
- const React__namespace = /* @__PURE__ */ _interopNamespace(React);
34
- const PropTypes__default = /* @__PURE__ */ _interopDefault(PropTypes);
35
- const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
36
- const schema = yup__namespace.object().shape({
37
- options: yup__namespace.object().shape({
38
- from: yup__namespace.object().shape({
39
- name: yup__namespace.string().required({
40
- id: admin.translatedErrors.required.id,
41
- defaultMessage: "This field is required"
42
- }),
43
- email: yup__namespace.string().email(admin.translatedErrors.email).required({
44
- id: admin.translatedErrors.required.id,
45
- defaultMessage: "This field is required"
46
- })
47
- }).required(),
48
- response_email: yup__namespace.string().email(admin.translatedErrors.email),
49
- object: yup__namespace.string().required({
50
- id: admin.translatedErrors.required.id,
51
- defaultMessage: "This field is required"
52
- }),
53
- message: yup__namespace.string().required({
54
- id: admin.translatedErrors.required.id,
55
- defaultMessage: "This field is required"
56
- })
57
- }).required(admin.translatedErrors.required.id)
58
- });
59
- const EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {
60
- const { formatMessage } = reactIntl.useIntl();
61
- return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Root, { open, onOpenChange: onToggle, children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
62
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Header, { children: [
63
- /* @__PURE__ */ jsxRuntime.jsxs(
64
- designSystem.Breadcrumbs,
65
- {
66
- label: `${formatMessage({
67
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
68
- defaultMessage: "Edit email template"
69
- })}, ${template.display ? formatMessage({
70
- id: index.getTrad(template.display),
71
- defaultMessage: template.display
72
- }) : ""}`,
73
- children: [
74
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Crumb, { children: formatMessage({
75
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
76
- defaultMessage: "Edit email template"
77
- }) }),
78
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Crumb, { isCurrent: true, children: template.display ? formatMessage({ id: index.getTrad(template.display), defaultMessage: template.display }) : "" })
79
- ]
80
- }
81
- ),
82
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: `${formatMessage({
83
- id: index.getTrad("PopUpForm.header.edit.email-templates"),
84
- defaultMessage: "Edit email template"
85
- })}, ${template.display ? formatMessage({ id: index.getTrad(template.display), defaultMessage: template.display }) : ""}` }) })
86
- ] }),
87
- /* @__PURE__ */ jsxRuntime.jsx(admin.Form, { onSubmit, initialValues: template, validationSchema: schema, children: ({ isSubmitting }) => {
88
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
89
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Grid.Root, { gap: 5, children: [
90
- {
91
- label: formatMessage({
92
- id: index.getTrad("PopUpForm.Email.options.from.name.label"),
93
- defaultMessage: "Shipper name"
94
- }),
95
- name: "options.from.name",
96
- size: 6,
97
- type: "string"
98
- },
99
- {
100
- label: formatMessage({
101
- id: index.getTrad("PopUpForm.Email.options.from.email.label"),
102
- defaultMessage: "Shipper email"
103
- }),
104
- name: "options.from.email",
105
- size: 6,
106
- type: "string"
107
- },
108
- {
109
- label: formatMessage({
110
- id: index.getTrad("PopUpForm.Email.options.response_email.label"),
111
- defaultMessage: "Response email"
112
- }),
113
- name: "options.response_email",
114
- size: 6,
115
- type: "string"
116
- },
117
- {
118
- label: formatMessage({
119
- id: index.getTrad("PopUpForm.Email.options.object.label"),
120
- defaultMessage: "Subject"
121
- }),
122
- name: "options.object",
123
- size: 6,
124
- type: "string"
125
- },
126
- {
127
- label: formatMessage({
128
- id: index.getTrad("PopUpForm.Email.options.message.label"),
129
- defaultMessage: "Message"
130
- }),
131
- name: "options.message",
132
- size: 12,
133
- type: "text"
134
- }
135
- ].map(({ size, ...field }) => /* @__PURE__ */ jsxRuntime.jsx(
136
- designSystem.Grid.Item,
137
- {
138
- col: size,
139
- direction: "column",
140
- alignItems: "stretch",
141
- children: /* @__PURE__ */ jsxRuntime.jsx(admin.InputRenderer, { ...field })
142
- },
143
- field.name
144
- )) }) }),
145
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
146
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: "Cancel" }) }),
147
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { loading: isSubmitting, type: "submit", children: "Finish" })
148
- ] })
149
- ] });
150
- } })
151
- ] }) });
152
- };
153
- EmailForm.defaultProps = {
154
- template: {}
155
- };
156
- EmailForm.propTypes = {
157
- template: PropTypes__default.default.shape({
158
- display: PropTypes__default.default.string,
159
- icon: PropTypes__default.default.string,
160
- options: PropTypes__default.default.shape({
161
- from: PropTypes__default.default.shape({
162
- name: PropTypes__default.default.string,
163
- email: PropTypes__default.default.string
164
- }),
165
- message: PropTypes__default.default.string,
166
- object: PropTypes__default.default.string,
167
- response_email: PropTypes__default.default.string
168
- })
169
- }),
170
- open: PropTypes__default.default.bool.isRequired,
171
- onSubmit: PropTypes__default.default.func.isRequired,
172
- onToggle: PropTypes__default.default.func.isRequired
173
- };
174
- const EmailTable = ({ canUpdate, onEditClick }) => {
175
- const { formatMessage } = reactIntl.useIntl();
176
- return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Table, { colCount: 3, rowCount: 3, children: [
177
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Thead, { children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { children: [
178
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { width: "1%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: formatMessage({
179
- id: index.getTrad("Email.template.table.icon.label"),
180
- defaultMessage: "icon"
181
- }) }) }),
182
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "sigma", textColor: "neutral600", children: formatMessage({
183
- id: index.getTrad("Email.template.table.name.label"),
184
- defaultMessage: "name"
185
- }) }) }),
186
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Th, { width: "1%", children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { children: formatMessage({
187
- id: index.getTrad("Email.template.table.action.label"),
188
- defaultMessage: "action"
189
- }) }) })
190
- ] }) }),
191
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tbody, { children: [
192
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { cursor: "pointer", onClick: () => onEditClick("reset_password"), children: [
193
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "3.2rem", height: "3.2rem", padding: "0.8rem", children: /* @__PURE__ */ jsxRuntime.jsx(
194
- icons.ArrowClockwise,
195
- {
196
- "aria-label": formatMessage({
197
- id: "global.reset-password",
198
- defaultMessage: "Reset password"
199
- })
200
- }
201
- ) }) }),
202
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
203
- id: "global.reset-password",
204
- defaultMessage: "Reset password"
205
- }) }) }),
206
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
207
- designSystem.IconButton,
208
- {
209
- onClick: () => onEditClick("reset_password"),
210
- label: formatMessage({
211
- id: index.getTrad("Email.template.form.edit.label"),
212
- defaultMessage: "Edit a template"
213
- }),
214
- variant: "ghost",
215
- disabled: !canUpdate,
216
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
217
- }
218
- ) })
219
- ] }),
220
- /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Tr, { cursor: "pointer", onClick: () => onEditClick("email_confirmation"), children: [
221
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { width: "3.2rem", height: "3.2rem", padding: "0.8rem", children: /* @__PURE__ */ jsxRuntime.jsx(
222
- icons.Check,
223
- {
224
- "aria-label": formatMessage({
225
- id: index.getTrad("Email.template.email_confirmation"),
226
- defaultMessage: "Email address confirmation"
227
- })
228
- }
229
- ) }) }),
230
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { children: formatMessage({
231
- id: index.getTrad("Email.template.email_confirmation"),
232
- defaultMessage: "Email address confirmation"
233
- }) }) }),
234
- /* @__PURE__ */ jsxRuntime.jsx(designSystem.Td, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsxRuntime.jsx(
235
- designSystem.IconButton,
236
- {
237
- onClick: () => onEditClick("email_confirmation"),
238
- label: formatMessage({
239
- id: index.getTrad("Email.template.form.edit.label"),
240
- defaultMessage: "Edit a template"
241
- }),
242
- variant: "ghost",
243
- disabled: !canUpdate,
244
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.Pencil, {})
245
- }
246
- ) })
247
- ] })
248
- ] })
249
- ] });
250
- };
251
- EmailTable.propTypes = {
252
- canUpdate: PropTypes__default.default.bool.isRequired,
253
- onEditClick: PropTypes__default.default.func.isRequired
254
- };
255
- const ProtectedEmailTemplatesPage = () => /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Protect, { permissions: index.PERMISSIONS.readEmailTemplates, children: /* @__PURE__ */ jsxRuntime.jsx(EmailTemplatesPage, {}) });
256
- const EmailTemplatesPage = () => {
257
- const { formatMessage } = reactIntl.useIntl();
258
- const { trackUsage } = indexD4QvcqXm.useTracking();
259
- const { notifyStatus } = designSystem.useNotifyAT();
260
- const { toggleNotification } = admin.useNotification();
261
- const queryClient = reactQuery.useQueryClient();
262
- const { get, put } = admin.useFetchClient();
263
- const { formatAPIError } = admin.useAPIErrorHandler();
264
- const [isModalOpen, setIsModalOpen] = React__namespace.useState(false);
265
- const [templateToEdit, setTemplateToEdit] = React__namespace.useState(null);
266
- const {
267
- isLoading: isLoadingForPermissions,
268
- allowedActions: { canUpdate }
269
- } = admin.useRBAC({ update: index.PERMISSIONS.updateEmailTemplates });
270
- const { isLoading: isLoadingData, data } = reactQuery.useQuery(
271
- ["users-permissions", "email-templates"],
272
- async () => {
273
- const { data: data2 } = await get("/users-permissions/email-templates");
274
- return data2;
275
- },
276
- {
277
- onSuccess() {
278
- notifyStatus(
279
- formatMessage({
280
- id: index.getTrad("Email.template.data.loaded"),
281
- defaultMessage: "Email templates has been loaded"
282
- })
283
- );
284
- },
285
- onError(error) {
286
- toggleNotification({
287
- type: "danger",
288
- message: formatAPIError(error)
289
- });
290
- }
291
- }
292
- );
293
- const isLoading = isLoadingForPermissions || isLoadingData;
294
- const handleToggle = () => {
295
- setIsModalOpen((prev) => !prev);
296
- };
297
- const handleEditClick = (template) => {
298
- setTemplateToEdit(template);
299
- handleToggle();
300
- };
301
- const submitMutation = reactQuery.useMutation(
302
- (body) => put("/users-permissions/email-templates", { "email-templates": body }),
303
- {
304
- async onSuccess() {
305
- await queryClient.invalidateQueries(["users-permissions", "email-templates"]);
306
- toggleNotification({
307
- type: "success",
308
- message: formatMessage({ id: "notification.success.saved", defaultMessage: "Saved" })
309
- });
310
- trackUsage("didEditEmailTemplates");
311
- handleToggle();
312
- },
313
- onError(error) {
314
- toggleNotification({
315
- type: "danger",
316
- message: formatAPIError(error)
317
- });
318
- },
319
- refetchActive: true
320
- }
321
- );
322
- const handleSubmit = (body) => {
323
- trackUsage("willEditEmailTemplates");
324
- const editedTemplates = { ...data, [templateToEdit]: body };
325
- submitMutation.mutate(editedTemplates);
326
- };
327
- if (isLoading) {
328
- return /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Loading, {});
329
- }
330
- return /* @__PURE__ */ jsxRuntime.jsxs(admin.Page.Main, { "aria-busy": submitMutation.isLoading, children: [
331
- /* @__PURE__ */ jsxRuntime.jsx(admin.Page.Title, { children: formatMessage(
332
- { id: "Settings.PageTitle", defaultMessage: "Settings - {name}" },
333
- {
334
- name: formatMessage({
335
- id: index.getTrad("HeaderNav.link.emailTemplates"),
336
- defaultMessage: "Email templates"
337
- })
338
- }
339
- ) }),
340
- /* @__PURE__ */ jsxRuntime.jsx(
341
- admin.Layouts.Header,
342
- {
343
- title: formatMessage({
344
- id: index.getTrad("HeaderNav.link.emailTemplates"),
345
- defaultMessage: "Email templates"
346
- })
347
- }
348
- ),
349
- /* @__PURE__ */ jsxRuntime.jsxs(admin.Layouts.Content, { children: [
350
- /* @__PURE__ */ jsxRuntime.jsx(EmailTable, { onEditClick: handleEditClick, canUpdate }),
351
- /* @__PURE__ */ jsxRuntime.jsx(
352
- EmailForm,
353
- {
354
- template: data[templateToEdit],
355
- onToggle: handleToggle,
356
- open: isModalOpen,
357
- onSubmit: handleSubmit
358
- }
359
- )
360
- ] })
361
- ] });
362
- };
363
- exports.EmailTemplatesPage = EmailTemplatesPage;
364
- exports.ProtectedEmailTemplatesPage = ProtectedEmailTemplatesPage;
365
- //# sourceMappingURL=index-6IfauKkm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-6IfauKkm.js","sources":["../../admin/src/pages/EmailTemplates/utils/schema.js","../../admin/src/pages/EmailTemplates/components/EmailForm.jsx","../../admin/src/pages/EmailTemplates/components/EmailTable.jsx","../../admin/src/pages/EmailTemplates/index.jsx"],"sourcesContent":["import { translatedErrors } from '@strapi/strapi/admin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n options: yup\n .object()\n .shape({\n from: yup\n .object()\n .shape({\n name: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n email: yup.string().email(translatedErrors.email).required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(),\n response_email: yup.string().email(translatedErrors.email),\n object: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n message: yup.string().required({\n id: translatedErrors.required.id,\n defaultMessage: 'This field is required',\n }),\n })\n .required(translatedErrors.required.id),\n});\n\nexport default schema;\n","import React from 'react';\n\nimport { Button, Grid, Modal, Breadcrumbs, Crumb, VisuallyHidden } from '@strapi/design-system';\nimport { Form, InputRenderer } from '@strapi/strapi/admin';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\nimport schema from '../utils/schema';\n\nconst EmailForm = ({ template = {}, onToggle, open, onSubmit }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Modal.Root open={open} onOpenChange={onToggle}>\n <Modal.Content>\n <Modal.Header>\n <Breadcrumbs\n label={`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${\n template.display\n ? formatMessage({\n id: getTrad(template.display),\n defaultMessage: template.display,\n })\n : ''\n }`}\n >\n <Crumb>\n {formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}\n </Crumb>\n <Crumb isCurrent>\n {template.display\n ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display })\n : ''}\n </Crumb>\n </Breadcrumbs>\n <VisuallyHidden>\n <Modal.Title>\n {`${formatMessage({\n id: getTrad('PopUpForm.header.edit.email-templates'),\n defaultMessage: 'Edit email template',\n })}, ${template.display ? formatMessage({ id: getTrad(template.display), defaultMessage: template.display }) : ''}`}\n </Modal.Title>\n </VisuallyHidden>\n </Modal.Header>\n <Form onSubmit={onSubmit} initialValues={template} validationSchema={schema}>\n {({ isSubmitting }) => {\n return (\n <>\n <Modal.Body>\n <Grid.Root gap={5}>\n {[\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.name.label'),\n defaultMessage: 'Shipper name',\n }),\n name: 'options.from.name',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.from.email.label'),\n defaultMessage: 'Shipper email',\n }),\n name: 'options.from.email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.response_email.label'),\n defaultMessage: 'Response email',\n }),\n name: 'options.response_email',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.object.label'),\n defaultMessage: 'Subject',\n }),\n name: 'options.object',\n size: 6,\n type: 'string',\n },\n {\n label: formatMessage({\n id: getTrad('PopUpForm.Email.options.message.label'),\n defaultMessage: 'Message',\n }),\n name: 'options.message',\n size: 12,\n type: 'text',\n },\n ].map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">Cancel</Button>\n </Modal.Close>\n <Button loading={isSubmitting} type=\"submit\">\n Finish\n </Button>\n </Modal.Footer>\n </>\n );\n }}\n </Form>\n </Modal.Content>\n </Modal.Root>\n );\n};\n\nEmailForm.defaultProps = {\n template: {},\n};\n\nEmailForm.propTypes = {\n template: PropTypes.shape({\n display: PropTypes.string,\n icon: PropTypes.string,\n options: PropTypes.shape({\n from: PropTypes.shape({\n name: PropTypes.string,\n email: PropTypes.string,\n }),\n message: PropTypes.string,\n object: PropTypes.string,\n response_email: PropTypes.string,\n }),\n }),\n open: PropTypes.bool.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onToggle: PropTypes.func.isRequired,\n};\n\nexport default EmailForm;\n","import React from 'react';\n\nimport {\n IconButton,\n Table,\n Tbody,\n Td,\n Th,\n Thead,\n Tr,\n Typography,\n VisuallyHidden,\n Box,\n} from '@strapi/design-system';\nimport { Check, Pencil, ArrowClockwise as Refresh } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getTrad } from '../../../utils';\n\nconst EmailTable = ({ canUpdate, onEditClick }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Table colCount={3} rowCount={3}>\n <Thead>\n <Tr>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.icon.label'),\n defaultMessage: 'icon',\n })}\n </VisuallyHidden>\n </Th>\n <Th>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {formatMessage({\n id: getTrad('Email.template.table.name.label'),\n defaultMessage: 'name',\n })}\n </Typography>\n </Th>\n <Th width=\"1%\">\n <VisuallyHidden>\n {formatMessage({\n id: getTrad('Email.template.table.action.label'),\n defaultMessage: 'action',\n })}\n </VisuallyHidden>\n </Th>\n </Tr>\n </Thead>\n <Tbody>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('reset_password')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Refresh\n aria-label={formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: 'global.reset-password',\n defaultMessage: 'Reset password',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('reset_password')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n <Tr cursor=\"pointer\" onClick={() => onEditClick('email_confirmation')}>\n <Td>\n <Box width=\"3.2rem\" height=\"3.2rem\" padding=\"0.8rem\">\n <Check\n aria-label={formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n />\n </Box>\n </Td>\n <Td>\n <Typography>\n {formatMessage({\n id: getTrad('Email.template.email_confirmation'),\n defaultMessage: 'Email address confirmation',\n })}\n </Typography>\n </Td>\n <Td onClick={(e) => e.stopPropagation()}>\n <IconButton\n onClick={() => onEditClick('email_confirmation')}\n label={formatMessage({\n id: getTrad('Email.template.form.edit.label'),\n defaultMessage: 'Edit a template',\n })}\n variant=\"ghost\"\n disabled={!canUpdate}\n >\n <Pencil />\n </IconButton>\n </Td>\n </Tr>\n </Tbody>\n </Table>\n );\n};\n\nEmailTable.propTypes = {\n canUpdate: PropTypes.bool.isRequired,\n onEditClick: PropTypes.func.isRequired,\n};\n\nexport default EmailTable;\n","import * as React from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\nimport { useNotifyAT } from '@strapi/design-system';\nimport {\n Page,\n useAPIErrorHandler,\n useNotification,\n useFetchClient,\n useRBAC,\n Layouts,\n} from '@strapi/strapi/admin';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\n\nimport { PERMISSIONS } from '../../constants';\nimport { getTrad } from '../../utils';\n\nimport EmailForm from './components/EmailForm';\nimport EmailTable from './components/EmailTable';\n\nconst ProtectedEmailTemplatesPage = () => (\n <Page.Protect permissions={PERMISSIONS.readEmailTemplates}>\n <EmailTemplatesPage />\n </Page.Protect>\n);\nconst EmailTemplatesPage = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { notifyStatus } = useNotifyAT();\n const { toggleNotification } = useNotification();\n const queryClient = useQueryClient();\n const { get, put } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const [templateToEdit, setTemplateToEdit] = React.useState(null);\n\n const {\n isLoading: isLoadingForPermissions,\n allowedActions: { canUpdate },\n } = useRBAC({ update: PERMISSIONS.updateEmailTemplates });\n\n const { isLoading: isLoadingData, data } = useQuery(\n ['users-permissions', 'email-templates'],\n async () => {\n const { data } = await get('/users-permissions/email-templates');\n\n return data;\n },\n {\n onSuccess() {\n notifyStatus(\n formatMessage({\n id: getTrad('Email.template.data.loaded'),\n defaultMessage: 'Email templates has been loaded',\n })\n );\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingForPermissions || isLoadingData;\n\n const handleToggle = () => {\n setIsModalOpen((prev) => !prev);\n };\n\n const handleEditClick = (template) => {\n setTemplateToEdit(template);\n handleToggle();\n };\n\n const submitMutation = useMutation(\n (body) => put('/users-permissions/email-templates', { 'email-templates': body }),\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['users-permissions', 'email-templates']);\n\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n\n trackUsage('didEditEmailTemplates');\n\n handleToggle();\n },\n onError(error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n },\n refetchActive: true,\n }\n );\n\n const handleSubmit = (body) => {\n trackUsage('willEditEmailTemplates');\n\n const editedTemplates = { ...data, [templateToEdit]: body };\n submitMutation.mutate(editedTemplates);\n };\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n return (\n <Page.Main aria-busy={submitMutation.isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: getTrad('HeaderNav.link.emailTemplates'),\n defaultMessage: 'Email templates',\n })}\n />\n <Layouts.Content>\n <EmailTable onEditClick={handleEditClick} canUpdate={canUpdate} />\n <EmailForm\n template={data[templateToEdit]}\n onToggle={handleToggle}\n open={isModalOpen}\n onSubmit={handleSubmit}\n />\n </Layouts.Content>\n </Page.Main>\n );\n};\n\nexport { ProtectedEmailTemplatesPage, EmailTemplatesPage };\n"],"names":["yup","translatedErrors","useIntl","jsx","Modal","jsxs","Breadcrumbs","getTrad","Crumb","VisuallyHidden","Form","Fragment","Grid","InputRenderer","Button","PropTypes","Table","Thead","Tr","Th","Typography","Tbody","Td","Box","Refresh","IconButton","Pencil","Check","Page","PERMISSIONS","useTracking","useNotifyAT","useNotification","useQueryClient","useFetchClient","useAPIErrorHandler","React","useRBAC","useQuery","data","useMutation","Layouts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,SAASA,eAAI,OAAQ,EAAC,MAAM;AAAA,EAChC,SAASA,eACN,OAAM,EACN,MAAM;AAAA,IACL,MAAMA,eACH,OAAM,EACN,MAAM;AAAA,MACL,MAAMA,eAAI,OAAQ,EAAC,SAAS;AAAA,QAC1B,IAAIC,MAAAA,iBAAiB,SAAS;AAAA,QAC9B,gBAAgB;AAAA,MAC5B,CAAW;AAAA,MACD,OAAOD,eAAI,OAAQ,EAAC,MAAMC,uBAAiB,KAAK,EAAE,SAAS;AAAA,QACzD,IAAIA,MAAAA,iBAAiB,SAAS;AAAA,QAC9B,gBAAgB;AAAA,MAC5B,CAAW;AAAA,IACF,CAAA,EACA,SAAU;AAAA,IACb,gBAAgBD,eAAI,OAAM,EAAG,MAAMC,MAAAA,iBAAiB,KAAK;AAAA,IACzD,QAAQD,eAAI,OAAQ,EAAC,SAAS;AAAA,MAC5B,IAAIC,MAAAA,iBAAiB,SAAS;AAAA,MAC9B,gBAAgB;AAAA,IACxB,CAAO;AAAA,IACD,SAASD,eAAI,OAAQ,EAAC,SAAS;AAAA,MAC7B,IAAIC,MAAAA,iBAAiB,SAAS;AAAA,MAC9B,gBAAgB;AAAA,IACxB,CAAO;AAAA,EACF,CAAA,EACA,SAASA,MAAAA,iBAAiB,SAAS,EAAE;AAC1C,CAAC;ACrBD,MAAM,YAAY,CAAC,EAAE,WAAW,CAAA,GAAI,UAAU,MAAM,eAAe;AAC3D,QAAA,EAAE,cAAc,IAAIC,kBAAQ;AAGhC,SAAAC,2BAAA,IAACC,aAAM,MAAA,MAAN,EAAW,MAAY,cAAc,UACpC,UAAAC,2BAAAA,KAACD,aAAAA,MAAM,SAAN,EACC,UAAA;AAAA,IAACC,2BAAAA,KAAAD,aAAA,MAAM,QAAN,EACC,UAAA;AAAA,MAAAC,2BAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACC,OAAO,GAAG,cAAc;AAAA,YACtB,IAAIC,cAAQ,uCAAuC;AAAA,YACnD,gBAAgB;AAAA,UACjB,CAAA,CAAC,KACA,SAAS,UACL,cAAc;AAAA,YACZ,IAAIA,MAAAA,QAAQ,SAAS,OAAO;AAAA,YAC5B,gBAAgB,SAAS;AAAA,UAAA,CAC1B,IACD,EACN;AAAA,UAEA,UAAA;AAAA,YAAAJ,2BAAAA,IAACK,sBACE,UAAc,cAAA;AAAA,cACb,IAAID,cAAQ,uCAAuC;AAAA,cACnD,gBAAgB;AAAA,YACjB,CAAA,GACH;AAAA,2CACCC,aAAAA,OAAM,EAAA,WAAS,MACb,UAAS,SAAA,UACN,cAAc,EAAE,IAAID,cAAQ,SAAS,OAAO,GAAG,gBAAgB,SAAS,QAAQ,CAAC,IACjF,GACN,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,qCACCE,aAAAA,gBACC,EAAA,UAAAN,2BAAA,IAACC,mBAAM,OAAN,EACE,aAAG,cAAc;AAAA,QAChB,IAAIG,cAAQ,uCAAuC;AAAA,QACnD,gBAAgB;AAAA,MAAA,CACjB,CAAC,KAAK,SAAS,UAAU,cAAc,EAAE,IAAIA,cAAQ,SAAS,OAAO,GAAG,gBAAgB,SAAS,QAAS,CAAA,IAAI,EAAE,IACnH,EACF,CAAA;AAAA,IAAA,GACF;AAAA,IACAJ,2BAAAA,IAACO,MAAK,MAAA,EAAA,UAAoB,eAAe,UAAU,kBAAkB,QAClE,UAAA,CAAC,EAAE,aAAA,MAAmB;AACrB,aAEIL,2BAAA,KAAAM,qBAAA,EAAA,UAAA;AAAA,QAACR,2BAAAA,IAAAC,aAAA,MAAM,MAAN,EACC,UAAAD,2BAAAA,IAACS,kBAAK,MAAL,EAAU,KAAK,GACb,UAAA;AAAA,UACC;AAAA,YACE,OAAO,cAAc;AAAA,cACnB,IAAIL,cAAQ,yCAAyC;AAAA,cACrD,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,OAAO,cAAc;AAAA,cACnB,IAAIA,cAAQ,0CAA0C;AAAA,cACtD,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,OAAO,cAAc;AAAA,cACnB,IAAIA,cAAQ,8CAA8C;AAAA,cAC1D,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,OAAO,cAAc;AAAA,cACnB,IAAIA,cAAQ,sCAAsC;AAAA,cAClD,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UACR;AAAA,UACA;AAAA,YACE,OAAO,cAAc;AAAA,cACnB,IAAIA,cAAQ,uCAAuC;AAAA,cACnD,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,MAAM;AAAA,YACN,MAAM;AAAA,YACN,MAAM;AAAA,UAAA;AAAA,UAER,IAAI,CAAC,EAAE,MAAM,GAAG,MAChB,MAAAJ,2BAAA;AAAA,UAACS,aAAAA,KAAK;AAAA,UAAL;AAAA,YAEC,KAAK;AAAA,YACL,WAAU;AAAA,YACV,YAAW;AAAA,YAEX,UAAAT,2BAAA,IAACU,qBAAe,EAAA,GAAG,MAAO,CAAA;AAAA,UAAA;AAAA,UALrB,MAAM;AAAA,QAAA,CAOd,GACH,EACF,CAAA;AAAA,QACAR,2BAAAA,KAACD,aAAM,MAAA,QAAN,EACC,UAAA;AAAA,UAACD,2BAAAA,IAAAC,aAAAA,MAAM,OAAN,EACC,UAAAD,2BAAAA,IAACW,aAAAA,UAAO,SAAQ,YAAW,oBAAM,EACnC,CAAA;AAAA,yCACCA,aAAAA,QAAO,EAAA,SAAS,cAAc,MAAK,UAAS,UAE7C,SAAA,CAAA;AAAA,QAAA,EACF,CAAA;AAAA,MAAA,GACF;AAAA,IAAA,EAGN,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ;AAEA,UAAU,eAAe;AAAA,EACvB,UAAU,CAAA;AACZ;AAEA,UAAU,YAAY;AAAA,EACpB,UAAUC,2BAAU,MAAM;AAAA,IACxB,SAASA,mBAAU,QAAA;AAAA,IACnB,MAAMA,mBAAU,QAAA;AAAA,IAChB,SAASA,2BAAU,MAAM;AAAA,MACvB,MAAMA,2BAAU,MAAM;AAAA,QACpB,MAAMA,mBAAU,QAAA;AAAA,QAChB,OAAOA,mBAAAA,QAAU;AAAA,MAAA,CAClB;AAAA,MACD,SAASA,mBAAU,QAAA;AAAA,MACnB,QAAQA,mBAAU,QAAA;AAAA,MAClB,gBAAgBA,mBAAAA,QAAU;AAAA,IAC3B,CAAA;AAAA,EAAA,CACF;AAAA,EACD,MAAMA,mBAAAA,QAAU,KAAK;AAAA,EACrB,UAAUA,mBAAAA,QAAU,KAAK;AAAA,EACzB,UAAUA,2BAAU,KAAK;AAC3B;ACrIA,MAAM,aAAa,CAAC,EAAE,WAAW,kBAAkB;AAC3C,QAAA,EAAE,cAAc,IAAIb,kBAAQ;AAElC,SACGG,2BAAAA,KAAAW,aAAAA,OAAA,EAAM,UAAU,GAAG,UAAU,GAC5B,UAAA;AAAA,IAACb,2BAAA,IAAAc,aAAA,OAAA,EACC,0CAACC,aAAAA,IACC,EAAA,UAAA;AAAA,MAAAf,+BAACgB,aAAAA,IAAG,EAAA,OAAM,MACR,UAAAhB,2BAAAA,IAACM,+BACE,UAAc,cAAA;AAAA,QACb,IAAIF,cAAQ,iCAAiC;AAAA,QAC7C,gBAAgB;AAAA,MAAA,CACjB,GACH,EACF,CAAA;AAAA,MACAJ,2BAAAA,IAACgB,mBACC,UAAChB,2BAAA,IAAAiB,aAAA,YAAA,EAAW,SAAQ,SAAQ,WAAU,cACnC,UAAc,cAAA;AAAA,QACb,IAAIb,cAAQ,iCAAiC;AAAA,QAC7C,gBAAgB;AAAA,MAAA,CACjB,GACH,EACF,CAAA;AAAA,qCACCY,aAAAA,IAAG,EAAA,OAAM,MACR,UAAAhB,2BAAAA,IAACM,+BACE,UAAc,cAAA;AAAA,QACb,IAAIF,cAAQ,mCAAmC;AAAA,QAC/C,gBAAgB;AAAA,MACjB,CAAA,EACH,CAAA,EACF,CAAA;AAAA,IAAA,EAAA,CACF,EACF,CAAA;AAAA,oCACCc,aAAAA,OACC,EAAA,UAAA;AAAA,MAAAhB,gCAACa,aAAAA,MAAG,QAAO,WAAU,SAAS,MAAM,YAAY,gBAAgB,GAC9D,UAAA;AAAA,QAACf,2BAAAA,IAAAmB,aAAAA,IAAA,EACC,yCAACC,aAAI,KAAA,EAAA,OAAM,UAAS,QAAO,UAAS,SAAQ,UAC1C,UAAApB,2BAAA;AAAA,UAACqB,MAAA;AAAA,UAAA;AAAA,YACC,cAAY,cAAc;AAAA,cACxB,IAAI;AAAA,cACJ,gBAAgB;AAAA,YACjB,CAAA;AAAA,UAAA;AAAA,WAEL,EACF,CAAA;AAAA,QACCrB,2BAAA,IAAAmB,aAAA,IAAA,EACC,UAACnB,2BAAA,IAAAiB,yBAAA,EACE,UAAc,cAAA;AAAA,UACb,IAAI;AAAA,UACJ,gBAAgB;AAAA,QAAA,CACjB,GACH,EACF,CAAA;AAAA,uCACCE,aAAAA,IAAG,EAAA,SAAS,CAAC,MAAM,EAAE,mBACpB,UAAAnB,2BAAA;AAAA,UAACsB,aAAA;AAAA,UAAA;AAAA,YACC,SAAS,MAAM,YAAY,gBAAgB;AAAA,YAC3C,OAAO,cAAc;AAAA,cACnB,IAAIlB,cAAQ,gCAAgC;AAAA,cAC5C,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,SAAQ;AAAA,YACR,UAAU,CAAC;AAAA,YAEX,yCAACmB,MAAAA,QAAO,CAAA,CAAA;AAAA,UAAA;AAAA,QAAA,EAEZ,CAAA;AAAA,MAAA,GACF;AAAA,MACArB,gCAACa,aAAAA,MAAG,QAAO,WAAU,SAAS,MAAM,YAAY,oBAAoB,GAClE,UAAA;AAAA,QAACf,2BAAAA,IAAAmB,aAAAA,IAAA,EACC,yCAACC,aAAI,KAAA,EAAA,OAAM,UAAS,QAAO,UAAS,SAAQ,UAC1C,UAAApB,2BAAA;AAAA,UAACwB,MAAA;AAAA,UAAA;AAAA,YACC,cAAY,cAAc;AAAA,cACxB,IAAIpB,cAAQ,mCAAmC;AAAA,cAC/C,gBAAgB;AAAA,YACjB,CAAA;AAAA,UAAA;AAAA,WAEL,EACF,CAAA;AAAA,QACCJ,2BAAA,IAAAmB,aAAA,IAAA,EACC,UAACnB,2BAAA,IAAAiB,yBAAA,EACE,UAAc,cAAA;AAAA,UACb,IAAIb,cAAQ,mCAAmC;AAAA,UAC/C,gBAAgB;AAAA,QAAA,CACjB,GACH,EACF,CAAA;AAAA,uCACCe,aAAAA,IAAG,EAAA,SAAS,CAAC,MAAM,EAAE,mBACpB,UAAAnB,2BAAA;AAAA,UAACsB,aAAA;AAAA,UAAA;AAAA,YACC,SAAS,MAAM,YAAY,oBAAoB;AAAA,YAC/C,OAAO,cAAc;AAAA,cACnB,IAAIlB,cAAQ,gCAAgC;AAAA,cAC5C,gBAAgB;AAAA,YAAA,CACjB;AAAA,YACD,SAAQ;AAAA,YACR,UAAU,CAAC;AAAA,YAEX,yCAACmB,MAAAA,QAAO,CAAA,CAAA;AAAA,UAAA;AAAA,QAAA,EAEZ,CAAA;AAAA,MAAA,EACF,CAAA;AAAA,IAAA,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;AAEA,WAAW,YAAY;AAAA,EACrB,WAAWX,mBAAAA,QAAU,KAAK;AAAA,EAC1B,aAAaA,2BAAU,KAAK;AAC9B;AC3GM,MAAA,8BAA8B,MAClCZ,2BAAA,IAACyB,WAAK,SAAL,EAAa,aAAaC,kBAAY,oBACrC,UAAC1B,2BAAAA,IAAA,oBAAA,CAAmB,CAAA,EACtB,CAAA;AAEF,MAAM,qBAAqB,MAAM;AACzB,QAAA,EAAE,cAAc,IAAID,kBAAQ;AAC5B,QAAA,EAAE,WAAW,IAAI4B,0BAAY;AAC7B,QAAA,EAAE,aAAa,IAAIC,yBAAY;AAC/B,QAAA,EAAE,mBAAmB,IAAIC,sBAAgB;AAC/C,QAAM,cAAcC,WAAAA,eAAe;AACnC,QAAM,EAAE,KAAK,IAAI,IAAIC,qBAAe;AAC9B,QAAA,EAAE,eAAe,IAAIC,yBAAmB;AAE9C,QAAM,CAAC,aAAa,cAAc,IAAIC,iBAAM,SAAS,KAAK;AAC1D,QAAM,CAAC,gBAAgB,iBAAiB,IAAIA,iBAAM,SAAS,IAAI;AAEzD,QAAA;AAAA,IACJ,WAAW;AAAA,IACX,gBAAgB,EAAE,UAAU;AAAA,MAC1BC,MAAQ,QAAA,EAAE,QAAQR,MAAA,YAAY,sBAAsB;AAExD,QAAM,EAAE,WAAW,eAAe,KAAS,IAAAS,WAAA;AAAA,IACzC,CAAC,qBAAqB,iBAAiB;AAAA,IACvC,YAAY;AACV,YAAM,EAAE,MAAAC,MAAS,IAAA,MAAM,IAAI,oCAAoC;AAExDA,aAAAA;AAAAA,IACT;AAAA,IACA;AAAA,MACE,YAAY;AACV;AAAA,UACE,cAAc;AAAA,YACZ,IAAIhC,cAAQ,4BAA4B;AAAA,YACxC,gBAAgB;AAAA,UACjB,CAAA;AAAA,QACH;AAAA,MACF;AAAA,MACA,QAAQ,OAAO;AACM,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,eAAe,KAAK;AAAA,QAAA,CAC9B;AAAA,MAAA;AAAA,IACH;AAAA,EAEJ;AAEA,QAAM,YAAY,2BAA2B;AAE7C,QAAM,eAAe,MAAM;AACV,mBAAA,CAAC,SAAS,CAAC,IAAI;AAAA,EAChC;AAEM,QAAA,kBAAkB,CAAC,aAAa;AACpC,sBAAkB,QAAQ;AACb,iBAAA;AAAA,EACf;AAEA,QAAM,iBAAiBiC,WAAA;AAAA,IACrB,CAAC,SAAS,IAAI,sCAAsC,EAAE,mBAAmB,MAAM;AAAA,IAC/E;AAAA,MACE,MAAM,YAAY;AAChB,cAAM,YAAY,kBAAkB,CAAC,qBAAqB,iBAAiB,CAAC;AAEzD,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,cAAc,EAAE,IAAI,8BAA8B,gBAAgB,QAAS,CAAA;AAAA,QAAA,CACrF;AAED,mBAAW,uBAAuB;AAErB,qBAAA;AAAA,MACf;AAAA,MACA,QAAQ,OAAO;AACM,2BAAA;AAAA,UACjB,MAAM;AAAA,UACN,SAAS,eAAe,KAAK;AAAA,QAAA,CAC9B;AAAA,MACH;AAAA,MACA,eAAe;AAAA,IAAA;AAAA,EAEnB;AAEM,QAAA,eAAe,CAAC,SAAS;AAC7B,eAAW,wBAAwB;AAEnC,UAAM,kBAAkB,EAAE,GAAG,MAAM,CAAC,cAAc,GAAG,KAAK;AAC1D,mBAAe,OAAO,eAAe;AAAA,EACvC;AAEA,MAAI,WAAW;AACN,WAAArC,+BAACyB,MAAAA,KAAK,SAAL,EAAa;AAAA,EAAA;AAGvB,yCACGA,MAAAA,KAAK,MAAL,EAAU,aAAW,eAAe,WACnC,UAAA;AAAA,IAACzB,2BAAAA,IAAAyB,MAAA,KAAK,OAAL,EACE,UAAA;AAAA,MACC,EAAE,IAAI,sBAAsB,gBAAgB,oBAAoB;AAAA,MAChE;AAAA,QACE,MAAM,cAAc;AAAA,UAClB,IAAIrB,cAAQ,+BAA+B;AAAA,UAC3C,gBAAgB;AAAA,QACjB,CAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,IACAJ,2BAAA;AAAA,MAACsC,MAAAA,QAAQ;AAAA,MAAR;AAAA,QACC,OAAO,cAAc;AAAA,UACnB,IAAIlC,cAAQ,+BAA+B;AAAA,UAC3C,gBAAgB;AAAA,QACjB,CAAA;AAAA,MAAA;AAAA,IACH;AAAA,IACAF,2BAAAA,KAACoC,MAAQ,QAAA,SAAR,EACC,UAAA;AAAA,MAACtC,2BAAAA,IAAA,YAAA,EAAW,aAAa,iBAAiB,UAAsB,CAAA;AAAA,MAChEA,2BAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,UAAU,KAAK,cAAc;AAAA,UAC7B,UAAU;AAAA,UACV,MAAM;AAAA,UACN,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,IACZ,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;;;"}