modoboa 2.6.2__py3-none-any.whl → 2.6.4__py3-none-any.whl

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 (294) hide show
  1. modoboa/admin/api/v1/tests.py +5 -0
  2. modoboa/admin/api/v1/viewsets.py +19 -5
  3. modoboa/admin/api/v2/serializers.py +7 -2
  4. modoboa/admin/api/v2/tests.py +23 -1
  5. modoboa/admin/api/v2/viewsets.py +23 -4
  6. modoboa/admin/handlers.py +8 -13
  7. modoboa/admin/management/commands/subcommands/_import.py +1 -1
  8. modoboa/admin/management/commands/subcommands/_repair.py +1 -1
  9. modoboa/admin/models/alias.py +1 -1
  10. modoboa/admin/models/domain.py +1 -1
  11. modoboa/admin/tests/test_alias_targets.py +12 -0
  12. modoboa/admin/tests/test_data/import_accounts.csv +1 -0
  13. modoboa/admin/tests/test_import_.py +8 -0
  14. modoboa/admin/tests/test_repair.py +2 -2
  15. modoboa/calendars/backends/caldav_.py +3 -1
  16. modoboa/core/checks.py +5 -0
  17. modoboa/core/commands/templates/settings.py.tpl +4 -0
  18. modoboa/core/tests/test_checks.py +27 -0
  19. modoboa/frontend_dist/assets/AccountAliasForm-tLHotdIR.js +1 -0
  20. modoboa/frontend_dist/assets/AccountEditView-DnQIIg47.js +1 -0
  21. modoboa/frontend_dist/assets/AccountLayout-B2HptJzY.js +1 -0
  22. modoboa/frontend_dist/assets/{AccountPasswordSubForm-DtqTon2C.js → AccountPasswordSubForm-DpADntAL.js} +1 -1
  23. modoboa/frontend_dist/assets/AccountView-CJBGh9Oe.js +1 -0
  24. modoboa/frontend_dist/assets/AddressBook-CrFqzlzZ.js +1 -0
  25. modoboa/frontend_dist/assets/AdminLayout-BbCt7YxX.js +1 -0
  26. modoboa/frontend_dist/assets/AlarmsView-CIlt_IKQ.js +1 -0
  27. modoboa/frontend_dist/assets/AliasEditView-n75NEN_s.js +1 -0
  28. modoboa/frontend_dist/assets/AliasRecipientForm-jjj5yJJw.js +1 -0
  29. modoboa/frontend_dist/assets/{AliasView-nnu5M-6u.js → AliasView-DFIvPeIm.js} +1 -1
  30. modoboa/frontend_dist/assets/AuditTrailView-sWnED3E9.js +1 -0
  31. modoboa/frontend_dist/assets/CalendarView-DSCBIvef.js +1 -0
  32. modoboa/frontend_dist/assets/{ChoiceField-k5nIk4ck.js → ChoiceField-RDT6XcnX.js} +1 -1
  33. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +1 -0
  34. modoboa/frontend_dist/assets/ComposeEmailForm-G3sXQAwI.js +1 -0
  35. modoboa/frontend_dist/assets/ComposeEmailView-Ce1CtFjD.js +1 -0
  36. modoboa/frontend_dist/assets/{ConfirmDialog-B0TjtODh.js → ConfirmDialog-Du7aqKbR.js} +1 -1
  37. modoboa/frontend_dist/assets/ConnectedLayout-BHWaBAzH.js +1 -0
  38. modoboa/frontend_dist/assets/ConnectedLayout-C6HNXWkp.css +1 -0
  39. modoboa/frontend_dist/assets/CreationForm-CjtILq0_.js +1 -0
  40. modoboa/frontend_dist/assets/{CreationForm-HaiQhqwK.css → CreationForm-NOzzyspA.css} +1 -1
  41. modoboa/frontend_dist/assets/DashboardView-DFNwusDZ.js +1 -0
  42. modoboa/frontend_dist/assets/DomainAdminList-BjtfbhRj.js +1 -0
  43. modoboa/frontend_dist/assets/DomainEditView-Cq5Ea4RW.js +1 -0
  44. modoboa/frontend_dist/assets/{DomainTransportForm-DflFVeEo.js → DomainTransportForm-DAXJGNLA.js} +1 -1
  45. modoboa/frontend_dist/assets/DomainView-BfpK7U14.js +4 -0
  46. modoboa/frontend_dist/assets/DomainsView-CYxLy-3Y.js +1 -0
  47. modoboa/frontend_dist/assets/EmailField-DmPc4pyP.js +1 -0
  48. modoboa/frontend_dist/assets/EmailView-BE3vYZtJ.js +1 -0
  49. modoboa/frontend_dist/assets/EmptyLayout-DMwKNHfI.js +1 -0
  50. modoboa/frontend_dist/assets/FiltersView-Dps3_fAh.js +1 -0
  51. modoboa/frontend_dist/assets/ForwardEmailView-C0I00eXf.js +1 -0
  52. modoboa/frontend_dist/assets/HtmlEditor-D753fIAJ.js +140 -0
  53. modoboa/frontend_dist/assets/{IdentitiesView-Cl2lbfkM.css → IdentitiesView-C93He_db.css} +1 -1
  54. modoboa/frontend_dist/assets/IdentitiesView-CoGBVhZx.js +1 -0
  55. modoboa/frontend_dist/assets/InformationView-eB2ayeLD.js +1 -0
  56. modoboa/frontend_dist/assets/{LoadingData-1iXkFEpZ.js → LoadingData-Tm56XNwj.js} +1 -1
  57. modoboa/frontend_dist/assets/{LoginCallbackView-wq3vJcja.js → LoginCallbackView-DjCHUgz5.js} +1 -1
  58. modoboa/frontend_dist/assets/{LoginView-DZQijPLC.js → LoginView-D0r4XBEl.js} +1 -1
  59. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +1 -0
  60. modoboa/frontend_dist/assets/MailboxView-DNokO2WZ.js +5 -0
  61. modoboa/frontend_dist/assets/MenuItems-dl38msRA.js +1 -0
  62. modoboa/frontend_dist/assets/MessageView-BWh9BqzS.js +1 -0
  63. modoboa/frontend_dist/assets/MessagesView-BZ7NUOwo.js +1 -0
  64. modoboa/frontend_dist/assets/MigrationsView-DcOVgmcH.js +1 -0
  65. modoboa/frontend_dist/assets/{ParametersForm-CPrKRznO.js → ParametersForm-y02-GM0r.js} +1 -1
  66. modoboa/frontend_dist/assets/ParametersView-B6abt-LH.js +1 -0
  67. modoboa/frontend_dist/assets/ParametersView-v0YS6WU4.js +1 -0
  68. modoboa/frontend_dist/assets/ProviderEditView-BaL9mKxJ.js +1 -0
  69. modoboa/frontend_dist/assets/ProviderGeneralForm-eoHMDO5v.js +1 -0
  70. modoboa/frontend_dist/assets/ProvidersView-DE17nfOl.css +1 -0
  71. modoboa/frontend_dist/assets/ProvidersView-Zu-G35u7.js +1 -0
  72. modoboa/frontend_dist/assets/QuarantineLayout-BHiiksnP.js +1 -0
  73. modoboa/frontend_dist/assets/QuarantineView-BOXSobRz.js +1 -0
  74. modoboa/frontend_dist/assets/ReplyEmailView-JmSiNWPy.js +1 -0
  75. modoboa/frontend_dist/assets/{ResourcesForm-D5G8hixZ.js → ResourcesForm-D0YBapCG.js} +1 -1
  76. modoboa/frontend_dist/assets/SelfServiceLayout-DUmQzUDk.js +1 -0
  77. modoboa/frontend_dist/assets/SettingsView-DMuaKagM.js +6 -0
  78. modoboa/frontend_dist/assets/StatisticsView-CyY_CNcI.js +1 -0
  79. modoboa/frontend_dist/assets/TimeSerieChart-BTDBH33K.js +1 -0
  80. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +1 -0
  81. modoboa/frontend_dist/assets/UserLayout-DwxcQr4L.js +1 -0
  82. modoboa/frontend_dist/assets/{VAlert-iGJ3gOzk.css → VAlert-Bkuw9MFB.css} +1 -1
  83. modoboa/frontend_dist/assets/VAlert-CNys_LUS.js +1 -0
  84. modoboa/frontend_dist/assets/VApp-B0vRc3-6.js +1 -0
  85. modoboa/frontend_dist/assets/VApp-C9NK-Gu6.css +1 -0
  86. modoboa/frontend_dist/assets/VAutocomplete-Huaz_-hf.js +1 -0
  87. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +1 -0
  88. modoboa/frontend_dist/assets/VAvatar-BPhnln71.css +1 -0
  89. modoboa/frontend_dist/assets/VAvatar-JdJfoK0C.js +1 -0
  90. modoboa/frontend_dist/assets/{VBadge-BQrRJ9S0.css → VBadge-Bqx6XeRo.css} +1 -1
  91. modoboa/frontend_dist/assets/VBadge-Cg5iu5LG.js +1 -0
  92. modoboa/frontend_dist/assets/{VCard-BNvk7mV7.css → VCard-BdSLQNRY.css} +1 -1
  93. modoboa/frontend_dist/assets/VCard-BoH6kjPa.js +1 -0
  94. modoboa/frontend_dist/assets/VCheckbox-CCLOJFKF.js +1 -0
  95. modoboa/frontend_dist/assets/{VCheckboxBtn-B35nMyHy.js → VCheckboxBtn-Ccl786Rg.js} +1 -1
  96. modoboa/frontend_dist/assets/VColorPicker-452uc3tY.js +1 -0
  97. modoboa/frontend_dist/assets/VColorPicker-B_lVDaYR.css +1 -0
  98. modoboa/frontend_dist/assets/{VContainer-CTzYfsVd.js → VContainer-DKMcKasC.js} +1 -1
  99. modoboa/frontend_dist/assets/VDataTable-BkLLfcQK.js +1 -0
  100. modoboa/frontend_dist/assets/VDataTable-CLcLRj9B.css +1 -0
  101. modoboa/frontend_dist/assets/VDataTableServer-B_6fWBA3.js +1 -0
  102. modoboa/frontend_dist/assets/VDataTableVirtual-Ike7oqcC.js +1 -0
  103. modoboa/frontend_dist/assets/VDialog-DIUeAIpw.js +1 -0
  104. modoboa/frontend_dist/assets/VExpansionPanels-BeMgiS7A.js +1 -0
  105. modoboa/frontend_dist/assets/VExpansionPanels-Dyw0hWW-.css +1 -0
  106. modoboa/frontend_dist/assets/VFileInput-Dvj95FL5.js +1 -0
  107. modoboa/frontend_dist/assets/{VFileInput-VtUg4zpy.css → VFileInput-Dwzvf-gD.css} +1 -1
  108. modoboa/frontend_dist/assets/VForm-DkphQD3e.js +1 -0
  109. modoboa/frontend_dist/assets/VGrid-GYROgRMo.css +1 -0
  110. modoboa/frontend_dist/assets/VInput-CbqehdOu.js +1 -0
  111. modoboa/frontend_dist/assets/VMenu-B6SCtOwT.js +1 -0
  112. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +1 -0
  113. modoboa/frontend_dist/assets/VPicker-BUx70Wjg.js +1 -0
  114. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +1 -0
  115. modoboa/frontend_dist/assets/VProgressCircular-C6u34DRJ.css +1 -0
  116. modoboa/frontend_dist/assets/VProgressCircular-DTDGzl2O.js +1 -0
  117. modoboa/frontend_dist/assets/VRadioGroup-CS9ULZ1c.js +1 -0
  118. modoboa/frontend_dist/assets/{VRow-Dnsej546.js → VRow-CuVZGqBj.js} +1 -1
  119. modoboa/frontend_dist/assets/VSelect-D5IXDPEX.js +1 -0
  120. modoboa/frontend_dist/assets/VSelect-DQzySRN1.css +1 -0
  121. modoboa/frontend_dist/assets/VSelectionControl-uKY9Zull.js +1 -0
  122. modoboa/frontend_dist/assets/VSheet-HeHw6g5_.js +1 -0
  123. modoboa/frontend_dist/assets/VSpacer-BUxSSJbH.js +1 -0
  124. modoboa/frontend_dist/assets/{VSwitch-Mm7Rd7At.css → VSwitch-C6REVr_Y.css} +1 -1
  125. modoboa/frontend_dist/assets/VSwitch-Dh_dserW.js +1 -0
  126. modoboa/frontend_dist/assets/VTable-BsI6FsWH.css +1 -0
  127. modoboa/frontend_dist/assets/VTable-gDsAUSLX.js +1 -0
  128. modoboa/frontend_dist/assets/VTabs-5XSICLQP.js +1 -0
  129. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +1 -0
  130. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +1 -0
  131. modoboa/frontend_dist/assets/VTextField-QXQFhKxm.js +1 -0
  132. modoboa/frontend_dist/assets/VTextarea-Bdy4UKmV.js +1 -0
  133. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +1 -0
  134. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +1 -0
  135. modoboa/frontend_dist/assets/VToolbar-CyrYSqJZ.js +1 -0
  136. modoboa/frontend_dist/assets/VWindowItem-DqNaT6b1.css +1 -0
  137. modoboa/frontend_dist/assets/VWindowItem-kZpArwK1.js +1 -0
  138. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +1 -0
  139. modoboa/frontend_dist/assets/WebmailLayout-CNUHODnw.js +1 -0
  140. modoboa/frontend_dist/assets/{accounts-CxGXJgEh.js → accounts-DqbBlaLK.js} +1 -1
  141. modoboa/frontend_dist/assets/{admin-COcAacoq.js → admin-D36m_nXq.js} +1 -1
  142. modoboa/frontend_dist/assets/{aliases-DJbDT92U.js → aliases-BtyF8GC8.js} +1 -1
  143. modoboa/frontend_dist/assets/{amavis-CbsMYC6e.js → amavis-B4QhM5Fa.js} +1 -1
  144. modoboa/frontend_dist/assets/{amavis-BqfDWEXM.js → amavis-DySmsCJQ.js} +1 -1
  145. modoboa/frontend_dist/assets/{contacts-BqHRqWBy.js → contacts-Df8ptuMn.js} +1 -1
  146. modoboa/frontend_dist/assets/{domains-FSnyP8bd.js → domains-CSxtTvUh.js} +1 -1
  147. modoboa/frontend_dist/assets/{domains.store-GfcrCBY7.js → domains.store-D4ZqCQ-O.js} +1 -1
  148. modoboa/frontend_dist/assets/filter-DHKXX97M.js +1 -0
  149. modoboa/frontend_dist/assets/{global.store-DrPrIa_j.js → global.store-DYMmGKpn.js} +1 -1
  150. modoboa/frontend_dist/assets/{importExport-D12RGpG8.js → importExport-C-adpHJX.js} +1 -1
  151. modoboa/frontend_dist/assets/index-B1bntsLR.js +995 -0
  152. modoboa/frontend_dist/assets/{index-B1bJH8Ti.css → index-B9q1vO3K.css} +1 -1
  153. modoboa/frontend_dist/assets/index-Bp9Fb67E.js +1 -0
  154. modoboa/frontend_dist/assets/language.store-_-zrrEiS.js +1 -0
  155. modoboa/frontend_dist/assets/languages-CxjoT69j.js +1 -0
  156. modoboa/frontend_dist/assets/layout-CjSP_k58.js +1 -0
  157. modoboa/frontend_dist/assets/{layout.store-ZOCP2JtQ.js → layout.store-CF5WRevH.js} +1 -1
  158. modoboa/frontend_dist/assets/{logos-DY4N2P_F.js → logos-95XYS6uH.js} +1 -1
  159. modoboa/frontend_dist/assets/{logs-CgQS5lzy.js → logs-CyU_PIDh.js} +1 -1
  160. modoboa/frontend_dist/assets/{parameters-BOf7j4fc.js → parameters-BxAXBXU1.js} +1 -1
  161. modoboa/frontend_dist/assets/{parameters.store-6D12J_uw.js → parameters.store-CATOSoQZ.js} +1 -1
  162. modoboa/frontend_dist/assets/{permissions-DxMzIhgI.js → permissions-cSkGqV3M.js} +1 -1
  163. modoboa/frontend_dist/assets/{ssrBoot-BbpCPk1A.js → ssrBoot-05WtbG6H.js} +1 -1
  164. modoboa/frontend_dist/assets/{tag-D-_IsM8n.js → tag-BmV84V2s.js} +1 -1
  165. modoboa/frontend_dist/assets/{theme-B2lOH8MT.js → theme-myV4ekXo.js} +1 -1
  166. modoboa/frontend_dist/assets/transports-ChdHV5hX.js +1 -0
  167. modoboa/frontend_dist/assets/webmail-B7MNMkv_.js +1 -0
  168. modoboa/frontend_dist/assets/webmail.store-Cm-h6hhE.js +1 -0
  169. modoboa/frontend_dist/index.html +2 -2
  170. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  171. modoboa/locale/fr/LC_MESSAGES/django.po +131 -391
  172. modoboa/sievefilters/api/v2/tests.py +6 -0
  173. modoboa/sievefilters/api/v2/viewsets.py +10 -0
  174. modoboa/webmail/serializers.py +2 -1
  175. modoboa/webmail/tests/test_viewsets.py +16 -4
  176. modoboa/webmail/viewsets.py +17 -3
  177. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/METADATA +5 -5
  178. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/RECORD +183 -183
  179. modoboa/frontend_dist/assets/AccountAliasForm-BzwhK9cz.js +0 -1
  180. modoboa/frontend_dist/assets/AccountEditView-Dujx5Scp.js +0 -1
  181. modoboa/frontend_dist/assets/AccountLayout-BDiVTbNa.js +0 -1
  182. modoboa/frontend_dist/assets/AccountView-D8vnHee_.js +0 -1
  183. modoboa/frontend_dist/assets/AddressBook-DWGt9xIC.js +0 -1
  184. modoboa/frontend_dist/assets/AdminLayout-GPLTQAzV.js +0 -1
  185. modoboa/frontend_dist/assets/AlarmsView-DDN5FZ4i.js +0 -1
  186. modoboa/frontend_dist/assets/AliasEditView-BeXQf1Ja.js +0 -1
  187. modoboa/frontend_dist/assets/AliasRecipientForm-CGPKUJVF.js +0 -1
  188. modoboa/frontend_dist/assets/AuditTrailView-Bysr09YT.js +0 -1
  189. modoboa/frontend_dist/assets/CalendarView-CGdVWsxp.js +0 -1
  190. modoboa/frontend_dist/assets/ComposeEmailForm-DHFthaP6.css +0 -1
  191. modoboa/frontend_dist/assets/ComposeEmailForm-DUyJM2FF.js +0 -1
  192. modoboa/frontend_dist/assets/ComposeEmailView-Byvgy2YX.js +0 -1
  193. modoboa/frontend_dist/assets/ConnectedLayout-Bxh21hcH.css +0 -1
  194. modoboa/frontend_dist/assets/ConnectedLayout-C-YqPGtT.js +0 -1
  195. modoboa/frontend_dist/assets/CreationForm-oDKUwmFm.js +0 -1
  196. modoboa/frontend_dist/assets/DashboardView-D_WPdBgH.js +0 -1
  197. modoboa/frontend_dist/assets/DomainAdminList-Bv43h5YQ.js +0 -1
  198. modoboa/frontend_dist/assets/DomainEditView-wXBS3A63.js +0 -1
  199. modoboa/frontend_dist/assets/DomainView-DZn2Rzef.js +0 -5
  200. modoboa/frontend_dist/assets/DomainsView-BJIxWiDj.js +0 -1
  201. modoboa/frontend_dist/assets/EmailField-CFNREcuM.js +0 -1
  202. modoboa/frontend_dist/assets/EmailView-CAukleod.js +0 -1
  203. modoboa/frontend_dist/assets/EmptyLayout-CgltY47x.js +0 -1
  204. modoboa/frontend_dist/assets/FiltersView-COwmHjdx.js +0 -1
  205. modoboa/frontend_dist/assets/ForwardEmailView-DxNEqmlZ.js +0 -1
  206. modoboa/frontend_dist/assets/HtmlEditor-CSRAxVCo.js +0 -93
  207. modoboa/frontend_dist/assets/IdentitiesView-ChlrCGeN.js +0 -1
  208. modoboa/frontend_dist/assets/InformationView-Cq0mfs4D.js +0 -1
  209. modoboa/frontend_dist/assets/MailboxView-CfStlWhk.css +0 -1
  210. modoboa/frontend_dist/assets/MailboxView-Xo1djG8R.js +0 -1
  211. modoboa/frontend_dist/assets/MenuItems-Cm9c9dyI.js +0 -1
  212. modoboa/frontend_dist/assets/MessageView-D0810wvi.js +0 -1
  213. modoboa/frontend_dist/assets/MessagesView-D-BBhhOJ.js +0 -1
  214. modoboa/frontend_dist/assets/MigrationsView-B-OvKVxP.js +0 -1
  215. modoboa/frontend_dist/assets/ParametersView-CMunpHG1.js +0 -1
  216. modoboa/frontend_dist/assets/ParametersView-jdeMts_I.js +0 -1
  217. modoboa/frontend_dist/assets/ProviderEditView-CFm5-K3j.js +0 -1
  218. modoboa/frontend_dist/assets/ProviderGeneralForm-jpkQRqL5.js +0 -1
  219. modoboa/frontend_dist/assets/ProvidersView-D5UWPOH9.js +0 -1
  220. modoboa/frontend_dist/assets/ProvidersView-D_ER4F1h.css +0 -1
  221. modoboa/frontend_dist/assets/QuarantineLayout-DbM_Wx4I.js +0 -1
  222. modoboa/frontend_dist/assets/QuarantineView-B2tBwskg.js +0 -1
  223. modoboa/frontend_dist/assets/ReplyEmailView-Deogiaa7.js +0 -1
  224. modoboa/frontend_dist/assets/SelfServiceLayout-De0pXOuH.js +0 -1
  225. modoboa/frontend_dist/assets/SettingsView-BUd1HmFo.js +0 -6
  226. modoboa/frontend_dist/assets/StatisticsView-DYzFg6_F.js +0 -1
  227. modoboa/frontend_dist/assets/TimeSerieChart-DeItUg1R.js +0 -1
  228. modoboa/frontend_dist/assets/TimeSerieChart-Dn6Wznn8.css +0 -1
  229. modoboa/frontend_dist/assets/UserLayout-CzNQqfm5.js +0 -1
  230. modoboa/frontend_dist/assets/VAlert-mUmhR_lW.js +0 -1
  231. modoboa/frontend_dist/assets/VApp-D-widb3i.js +0 -1
  232. modoboa/frontend_dist/assets/VApp-DwhR0sAF.css +0 -1
  233. modoboa/frontend_dist/assets/VAutocomplete-6cfcsvjI.js +0 -1
  234. modoboa/frontend_dist/assets/VAutocomplete-CPd3yAvV.css +0 -1
  235. modoboa/frontend_dist/assets/VAvatar-BAW2MRci.js +0 -1
  236. modoboa/frontend_dist/assets/VAvatar-DXG1YGB5.css +0 -1
  237. modoboa/frontend_dist/assets/VBadge-D1u6z0HB.js +0 -1
  238. modoboa/frontend_dist/assets/VCard-DI9bqjLN.js +0 -1
  239. modoboa/frontend_dist/assets/VCheckbox-CFYky8Vk.js +0 -1
  240. modoboa/frontend_dist/assets/VChip-C2Lh9BaB.js +0 -1
  241. modoboa/frontend_dist/assets/VChip-D0iltsFo.css +0 -1
  242. modoboa/frontend_dist/assets/VColorPicker-C-5tY_au.js +0 -1
  243. modoboa/frontend_dist/assets/VColorPicker-C5_3l312.css +0 -1
  244. modoboa/frontend_dist/assets/VDataTable-CJyX7uj5.css +0 -1
  245. modoboa/frontend_dist/assets/VDataTable-ClNLUB1Q.js +0 -1
  246. modoboa/frontend_dist/assets/VDataTableServer-DnuQ8rkQ.js +0 -1
  247. modoboa/frontend_dist/assets/VDataTableVirtual-CbOL_PbK.js +0 -1
  248. modoboa/frontend_dist/assets/VDialog-CqMQCPwz.js +0 -1
  249. modoboa/frontend_dist/assets/VExpansionPanels-Cf4WPRqX.js +0 -1
  250. modoboa/frontend_dist/assets/VExpansionPanels-RsCANmDP.css +0 -1
  251. modoboa/frontend_dist/assets/VFileInput-CvKkPeTl.js +0 -1
  252. modoboa/frontend_dist/assets/VForm-DUC3-Taa.js +0 -1
  253. modoboa/frontend_dist/assets/VGrid-Cb7FdSrp.css +0 -1
  254. modoboa/frontend_dist/assets/VInput-B6b2s-5B.js +0 -1
  255. modoboa/frontend_dist/assets/VMenu-CxE66Rh1.css +0 -1
  256. modoboa/frontend_dist/assets/VMenu-sBFHa2zz.js +0 -1
  257. modoboa/frontend_dist/assets/VPicker-CfsXFhHv.css +0 -1
  258. modoboa/frontend_dist/assets/VPicker-DTZ3WsV_.js +0 -1
  259. modoboa/frontend_dist/assets/VProgressCircular-BOPNpUlJ.js +0 -1
  260. modoboa/frontend_dist/assets/VProgressCircular-BPJdTVu4.css +0 -1
  261. modoboa/frontend_dist/assets/VRadioGroup-G9uvkWom.js +0 -1
  262. modoboa/frontend_dist/assets/VSelect-BdxqTzW5.js +0 -1
  263. modoboa/frontend_dist/assets/VSelect-SEzwNEUK.css +0 -1
  264. modoboa/frontend_dist/assets/VSelectionControl-BHD9kDEZ.js +0 -1
  265. modoboa/frontend_dist/assets/VSheet-DRQqJmTV.js +0 -1
  266. modoboa/frontend_dist/assets/VSpacer-Cxcym55r.js +0 -1
  267. modoboa/frontend_dist/assets/VSwitch-bLRfr5zT.js +0 -1
  268. modoboa/frontend_dist/assets/VTable-CHRVGI94.css +0 -1
  269. modoboa/frontend_dist/assets/VTable-CLV2Uv-1.js +0 -1
  270. modoboa/frontend_dist/assets/VTabs-Bv8FUb0o.css +0 -1
  271. modoboa/frontend_dist/assets/VTabs-GZimpcz5.js +0 -1
  272. modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +0 -1
  273. modoboa/frontend_dist/assets/VTextField-Dt3N956g.js +0 -1
  274. modoboa/frontend_dist/assets/VTextarea-BTR7f0gW.css +0 -1
  275. modoboa/frontend_dist/assets/VTextarea-PA2LHtN4.js +0 -1
  276. modoboa/frontend_dist/assets/VToolbar-BxjAEfSk.css +0 -1
  277. modoboa/frontend_dist/assets/VToolbar-Du_s_183.js +0 -1
  278. modoboa/frontend_dist/assets/VWindowItem-CBUkz4P7.js +0 -1
  279. modoboa/frontend_dist/assets/VWindowItem-CWBhiE_Y.css +0 -1
  280. modoboa/frontend_dist/assets/WebmailLayout-BnRwSunS.js +0 -1
  281. modoboa/frontend_dist/assets/WebmailLayout-UlftFiiT.css +0 -1
  282. modoboa/frontend_dist/assets/filter-fudwgMWN.js +0 -1
  283. modoboa/frontend_dist/assets/forwardRefs-DDY5bVRf.js +0 -1
  284. modoboa/frontend_dist/assets/forwardRefs-i-22bMcD.css +0 -1
  285. modoboa/frontend_dist/assets/index-Be6X7UaJ.js +0 -982
  286. modoboa/frontend_dist/assets/index-DuzUMVLM.js +0 -1
  287. modoboa/frontend_dist/assets/layout-DD534hN7.js +0 -1
  288. modoboa/frontend_dist/assets/transports-K6Dg3jL3.js +0 -1
  289. modoboa/frontend_dist/assets/webmail-Dtit1NLT.js +0 -1
  290. {modoboa-2.6.2.data → modoboa-2.6.4.data}/scripts/modoboa-admin.py +0 -0
  291. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/WHEEL +0 -0
  292. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/entry_points.txt +0 -0
  293. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/licenses/LICENSE +0 -0
  294. {modoboa-2.6.2.dist-info → modoboa-2.6.4.dist-info}/top_level.txt +0 -0
@@ -1 +1 @@
1
- a[data-v-95960718]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-95960718]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-76745e51],.v-tabs-items[data-v-76745e51]{background-color:#f7f8fa!important}
1
+ a[data-v-564ee4b8]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-564ee4b8]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-76745e51],.v-tabs-items[data-v-76745e51]{background-color:#f7f8fa!important}
@@ -0,0 +1 @@
1
+ import{C as Z,H as se,A as Ee,c as F,o as p,w as t,a as l,l as R,F as T,s as Le,k as y,t as f,_ as ye,b as X,n as ie,h as u,i as z,d as Ne,m as J,v as le,f as v,r as De,x as Te,q as ne,j as ee,e as P}from"./index-B1bntsLR.js";import{_ as re}from"./MenuItems-dl38msRA.js";import{_ as ue}from"./ConfirmDialog-Du7aqKbR.js";import{V as je,b as qe,a as _e}from"./VCard-BoH6kjPa.js";import{V as be}from"./VCheckbox-CCLOJFKF.js";import{V as Me}from"./VSpacer-BUxSSJbH.js";import{V as q,c as te,a as de}from"./VAvatar-JdJfoK0C.js";import{a as G}from"./accounts-DqbBlaLK.js";import{a as K}from"./aliases-BtyF8GC8.js";import{d as Pe}from"./index-Bp9Fb67E.js";import{V as oe,a as ge,b as me,c as ce}from"./VMenu-B6SCtOwT.js";import{V as ze}from"./VSelect-D5IXDPEX.js";import{V as ke,a as Oe}from"./VToolbar-CyrYSqJZ.js";import{V as Be}from"./VTextField-QXQFhKxm.js";import{a as We,V as pe}from"./VRadioGroup-CS9ULZ1c.js";import{V as Ge}from"./VDataTableServer-B_6fWBA3.js";import{V as H}from"./VDialog-DIUeAIpw.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-jjj5yJJw.js";import{_ as Ve}from"./CreationForm-CjtILq0_.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-tLHotdIR.js";import{u as Ze}from"./permissions-cSkGqV3M.js";import{a as W,V as fe}from"./VRow-CuVZGqBj.js";import{u as et}from"./domains.store-D4ZqCQ-O.js";import{_ as tt,i as at}from"./importExport-C-adpHJX.js";import{V as lt}from"./VSwitch-Dh_dserW.js";import"./tag-BmV84V2s.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VProgressCircular-DTDGzl2O.js";import"./VInput-CbqehdOu.js";/* empty css */import"./ssrBoot-05WtbG6H.js";import"./VDataTable-BkLLfcQK.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";import"./EmailField-DmPc4pyP.js";import"./VForm-DkphQD3e.js";import"./domains-CSxtTvUh.js";import"./VTextarea-Bdy4UKmV.js";import"./logos-95XYS6uH.js";import"./VWindowItem-kZpArwK1.js";import"./VContainer-DKMcKasC.js";import"./VSheet-HeHw6g5_.js";import"./ChoiceField-RDT6XcnX.js";import"./VAlert-CNys_LUS.js";import"./AccountPasswordSubForm-DpADntAL.js";import"./VFileInput-Dvj95FL5.js";const ae="identities",ve={getAll(){return Z.get(`${ae}/`)},exportAll(S){return Z.get(`/${ae}/export/`,{params:{type:S}})},importFromCSV(S){return Z.post(`/${ae}/import/`,S,{headers:{"Content-Type":"multipart/form-data"}})}},ot={__name:"ChooseColumnsForm",props:se({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:se(["apply"],["update:modelValue"]),setup(S,{emit:k}){const e=S,n=Ee(S,"modelValue"),U=k,x=()=>{U("apply",n.value)};return n.value=e.columns.map(w=>w.key),(w,V)=>(p(),F(_e,{title:w.$gettext("Choose columns to display")},{default:t(()=>[l(je,null,{default:t(()=>[(p(!0),R(T,null,Le(e.availableColumns,C=>(p(),R("div",{key:C.key},[l(be,{modelValue:n.value,"onUpdate:modelValue":V[0]||(V[0]=h=>n.value=h),value:C.key,label:C.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes(C.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),l(qe,null,{default:t(()=>[l(Me),l(q,{color:"primary",variant:"outlined",onClick:x},{default:t(()=>[y(f(w.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},it={key:1},nt={key:1},st={__name:"IdentityList",setup(S,{expose:k}){const{$gettext:e}=X(),n=ne(),{displayNotification:U}=ie(),x={address:{title:e("Address"),key:"address"},enabled:{title:e("Enabled"),key:"enabled"},recipients:{title:e("Recipients"),key:"recipients"},expire_at:{title:e("Expire at"),key:"expire_at"},description:{title:e("Description"),key:"description"},creation:{title:e("Creation date"),key:"creation"},last_modification:{title:e("Last modification"),key:"last_modification"}},w=[x.address,x.enabled,x.recipients],V={username:{title:e("Name"),key:"username"},first_name:{title:e("First name"),key:"first_name"},last_name:{title:e("Last Name"),key:"last_name"},is_active:{title:e("Enabled"),key:"is_active"},role:{title:e("Role"),key:"role"},quota:{title:e("Quota"),key:"quota_usage"},message_limit:{title:e("Message limit"),key:"sent_messages_in_percent"},language:{title:e("Language"),key:"language"},phone_number:{title:e("Phone number"),key:"phone_number"},secondary_email:{title:e("Secondary email"),key:"secondary_email"},tfa_enabled:{title:e("TFA enabled"),key:"tfa_enabled"},totp_enabled:{title:e("TOTP enabled"),key:"totp_enabled"},webauth_enabled:{title:e("WebAutn enabled"),key:"webauth_enabled"},date_joined:{title:e("Creation date"),key:"date_joined"},last_login:{title:e("Last login"),key:"last_login"}},C=[V.username,V.is_active,V.role,V.quota],h=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],$=u("account"),o=u(0),E=u([]),_=u(!1),i=u(""),m=u([]),L=u(!1),j=u(),O=u(),b=u(1),I=u(10),A=u([]),M=u(C),B=u(!1),Q=z(()=>M.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),Y=z(()=>$.value==="account"?Object.values(V):Object.values(x)),c=z(()=>$.value==="account"?["username"]:["address"]);async function d(r){_.value=!0,E.value=[],A.value=[],r==="account"?M.value=C:M.value=w,await N()}async function g({page:r,itemsPerPage:s,sortBy:D}){b.value=r,I.value=s,A.value=D,N()}async function N(){_.value=!0;const r={page:b.value||1,page_size:I.value||10};A.value&&A.value.length&&(r.ordering=A.value.map(s=>s.order!=="asc"?`-${s.key}`:s.key).join(",")),i.value!==""&&(r.search=i.value);try{const s=$.value==="account"?await G.getAll(r):await K.getAll(r);E.value=s.data.results,o.value=s.data.count,m.value=[]}finally{_.value=!1}}function xe(r){M.value=Y.value.filter(s=>r.includes(s.key)),B.value=!1}function we(r){const s=[];return $.value==="account"?(r.possible_actions.forEach(D=>{s.push({label:D.label,icon:D.icon,onClick:a=>{D.name==="get_credentials"&&$e(a),N()}})}),s.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})):$.value==="alias"&&(s.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Re}),s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ue,color:"red"})),s}function Ce(){const r=[];return m.value.length>0&&r.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ie,color:"red"}),r}function Ae(r){n.push({name:"AccountEdit",params:{id:r.pk}})}async function he(r){if(await O.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){_.value=!1;try{await G.delete(r.pk,{keepdir:L.value}),N(),U({msg:e("Account deleted")})}finally{_.value=!1}}}async function $e(r){const s=await G.getCredentials(r.pk),D=new Blob([s.data],{type:s.headers["Content-Type"]}),a=document.createElement("a");a.href=URL.createObjectURL(D),a.download=`credentials_${r.pk}.pdf`,a.click(),URL.revokeObjectURL(a.href)}function Re(r){n.push({name:"AliasEdit",params:{id:r.pk}})}function Ie(){}async function Ue(r){if(await j.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){_.value=!1;try{await K.delete(r.pk),N(),U({msg:e("Alias deleted")})}finally{_.value=!1}}}function Fe(r){return r.recipients?r.recipients.join(", "):""}return Ne(()=>{N()}),k({fetchIdentities:N,identityType:$}),N=Pe(N,500),(r,s)=>{const D=De("router-link");return p(),F(_e,{class:"mt-6"},{default:t(()=>[l(Ge,{modelValue:m.value,"onUpdate:modelValue":s[3]||(s[3]=a=>m.value=a),headers:Q.value,items:E.value,search:i.value,loading:_.value,"items-length":o.value,page:b.value,"items-per-page":I.value,"items-per-page-options":h,"item-value":"pk",elevation:"0","show-select":"","sort-by":A.value,"onUpdate:options":g},{top:t(()=>[l(ke,{flat:"",color:"white"},{extension:t(()=>[l(We,{modelValue:$.value,"onUpdate:modelValue":[s[2]||(s[2]=a=>$.value=a),d],inline:"",readonly:_.value,"hide-details":""},{default:t(()=>[l(pe,{color:"primary",label:v(e)("Accounts"),value:"account"},null,8,["label"]),l(pe,{color:"primary",label:v(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[l(Be,{modelValue:i.value,"onUpdate:modelValue":s[0]||(s[0]=a=>i.value=a),"prepend-inner-icon":"mdi-magnify",placeholder:v(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),Te(r.$slots,"extraActions",{},void 0,!0),l(q,{variant:"text",icon:"mdi-format-columns",title:v(e)("Customize displayed columns"),onClick:s[1]||(s[1]=a=>B.value=!0)},null,8,["title"]),m.value.length>1?(p(),F(oe,{key:0,location:"bottom"},{activator:t(({props:a})=>[l(q,le({"append-icon":"mdi-chevron-down"},a,{size:"small",variant:"flat"}),{default:t(()=>[y(f(v(e)("Actions")),1)]),_:1},16)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(re,{items:Ce()},null,8,["items"])]),_:1})]),_:1})):J("",!0),l(q,{variant:"text",icon:"mdi-reload",onClick:N})]),_:3})]),"item.username":t(({item:a})=>[l(D,{to:{name:"AccountDetail",params:{id:a.pk}}},{default:t(()=>[y(f(a.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:a})=>[l(D,{to:{name:"AliasDetail",params:{id:a.pk}}},{default:t(()=>[y(f(a.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:a})=>[l(te,{color:a.is_active?"success":"error",icon:a.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:a})=>[l(te,{color:a.enabled?"success":"error",icon:a.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:a})=>[y(f(Fe(a)),1)]),"item.date_joined":t(({item:a})=>[y(f(r.$date(a.date_joined)),1)]),"item.creation":t(({item:a})=>[y(f(r.$date(a.creation)),1)]),"item.last_modification":t(({item:a})=>[y(f(r.$date(a.last_modification)),1)]),"item.last_login":t(({item:a})=>[a.last_login?(p(),R(T,{key:0},[y(f(r.$date(a.last_login)),1)],64)):(p(),R(T,{key:1},[y(f(v(e)("Never logged-in")),1)],64))]),"item.role":t(({item:a})=>[l(ze,{color:"default",size:"small"},{default:t(()=>[y(f(a.role),1)]),_:2},1024)]),"item.quota_usage":t(({item:a})=>[a.mailbox?(p(),R(T,{key:0},[a.mailbox.quota!=="0"?(p(),F(de,{key:0,color:a.mailbox.quota_usage<80?"primary":"warning","model-value":a.mailbox.quota_usage},null,8,["color","model-value"])):(p(),R("span",it,f(v(e)("Unlimited")),1))],64)):(p(),R(T,{key:1},[y(f(v(e)("No mailbox")),1)],64))]),"item.sent_messages_in_percent":t(({item:a})=>[a.mailbox?(p(),R(T,{key:0},[a.mailbox.message_limit!==null&&a.mailbox.message_limit!==void 0?(p(),R(T,{key:0},[a.mailbox.message_limit!==0?(p(),F(de,{key:0,color:a.mailbox.sent_messages_in_percent<80?"primary":"warning","model-value":a.mailbox.sent_messages_in_percent},null,8,["color","model-value"])):(p(),R("span",nt,f(v(e)("Sending forbidden")),1))],64)):(p(),R(T,{key:1},[y(f(v(e)("Unlimited")),1)],64))],64)):(p(),R(T,{key:1},[y(f(v(e)("No mailbox")),1)],64))]),"item.actions":t(({item:a})=>[a.possible_actions!==void 0&&a.possible_actions.length!==0?(p(),F(te,{key:0,size:"large",color:"blue"},{default:t(()=>[...s[6]||(s[6]=[y("mdi-circle-small",-1)])]),_:1})):J("",!0),l(oe,{location:"bottom"},{activator:t(({props:Se})=>[l(q,le(Se,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[l(re,{items:we(a),obj:a},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),l(ue,{ref_key:"confirmAlias",ref:j},null,512),l(ue,{ref_key:"confirmAccount",ref:O},{default:t(()=>[l(be,{modelValue:L.value,"onUpdate:modelValue":s[4]||(s[4]=a=>L.value=a),label:v(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),l(H,{modelValue:B.value,"onUpdate:modelValue":s[5]||(s[5]=a=>B.value=a),"max-width":"500"},{default:t(()=>[l(ot,{columns:M.value,"available-columns":Y.value,"mandatory-columns":c.value,onApply:xe},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},rt=ye(st,[["__scopeId","data-v-564ee4b8"]]),ut={__name:"AliasCreationForm",emits:["close"],setup(S,{emit:k}){const{$gettext:e}=X(),n=ie(),U=ne(),x=k,w=u(),V=u(),C=u(),h={general:V,recipients:C},$=z(()=>{const b=[{title:e("General"),items:[{key:e("Random address"),value:o.value.random,type:"yesno"},{key:e("Address"),value:o.value.address}]}];return o.value.expire_at!==void 0&&b[0].items.push({key:e("Expire at"),value:o.value.expire_at}),o.value.description!==void 0&&b[0].items.push({key:e("Description"),value:o.value.description}),b.push({title:e("Recipients"),items:[{key:e("Recipients"),value:o.value.recipients.join(", ")}]}),b}),o=u(i()),E=u([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function _(){o.value=i(),x("close")}function i(){return{random:!1,enabled:!0,recipients:[]}}function m(b){return h.step[b.name]}function L(b){return h[b.name].value.vFormRef}function j(){const b={...o.value};b.recipients.length===0&&delete b.recipients;const I=K.validate(b);return I.catch(A=>{A.response.status===409&&A.response.data.id!==void 0&&(n.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),U.push({name:"AliasEdit",params:{id:A.response.data.id}}))}),I}async function O(){o.value.domain!==void 0&&delete o.value.domain;try{const b=await K.create(o.value);U.push({name:"AliasDetail",params:{id:b.data.pk}}),n.displayNotification({msg:e("Alias created")}),_()}finally{w.value.working=!1}}return(b,I)=>(p(),F(Ve,{ref_key:"form",ref:w,title:v(e)("New alias"),steps:E.value,"form-getter":m,"get-v-form-ref":L,"validate-object":j,"summary-sections":$.value,onClose:_,onCreate:O},{"form.general":t(()=>[l(Ye,{ref_key:"general",ref:V,modelValue:o.value,"onUpdate:modelValue":I[0]||(I[0]=A=>o.value=A)},null,8,["modelValue"])]),"form.recipients":t(()=>[l(Qe,{ref_key:"recipients",ref:C,modelValue:o.value.recipients,"onUpdate:modelValue":I[1]||(I[1]=A=>o.value.recipients=A)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},dt={class:"grey--text"},mt={__name:"AccountCreationForm",emits:["close"],setup(S,{emit:k}){const e=ne(),{$gettext:n}=X(),{canSetRole:U}=Ze(),x=ie(),w=et(),V=k,C=z(()=>o.value.username&&o.value.username.indexOf("@")!==-1),h=z(()=>{const c=[{title:n("Role"),items:[{key:n("Role"),value:o.value.role}]},{title:n("Identification"),items:[{key:n("Username"),value:o.value.username},{key:n("First name"),value:o.value.first_name},{key:n("Last name"),value:o.value.last_name},{name:"random_password",key:n("Random password"),value:o.value.random_password,type:"yesno"},{key:n("Enabled"),value:o.value.is_active,type:"yesno"}]}];return C.value?c.concat([{title:n("Mailbox"),items:[{key:n("Email"),value:o.value.mailbox.full_address},{key:n("Quota"),value:o.value.mailbox.use_domain_quota?n("Domain default value"):o.value.mailbox.quota},{key:n("Message sending limit"),value:o.value.mailbox.message_limit},{key:n("Send only account"),value:o.value.mailbox.is_send_only,type:"yesno"}]},{title:n("Aliases"),items:[{key:n("Aliases"),value:o.value.aliases,type:"list"}]}]):c}),$=z(()=>{const c=[];return U.value&&c.push({name:"role",title:n("Role")}),c.push({name:"identification",title:n("Identification")}),C.value?c.concat([{name:"mailbox",title:n("Mailbox")},{name:"aliases",title:n("Aliases")}]):c}),o=u({aliases:[],is_active:!0,role:ee.USER,mailbox:{use_domain_quota:!0},random_password:!1}),E=u(),_=u(),i=u(),m=u(),L=u(),j={role:_,identification:i,mailbox:m,aliases:L};function O(){navigator.clipboard.writeText(o.value.new_password).then(()=>{x.displayNotification({msg:n("Password copied to clipboard")})})}function b(c){return j.step[c.name]}function I(c){return j[c.name].value.vFormRef}function A(c,d){const g=$.value[c-1].name;j[g].value.formErrors&&(j[g].value.formErrors.value=d)}function M(c){const d={...c};return[ee.RESELLER,ee.SUPER_ADMIN].includes(d.role)&&d.username&&d.username.indexOf("@")===-1&&delete d.mailbox,d.mailbox&&(d.mailbox.message_limit===""&&(d.mailbox.message_limit=null),!d.mailbox.use_domain_quota&&(d.mailbox.quota===void 0||d.mailbox.quota===null)&&(d.mailbox.quota=0)),d}function B(c){if(c===1)return!0;const d=M({...o.value});return G.validate(d)}function Q(){V("close")}async function Y(){const c=M({...o.value});c.password=c.new_password,delete c.new_password,delete c.password_confirmation;try{const d=await G.create(c);e.push({name:"AccountDetail",params:{id:d.data.pk}}),x.displayNotification({msg:n("Account created")}),Q()}finally{E.value.working=!1}}return w.getDomains(),(c,d)=>(p(),F(Ve,{ref_key:"form",ref:E,title:v(n)("New account"),steps:$.value,"form-getter":b,"get-v-form-ref":I,"validate-object":B,"summary-sections":h.value,onClose:Q,onCreate:Y,onValidationError:A},{"form.role":t(()=>[l(Xe,{ref_key:"role",ref:_,modelValue:o.value,"onUpdate:modelValue":d[0]||(d[0]=g=>o.value=g)},null,8,["modelValue"])]),"form.identification":t(()=>[l(Ke,{ref_key:"identification",ref:i,modelValue:o.value,"onUpdate:modelValue":d[1]||(d[1]=g=>o.value=g)},null,8,["modelValue"])]),"form.mailbox":t(()=>[l(Je,{ref_key:"mailbox",ref:m,modelValue:o.value,"onUpdate:modelValue":d[2]||(d[2]=g=>o.value=g)},null,8,["modelValue"])]),"form.aliases":t(()=>[l(He,{ref_key:"aliases",ref:L,modelValue:o.value,"onUpdate:modelValue":d[3]||(d[3]=g=>o.value=g)},null,8,["modelValue"])]),"item.random_password":t(({item:g})=>[g.value?(p(),F(W,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[l(fe,null,{default:t(()=>[l(W,null,{default:t(()=>[P("span",null,f(g.key),1)]),_:2},1024),g.type==="yesno"?(p(),F(W,{key:0,class:"text-right"},{default:t(()=>[y(f(c.$yesno(g.value)),1)]),_:2},1024)):J("",!0)]),_:2},1024),l(fe,null,{default:t(()=>[l(W,{class:"text-right py-1"},{default:t(()=>[l(q,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:v(n)("Copy to clipboard"),onClick:O},{default:t(()=>[y(f(o.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(p(),R(T,{key:1},[l(W,null,{default:t(()=>[P("span",dt,f(g.key),1)]),_:2},1024),g.type==="yesno"?(p(),F(W,{key:0,class:"text-right"},{default:t(()=>[y(f(c.$yesno(g.value)),1)]),_:2},1024)):J("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ct={__name:"IdentitiesView",setup(S){const{$gettext:k,$pgettext:e}=X(),{importContent:n,exportContent:U}=at(),x=u(!1),w=u(!1),V=u(!1),C=u(),h=u();function $(){ve.exportAll(h.value.identityType).then(_=>{U(_.data,`${h.value.identityType}-list`,k)})}function o(_,i){i.crypt_passwords!==void 0&&i.crypt_passwords!==null&&_.append("crypt_passwords",i.crypt_passwords),n(ve,_,C,k)}function E(){V.value=!1,h.value.fetchIdentities()}return(_,i)=>(p(),R("div",null,[l(ke,{flat:""},{default:t(()=>[l(Oe,null,{default:t(()=>[y(f(v(k)("Identities")),1)]),_:1})]),_:1}),l(rt,{ref_key:"idList",ref:h},{extraActions:t(()=>[l(oe,{"offset-y":""},{activator:t(({props:m})=>[l(q,le({color:"primary",variant:"outlined"},m,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[y(f(v(e)("male","New")),1)]),_:1},16)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(me,{onClick:i[0]||(i[0]=m=>x.value=!0)},{default:t(()=>[l(ce,null,{default:t(()=>[y(f(v(k)("Account")),1)]),_:1})]),_:1}),l(me,{onClick:i[1]||(i[1]=m=>w.value=!0)},{default:t(()=>[l(ce,null,{default:t(()=>[y(f(v(k)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),l(q,{class:"mr-2",title:v(k)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:i[2]||(i[2]=m=>V.value=!0)},null,8,["title"]),l(q,{class:"mr-2",title:v(k)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:$},null,8,["title"])]),_:1},512),l(H,{modelValue:w.value,"onUpdate:modelValue":i[5]||(i[5]=m=>w.value=m),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(ut,{onCreated:i[3]||(i[3]=m=>h.value.fetchIdentities()),onClose:i[4]||(i[4]=m=>w.value=!1)})]),_:1},8,["modelValue"]),l(H,{modelValue:x.value,"onUpdate:modelValue":i[8]||(i[8]=m=>x.value=m),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(mt,{onCreated:i[6]||(i[6]=m=>h.value.fetchIdentities()),onClose:i[7]||(i[7]=m=>x.value=!1)})]),_:1},8,["modelValue"]),l(H,{modelValue:V.value,"onUpdate:modelValue":i[9]||(i[9]=m=>V.value=m),persistent:"","max-width":"800px"},{default:t(()=>[l(v(tt),{ref_key:"importForm",ref:C,title:v(k)("Import identities"),onSubmit:o,onClose:E},{help:t(()=>[...i[10]||(i[10]=[P("ul",null,[P("li",null,[P("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota[; domain; ...]")]),P("li",null,[P("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])]),extraFields:t(({form:m})=>[l(lt,{modelValue:m.crypt_passwords,"onUpdate:modelValue":L=>m.crypt_passwords=L,label:v(k)("Crypt passwords"),color:"primary",density:"compact",hint:v(k)("Check this option if passwords contained in your file are not crypted"),"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint"])]),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},na=ye(ct,[["__scopeId","data-v-76745e51"]]);export{na as default};
@@ -0,0 +1 @@
1
+ import{_ as w,b as M,h as V,i as k,d as H,l as u,a as r,c as m,m as p,w as o,f as t,o as l,k as d,t as a,F as _,s as x,e as s}from"./index-B1bntsLR.js";import{a as I}from"./admin-D36m_nXq.js";import{V as C,a as N}from"./VToolbar-CyrYSqJZ.js";import{a as g,c as f,V as v}from"./VCard-BoH6kjPa.js";import{V as T}from"./VAlert-CNys_LUS.js";import{V as B}from"./VDataTableVirtual-Ike7oqcC.js";import{u as A}from"./global.store-DYMmGKpn.js";import"./tag-BmV84V2s.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VDataTable-BkLLfcQK.js";import"./VSelect-D5IXDPEX.js";import"./VTextField-QXQFhKxm.js";import"./VInput-CbqehdOu.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";const S={class:"mt-4"},D=["innerHTML"],G=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],P=["innerHTML"],R=["innerHTML"],U={tag:"p"},Y={tag:"p",class:"text-body-2"},$=["href"],j={__name:"InformationView",setup(q){const{$gettext:e}=M(),h=A(),c=V([]),y=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],L=k(()=>c.value.filter(i=>i.update).length>0);function b(i){return i.update?"green lighten-5":""}return H(()=>{I.getComponentsInformation().then(i=>{c.value=i.data})}),(i,z)=>(l(),u("div",null,[r(C,{flat:""},{default:o(()=>[r(N,null,{default:o(()=>[d(a(t(e)("Information")),1)]),_:1})]),_:1}),t(h).adminNotifications.length?(l(),m(g,{key:0,class:"my-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Important messages")),1)]),_:1}),r(v,null,{default:o(()=>[(l(!0),u(_,null,x(t(h).adminNotifications,n=>(l(),m(T,{key:n.id,type:n.color,title:n.text,border:"start",variant:"tonal"},{default:o(()=>[n.id==="deprecatedpasswordscheme"?(l(),u(_,{key:0},[d(a(t(e)("The password scheme you are using has been deprecated and will be removed in the next minor version. The procedure to upgrade to a stronger scheme is as follows:"))+" ",1),s("ol",S,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,D),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,G),s("li",{innerHTML:t(e)("Make sure <strong>Update password scheme at login</strong> option is enabled",!0)},null,8,E),s("li",{innerHTML:t(e)("Save your changes")},null,8,F),s("li",null,a(t(e)("Logout / Login with your current account so its password gets updated")),1),s("li",{innerHTML:t(e)("Inform <strong>ALL</strong> your users that they must login to Modoboa to complete the operation",!0)},null,8,O)]),s("p",{class:"mt-4",innerHTML:t(e)("You must apply this procedure <strong>BEFORE</strong> you install a newest version of Modoboa, otherwise <strong>you will be unable to connect to the web interface anymore</strong>.",!0)},null,8,P),s("p",{class:"mt-4",innerHTML:t(e)("Please note that you will see this message until <strong>ALL</strong> user passwords have been converted using the new scheme.",!0)},null,8,R)],64)):p("",!0)]),_:2},1032,["type","title"]))),128))]),_:1})]),_:1})):p("",!0),r(g,{class:"mt-6"},{default:o(()=>[r(f,null,{default:o(()=>[d(a(t(e)("Installed components")),1)]),_:1}),r(v,null,{default:o(()=>[L.value?(l(),m(T,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",U,a(t(e)("One or more updates are available")),1),s("div",Y,a(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),r(B,{headers:y,items:c.value,"item-class":b},{"item.last_version":o(({item:n})=>[n.changelog_url?(l(),u("a",{key:0,href:n.changelog_url,target:"_blank"},a(n.last_version),9,$)):(l(),u(_,{key:1},[d(a(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},_e=w(j,[["__scopeId","data-v-f326fdcf"]]);export{_e as default};
@@ -1 +1 @@
1
- import{_ as a,c as t,o,w as e,a as r}from"./index-Be6X7UaJ.js";import{V as s,a as c}from"./VRow-Dnsej546.js";import{V as i}from"./VProgressCircular-BOPNpUlJ.js";import{V as n}from"./VContainer-CTzYfsVd.js";const l={};function f(m,_){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
1
+ import{_ as a,c as t,o,w as e,a as r}from"./index-B1bntsLR.js";import{V as s,a as c}from"./VRow-CuVZGqBj.js";import{V as i}from"./VProgressCircular-DTDGzl2O.js";import{V as n}from"./VContainer-DKMcKasC.js";const l={};function f(m,_){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
@@ -1 +1 @@
1
- import{u as m,g as r,c as p,w as a,o as u,a as o,e as f,t as _}from"./index-Be6X7UaJ.js";import{u as d}from"./theme-B2lOH8MT.js";import{V as g}from"./VContainer-CTzYfsVd.js";import{V as h,a as V}from"./VRow-Dnsej546.js";import{V as w}from"./VProgressCircular-BOPNpUlJ.js";/* empty css */import"./tag-D-_IsM8n.js";const y={class:"ma-5"},N={__name:"LoginCallbackView",props:{redirectUrl:String},async setup(s){let t,e;const i=s,c=m(),{enableTheme:n}=d();return[t,e]=r(()=>c.completeLogin(i.redirectUrl)),await t,e(),[t,e]=r(()=>n()),await t,e(),(l,C)=>(u(),p(g,{class:"fill-height",fluid:""},{default:a(()=>[o(h,{align:"center",justify:"center"},{default:a(()=>[o(V,{cols:"auto",class:"text-center"},{default:a(()=>[f("h1",y,_(l.$gettext("Attempting to log you in.")),1),o(w,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{N as default};
1
+ import{u as m,g as r,c as p,w as a,o as u,a as o,e as f,t as _}from"./index-B1bntsLR.js";import{u as d}from"./theme-myV4ekXo.js";import{V as g}from"./VContainer-DKMcKasC.js";import{V as h,a as V}from"./VRow-CuVZGqBj.js";import{V as w}from"./VProgressCircular-DTDGzl2O.js";/* empty css */import"./tag-BmV84V2s.js";const y={class:"ma-5"},N={__name:"LoginCallbackView",props:{redirectUrl:String},async setup(s){let t,e;const i=s,c=m(),{enableTheme:n}=d();return[t,e]=r(()=>c.completeLogin(i.redirectUrl)),await t,e(),[t,e]=r(()=>n()),await t,e(),(l,C)=>(u(),p(g,{class:"fill-height",fluid:""},{default:a(()=>[o(h,{align:"center",justify:"center"},{default:a(()=>[o(V,{cols:"auto",class:"text-center"},{default:a(()=>[f("h1",y,_(l.$gettext("Attempting to log you in.")),1),o(w,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{N as default};
@@ -1 +1 @@
1
- import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-Be6X7UaJ.js";import{V as f,a as p}from"./VRow-Dnsej546.js";import{V as _}from"./VProgressCircular-BOPNpUlJ.js";import{V as d}from"./VContainer-CTzYfsVd.js";/* empty css */import"./tag-D-_IsM8n.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
1
+ import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-B1bntsLR.js";import{V as f,a as p}from"./VRow-CuVZGqBj.js";import{V as _}from"./VProgressCircular-DTDGzl2O.js";import{V as d}from"./VContainer-DKMcKasC.js";/* empty css */import"./tag-BmV84V2s.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
@@ -0,0 +1 @@
1
+ .v-card-text[data-v-7fa30d1a]{padding:0}.emails[data-v-7fa30d1a]{margin-top:150px}.clickable[data-v-7fa30d1a]{cursor:pointer}.v-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}@media(forced-colors:active){.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:canvastext}}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}@media(forced-colors:active)and (pointer:fine){.v-skeleton-loader__bone{cursor:progress}}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}}
@@ -0,0 +1,5 @@
1
+ import{I as se,J as oe,ao as ne,K as ie,i as X,a5 as re,e as u,v as de,F,ap as ue,y as W,_ as ce,b as me,n as ge,h as S,B as pe,d as ve,Z as fe,z as E,l as _,a as o,c as p,w as b,m as L,aV as he,f as m,t as g,s as ke,q as be,o as d}from"./index-B1bntsLR.js";import{a as y}from"./webmail-B7MNMkv_.js";import{V as ye}from"./VToolbar-CyrYSqJZ.js";import{V as j}from"./VCheckbox-CCLOJFKF.js";import{V as xe}from"./VTextField-QXQFhKxm.js";import{l as _e,p as Ve,V as x,c as z}from"./VAvatar-JdJfoK0C.js";import{V as Ce,a as we,b as I}from"./VMenu-B6SCtOwT.js";import{V as q}from"./VSpacer-BUxSSJbH.js";import{a as K,V as Se}from"./VCard-BoH6kjPa.js";import{u as $e}from"./VProgressCircular-DTDGzl2O.js";import{a as Me,u as Be,m as Le}from"./tag-BmV84V2s.js";import{V as Ie}from"./VAlert-CNys_LUS.js";import{u as Te}from"./webmail.store-Cm-h6hhE.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VInput-CbqehdOu.js";import"./ssrBoot-05WtbG6H.js";/* empty css */const Ae={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function Ee(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return u("div",{class:W(["v-skeleton-loader__bone",`v-skeleton-loader__${t}`])},[n])}function R(t){const[n,a]=t.split("@");return Array.from({length:a}).map(()=>N(n))}function N(t){let n=[];if(!t)return n;const a=Ae[t];if(t!==a){if(t.includes(","))return O(t);if(t.includes("@"))return R(t);a.includes(",")?n=O(a):a.includes("@")?n=R(a):a&&n.push(N(a))}return[Ee(t,n)]}function O(t){return t.replace(/\s/g,"").split(",").map(N)}const ze=oe({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Le(),...Ve(),...ue()},"VSkeletonLoader"),Ne=se()({name:"VSkeletonLoader",inheritAttrs:!1,props:ze(),setup(t,n){let{attrs:a,slots:V}=n;const{backgroundColorClasses:C,backgroundColorStyles:$}=$e(()=>t.color),{dimensionStyles:s}=Me(t),{elevationClasses:D}=_e(t),{themeClasses:J}=ne(t),{t:v}=ie(),r=X(()=>N(re(t.type).join(",")));return Be(()=>{var k;const h=!V.default||t.loading,M=t.boilerplate||!h?{}:{ariaLive:"polite",ariaLabel:v(t.loadingText),role:"alert"};return h?u("div",de({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":t.boilerplate},J.value,C.value,D.value],style:[$.value,s.value]},M,a),[r.value]):u(F,null,[(k=V.default)==null?void 0:k.call(V)])}),{}}}),De={key:2,class:"d-flex align-center"},Je={class:"text-caption mr-2"},Pe={key:1,class:"emails position-absolute top-0 bottom-0 w-100 overflow-y-auto"},Fe=["onClick"],Ue={class:"mt-1 text-grey"},je=["title"],qe={key:1},Ke={class:"text-right"},Re={class:"mt-1"},Oe={class:"text-grey"},Xe={__name:"EmailList",props:{mailbox:{type:String,default:"INBOX"}},setup(t){const n=t,{$gettext:a,$ngettext:V}=me(),{displayNotification:C,reloadMailboxCounters:$}=ge(),s=Te(),D=be(),J=pe(),v=S(!1),r=S({}),h=S(1),M=S(""),k=S(!1),c=S(!1);let U=null;const w=X(()=>J.query.mailbox||"INBOX"),G=i=>{D.push({name:"EmailView",query:{mailbox:n.mailbox,mailid:i}})},f=()=>{r.value={},v.value=!0,y.getMailboxEmails(n.mailbox,{page:h.value,search:M.value}).then(i=>{r.value=i.data,v.value=!1}).catch(()=>{v.value=!1})},P=()=>{f()},H=()=>{f()},Z=i=>{i?s.selection=r.value.results.map(e=>e.imapid):s.selection=[]},Q=()=>{s.selection.length&&(c.value=!0,y.deleteSelection(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) deleted")}),f(),$()}))},Y=()=>{s.selection.length&&(c.value=!0,y.markSelectionAsJunk(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) marked as junk")}),P()}))},ee=()=>{s.selection.length&&(c.value=!0,y.markSelectionAsNotJunk(w.value,s.selection).then(()=>{c.value=!1,C({msg:a("Message(s) marked as not junk")}),P()}))},T=i=>{s.selection.length&&(c.value=!0,y.flagSelection(w.value,s.selection,i).then(()=>{c.value=!1,s.selection=[],C({msg:a("Message(s) flagged")}),f(),$()}))},te=()=>{v.value=!0,y.emptyUserMailbox(w.value).then(()=>{r.value={},v.value=!1,$()})},ae=async i=>{const e=i.flagged?"unflagged":"flagged";await y.flagSelection(w.value,[i.imapid],e),i.flagged=e==="flagged"},le=i=>{s.selection.includes(i.imapid)||(s.selection=[i.imapid]);const e=document.createElement("div"),B=s.selection.length||0,l=V("%{count} message","%{count} messages",B,{count:B});e.innerHTML=`
2
+ <div class="pa-4 rounded-lg" style="background: #a9a9a9; opacity: 0.8; width: 300px">
3
+ <div style="font-weight: 600">${l}</div>
4
+ </div>
5
+ `,document.body.appendChild(e),event.dataTransfer.setDragImage(e,-10,-10),setTimeout(()=>e.remove(),0)};return ve(()=>{U=setInterval(P,300*1e3)}),fe(()=>{clearInterval(U)}),E(()=>n.mailbox,()=>{f()},{immediate:!0}),E(()=>s.selection,()=>{s.selection.length?k.value=!0:k.value=!1}),E(()=>s.listingKey,()=>{f()}),E(h,()=>{f()}),(i,e)=>{var B;return d(),_(F,null,[o(K,{class:"mt-6 mb-2 mx-1"},{default:b(()=>[o(ye,{color:"white",flat:""},{default:b(()=>[o(j,{modelValue:k.value,"onUpdate:modelValue":[e[0]||(e[0]=l=>k.value=l),Z],class:"mr-4","hide-details":"",color:"primary"},null,8,["modelValue"]),o(xe,{modelValue:M.value,"onUpdate:modelValue":e[1]||(e[1]=l=>M.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:m(a)("Search in messages"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4",clearable:"","onClick:clear":f,onKeyup:he(H,["enter"])},null,8,["modelValue","placeholder"]),o(x,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Q},null,8,["loading"]),i.$route.params.mailbox!=="Junk"?(d(),p(x,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:c.value,onClick:Y},null,8,["loading"])):(d(),p(x,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:c.value,onClick:ee},null,8,["loading"])),o(x,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:b(()=>[o(z,{icon:"mdi-cog"}),o(Ce,{activator:"parent"},{default:b(()=>[o(we,{density:"compact"},{default:b(()=>[o(I,{title:m(a)("Mark as read"),"prepend-icon":"mdi-eye",onClick:e[2]||(e[2]=()=>T("read"))},null,8,["title"]),o(I,{title:m(a)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:e[3]||(e[3]=()=>T("unread"))},null,8,["title"]),o(I,{title:m(a)("Mark as followed"),"prepend-icon":"mdi-star",onClick:e[4]||(e[4]=()=>T("flagged"))},null,8,["title"]),o(I,{title:m(a)("Mark as unfollowed"),"prepend-icon":"mdi-star-outline",onClick:e[5]||(e[5]=()=>T("unflagged"))},null,8,["title"]),i.$route.params.mailbox!=="Trash"?(d(),p(I,{key:0,title:m(a)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:te},null,8,["title"])):L("",!0)]),_:1})]),_:1})]),_:1}),o(q),r.value.results?(d(),_("div",De,[u("div",Je,g(r.value.first_index)+"-"+g(r.value.last_index)+" "+g(m(a)("on"))+" "+g(r.value.count),1),u("div",null,[o(x,{icon:"mdi-chevron-left",size:"x-small",disabled:r.value.prev_page===null,onClick:e[6]||(e[6]=l=>h.value=r.value.prev_page)},null,8,["disabled"]),o(x,{icon:"mdi-chevron-right",size:"x-small",disabled:r.value.next_page===null,onClick:e[7]||(e[7]=l=>h.value=r.value.next_page)},null,8,["disabled"])])])):L("",!0)]),_:1})]),_:1}),v.value?(d(),p(Ne,{key:0,type:"card@2"})):(d(),_("div",Pe,[(B=r.value.results)!=null&&B.length?(d(!0),_(F,{key:0},ke(r.value.results,l=>(d(),p(K,{key:l.imapid,density:"compact",class:"mb-2 mx-1",draggable:"true",onDragstart:A=>le(l)},{default:b(()=>[o(Se,{class:W(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:b(()=>[o(j,{modelValue:m(s).selection,"onUpdate:modelValue":e[8]||(e[8]=A=>m(s).selection=A),value:l.imapid,color:"primary","hide-details":""},null,8,["modelValue","value"]),o(x,{icon:l.flagged?"mdi-star":"mdi-star-outline",variant:"flat",onClick:A=>ae(l)},null,8,["icon","onClick"]),u("div",{class:"ml-4 clickable",onClick:A=>G(l.imapid)},[u("div",null,g(l.subject),1),u("div",Ue,[l.from_address.name?(d(),_("span",{key:0,title:l.from_address.address},g(l.from_address.name),9,je)):(d(),_("span",qe,g(l.from_address.address),1))])],8,Fe),o(q),u("div",Ke,[u("div",null,g(l.date),1),u("div",Re,[l.answered?(d(),p(z,{key:0,icon:"mdi-reply-outline"})):L("",!0),l.forwarded?(d(),p(z,{key:1,icon:"mdi-share-outline"})):L("",!0),l.attachments?(d(),p(z,{key:2,icon:"mdi-paperclip"})):L("",!0),u("span",Oe,g(i.$filesize(l.size)),1)])])]),_:2},1032,["class"])]),_:2},1032,["onDragstart"]))),128)):(d(),p(Ie,{key:1,class:"mt-4",type:"info",text:m(a)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},We=ce(Xe,[["__scopeId","data-v-7fa30d1a"]]),Ge={class:"position-relative h-100"},He={class:"text-h5 ml-4"},vt={__name:"MailboxView",setup(t){return(n,a)=>(d(),_("div",Ge,[u("div",He,g(n.$gettext("Webmail")),1),o(We,{mailbox:n.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{vt as default};
@@ -0,0 +1 @@
1
+ import{b as r,c as n,a as i}from"./VMenu-B6SCtOwT.js";import{c as u}from"./VAvatar-JdJfoK0C.js";import{c,o as a,w as t,l as m,F as p,s as d,a as l,k as f,t as k}from"./index-B1bntsLR.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(_,b)=>(a(),c(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,s)=>(a(),c(r,{key:s,value:e,onClick:V=>e.onClick(o.obj)},{prepend:t(()=>[l(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[l(n,null,{default:t(()=>[f(k(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
@@ -0,0 +1 @@
1
+ import{b as j,u as P,n as W,h as p,i as x,B as J,g as A,l as f,e as b,a as s,t as _,f as u,c as y,m as M,w as n,F as R,s as B,q as K,o as r,k as H,j as E}from"./index-B1bntsLR.js";import{u as O}from"./amavis-DySmsCJQ.js";import{_ as X}from"./ConfirmDialog-Du7aqKbR.js";import{a as h}from"./amavis-B4QhM5Fa.js";import{V as Y}from"./VToolbar-CyrYSqJZ.js";import{V as Z}from"./VAlert-CNys_LUS.js";import{V as k,c as ee}from"./VAvatar-JdJfoK0C.js";import{V as ae,a as te,b as N}from"./VMenu-B6SCtOwT.js";import{a as z,V as se}from"./VRow-CuVZGqBj.js";import{a as le,V as ie}from"./VRadioGroup-CS9ULZ1c.js";import"./permissions-cSkGqV3M.js";import"./parameters-BxAXBXU1.js";import"./VCard-BoH6kjPa.js";import"./tag-BmV84V2s.js";import"./VSpacer-BUxSSJbH.js";/* empty css */import"./VDialog-DIUeAIpw.js";import"./VProgressCircular-DTDGzl2O.js";import"./ssrBoot-05WtbG6H.js";import"./VSelectionControl-uKY9Zull.js";import"./VInput-CbqehdOu.js";const re={class:"text-h5 ml-4"},ne={class:"bg-white rounded-lg pa-4 position-relative mt-6 h-100"},oe={key:0},ue={key:1},me={class:"pa-4 bg-grey-lighten-3 rounded"},ce=["innerHTML"],Ee={__name:"MessageView",async setup(de){let o,V;const e=J(),C=K(),{$gettext:t}=j(),q=P(),{displayNotification:w}=W(),m=p(null),v=p(null),L=p(null),i=p(!1),c=p(null),U=x(()=>m.value?m.value:c.value.headers),d=x(()=>{var a;return((a=e.query)==null?void 0:a.secret_id)!==void 0});if(d.value)p(!1);else{const{manualLearningEnabled:a}=([o,V]=A(()=>O()),o=await o,V(),o)}const D=()=>{C.go(-1)},T=async()=>{if(m.value){m.value=null;return}i.value=!0;try{const a=await h.getMessageHeaders(e.params.mailid,e.params.rcpt,e.query.secret_id);m.value=a.data.headers}finally{i.value=!1}},F=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{(await h.releaseMessage(e.params.mailid,a)).data.status==="pending"?w({msg:t("Release request sent")}):w({msg:t("Message released")})}finally{i.value=!1}},I=async()=>{i.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{await h.deleteMessage(e.params.mailid,a),w({msg:t("Message deleted")}),d.value||C.push({name:"QuarantineView"})}finally{i.value=!1}},S=async(a,g)=>{manualLearningEnabled.value&&q.authUser.role!==E.USER&&(v.value=q.authUser.role===E.SUPER_ADMIN?"global":"domain",await L.value.open(t("Learning database"),t("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const l={type:a,selection:[{rcpt:e.params.rcpt,mailid:e.params.mailid}]};v.value&&(l.database=v.value);try{await h.markMessageSelection(l),w({msg:g})}finally{i.value=!1}},G=async()=>{await S("spam",t("Message marked as spam"))},Q=async()=>{await S("ham",t("Message marked as non-spam"))},$=([o,V]=A(()=>h.getMessageContent(e.params.mailid,e.params.rcpt,e.query.secret_id)),o=await o,V(),o);return c.value=$.data,(a,g)=>(r(),f("div",null,[b("div",re,_(u(t)("Quarantined message")),1),b("div",ne,[s(Y,{color:"white"},{default:n(()=>[d.value?M("",!0):(r(),y(k,{key:0,icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:D})),s(k,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",title:u(t)("Release message"),loading:i.value,onClick:F},null,8,["title","loading"]),s(k,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",title:u(t)("Delete message"),loading:i.value,onClick:I},null,8,["title","loading"]),d.value?M("",!0):(r(),f(R,{key:1},[a.manualLearningEnabled?(r(),y(k,{key:0,class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:n(()=>[s(ee,{icon:"mdi-cog"}),s(ae,{activator:"parent"},{default:n(()=>[s(te,{density:"compact"},{default:n(()=>[s(N,{title:u(t)("Mark as spam"),onClick:G},null,8,["title"]),s(N,{title:u(t)("Mark as non-spam"),onClick:Q},null,8,["title"])]),_:1})]),_:1})]),_:1})):M("",!0)],64)),s(k,{class:"ml-2",variant:"tonal",size:"small",loading:i.value,onClick:T},{default:n(()=>[m.value?(r(),f("span",ue,_(u(t)("Hide full headers")),1)):(r(),f("span",oe,_(u(t)("View full headers")),1))]),_:1},8,["loading"])]),_:1}),c.value.qtype?(r(),y(Z,{key:0,title:c.value.qtype,text:c.value.qreason,type:"error",variant:"tonal",class:"mb-4",density:"compact"},null,8,["title","text"])):M("",!0),b("div",me,[(r(!0),f(R,null,B(U.value,l=>(r(),y(se,{key:l.name,"no-gutters":""},{default:n(()=>[s(z,{cols:"2",class:"font-weight-bold"},{default:n(()=>[H(_(l.name),1)]),_:2},1024),s(z,{cols:"10"},{default:n(()=>[H(_(l.value),1)]),_:2},1024)]),_:2},1024))),128))]),b("div",{class:"mt-4",innerHTML:c.value.body},null,8,ce)]),s(u(X),{ref_key:"learningRecipientRef",ref:L},{default:n(()=>[s(le,{modelValue:v.value,"onUpdate:modelValue":g[0]||(g[0]=l=>v.value=l),class:"mt-4","hide-details":""},{default:n(()=>[(r(!0),f(R,null,B(a.learningRecipients,l=>(r(),y(ie,{key:l.value,value:l.value,label:l.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]))}};export{Ee as default};
@@ -0,0 +1 @@
1
+ import{b as T,h as l,c as b,w as a,a as s,e as M,t as m,k as g,f as h,o as v,_ as $,l as D,F}from"./index-B1bntsLR.js";import{l as S}from"./logs-CyU_PIDh.js";import{d as N}from"./index-Bp9Fb67E.js";import{V,a as B}from"./VToolbar-CyrYSqJZ.js";import{V as C}from"./VTextField-QXQFhKxm.js";import{V as I}from"./VDataTableServer-B_6fWBA3.js";import{a as P}from"./VCard-BoH6kjPa.js";import"./tag-BmV84V2s.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VInput-CbqehdOu.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VDataTable-BkLLfcQK.js";import"./VSelect-D5IXDPEX.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";const U=["title"],q={__name:"MessageList",setup(k){const{$gettext:t}=T(),p=[{title:t("Queue ID"),key:"queue_id"},{title:t("Date"),key:"date",width:"20%"},{title:t("Status"),key:"status"},{title:t("To"),key:"rcpt"},{title:t("From"),key:"sender"}],w=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],c=l(!0),d=l([]),i=l(""),u=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:x}){let f;e.length&&(f=(e[0].order==="desc"?"-":"")+e[0].key);const y={ordering:f,page:o,page_size:r,search:x};c.value=!0,S.getMessages(y).then(_=>{d.value=_.data.results,u.value=_.data.count,c.value=!1})}return n=N(n,500),(o,r)=>(v(),b(P,{class:"mt-6"},{default:a(()=>[s(I,{headers:p,items:d.value,search:i.value,class:"elevation-0","items-length":u.value,"items-per-page-options":w,"onUpdate:options":n},{top:a(()=>[s(V,{flat:"",color:"white"},{default:a(()=>[s(C,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:h(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.date":a(({item:e})=>[g(m(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[M("span",{title:e.sender},m(o.$truncate(e.sender,50)),9,U)]),_:2},1032,["items","search","items-length"])]),_:1}))}},z={__name:"MessagesView",setup(k){return(t,p)=>(v(),D(F,null,[s(V,{flat:""},{default:a(()=>[s(B,null,{default:a(()=>[g(m(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(q))],64))}},oe=$(z,[["__scopeId","data-v-9c91b6c8"]]);export{oe as default};
@@ -0,0 +1 @@
1
+ import{C as c,b as y,n as U,h as s,r as j,c as z,o as C,w as o,a as e,f as g,v as w,k as v,t as _,_ as I,l as L}from"./index-B1bntsLR.js";import{_ as P}from"./MenuItems-dl38msRA.js";import{V as q}from"./VDataTable-BkLLfcQK.js";import{V as $,a as E}from"./VMenu-B6SCtOwT.js";import{V as p}from"./VAvatar-JdJfoK0C.js";import{V as T,a as F}from"./VToolbar-CyrYSqJZ.js";import{V as G}from"./VTextField-QXQFhKxm.js";import{V as B}from"./VSpacer-BUxSSJbH.js";import{a as O}from"./VCard-BoH6kjPa.js";import"./tag-BmV84V2s.js";import"./VProgressCircular-DTDGzl2O.js";import"./VSelect-D5IXDPEX.js";import"./VInput-CbqehdOu.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";import"./ssrBoot-05WtbG6H.js";/* empty css */const f="migrations",k={getMigrations(l){return c.get(`/${f}/`,{params:l})},getMigration(l,i){return c.get(`/${f}/${l}/`,i)},deleteMigration(l){return c.delete(`/${f}/${l}/`)}},H={__name:"MigrationsList",setup(l){const{$gettext:i}=y(),V=U(),n=s([]),S=[{title:i("Provider"),value:"provider.name"},{title:i("Old account"),value:"username"},{title:i("New account"),value:"mailbox"},{title:i("Actions"),value:"actions",sortable:!1,align:"right"}],x=s([]),u=s(!1),m=s(""),h=s({}),M=s(0);function A(r){k.deleteMigration(r.id).then(()=>{V.displayNotification({msg:i("Migration deleted")}),n.value=n.value.filter(a=>a.id!==r.id)})}function b(r){u.value=!0;let a={};k.getMigrations(a).then(d=>{n.value=d.data,M.value=n.value.length}).finally(()=>u.value=!1)}function D(){const r=[];return r.push({label:i("Delete"),icon:"mdi-delete-outline",onClick:A(),color:"red"}),r}return b(),(r,a)=>{const d=j("router-link");return C(),z(O,{class:"mt-6"},{default:o(()=>[e(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=t=>x.value=t),options:h.value,"onUpdate:options":a[3]||(a[3]=t=>h.value=t),headers:S,items:n.value,search:m.value,"server-items-length":M.value,loading:u.value,"show-select":""},{top:o(()=>[e(T,{color:"white",flat:""},{default:o(()=>[e(G,{modelValue:m.value,"onUpdate:modelValue":a[0]||(a[0]=t=>m.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",filled:"",variant:"outlined",density:"compact","hide-details":"",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue"]),e($,{location:"bottom"},{activator:o(({props:t})=>[e(p,w(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:o(()=>[v(_(g(i)("Actions")),1)]),_:1},16)]),default:o(()=>[e(E,{density:"compact"})]),_:1}),e(p,{variant:"text",icon:"mdi-reload",onClick:a[1]||(a[1]=t=>b())}),e(B)]),_:1})]),"item.mailbox":o(({item:t})=>[e(d,{to:{name:"AccountDetail",params:{id:t.mailbox.user}}},{default:o(()=>[v(_(t.mailbox.full_address),1)]),_:2},1032,["to"])]),"item.actions":o(({item:t})=>[e($,{"offset-y":""},{activator:o(({props:N})=>[e(p,w({icon:"mdi-dots-horizontal"},N),null,16)]),default:o(()=>[e(g(P),{items:D(),object:t},null,8,["items","object"])]),_:2},1024)]),_:2},1032,["modelValue","options","items","search","server-items-length","loading"])]),_:1})}}},J={__name:"MigrationsView",setup(l){const{$gettext:i}=y();return(V,n)=>(C(),L("div",null,[e(T,{flat:""},{default:o(()=>[e(F,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),e(B)]),_:1}),e(H)]))}},ce=I(J,[["__scopeId","data-v-5f22702f"]]);export{ce as default};
@@ -1 +1 @@
1
- import{_ as P,b as B,n as S,i as E,h as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-Be6X7UaJ.js";import{_ as O}from"./HtmlEditor-CSRAxVCo.js";import{V as W,a as $,b as A,c as D}from"./VTabs-GZimpcz5.js";import{V as G}from"./VAvatar-BAW2MRci.js";import{V as H}from"./VContainer-CTzYfsVd.js";import{a as M,V as q}from"./VCard-DI9bqjLN.js";import{V as J}from"./VSwitch-bLRfr5zT.js";import{V as K}from"./VSelect-BdxqTzW5.js";import{V as Q}from"./VTextarea-PA2LHtN4.js";import{V as R}from"./VColorPicker-C-5tY_au.js";import{V as X}from"./VTextField-Dt3N956g.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=B(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),f=p(0),r=p({}),l=p({}),v=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{v.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=t==="true"),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},v.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&v.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=o=>f.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(v.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:f.value,"onUpdate:modelValue":n[1]||(n[1]=o=>f.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=P(ee,[["__scopeId","data-v-c6f18df9"]]);export{ce as P};
1
+ import{_ as P,b as B,n as S,i as E,h as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-B1bntsLR.js";import{_ as O}from"./HtmlEditor-D753fIAJ.js";import{V as W,a as $,b as A,c as D}from"./VTabs-5XSICLQP.js";import{V as G}from"./VAvatar-JdJfoK0C.js";import{V as H}from"./VContainer-DKMcKasC.js";import{a as M,V as q}from"./VCard-BoH6kjPa.js";import{V as J}from"./VSwitch-Dh_dserW.js";import{a as K}from"./VSelect-D5IXDPEX.js";import{V as Q}from"./VTextarea-Bdy4UKmV.js";import{V as R}from"./VColorPicker-452uc3tY.js";import{V as X}from"./VTextField-QXQFhKxm.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=B(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),f=p(0),r=p({}),l=p({}),v=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{v.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=t==="true"),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},v.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&v.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:f.value,"onUpdate:modelValue":n[0]||(n[0]=o=>f.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(v.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:f.value,"onUpdate:modelValue":n[1]||(n[1]=o=>f.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=P(ee,[["__scopeId","data-v-c6f18df9"]]);export{ce as P};
@@ -0,0 +1 @@
1
+ import{_ as v,b as _,h as e,i as d,z as V,B as h,l as x,a as r,w as u,f as c,o as b,k as g,t as w}from"./index-B1bntsLR.js";import{P}from"./ParametersForm-y02-GM0r.js";import{p as o}from"./parameters-BxAXBXU1.js";import{V as A,a as T}from"./VToolbar-CyrYSqJZ.js";import"./HtmlEditor-D753fIAJ.js";import"./VAvatar-JdJfoK0C.js";import"./tag-BmV84V2s.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VTabs-5XSICLQP.js";import"./VWindowItem-kZpArwK1.js";import"./VSelect-D5IXDPEX.js";import"./VTextField-QXQFhKxm.js";import"./VInput-CbqehdOu.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VContainer-DKMcKasC.js";/* empty css */import"./VCard-BoH6kjPa.js";import"./VSwitch-Dh_dserW.js";import"./VTextarea-Bdy4UKmV.js";import"./VColorPicker-452uc3tY.js";import"./colors-DoZdCu1D.js";import"./VPicker-BUx70Wjg.js";import"./VSheet-HeHw6g5_.js";const k={__name:"ParametersView",setup(B){const{$gettext:n}=_(),p=h(),s=e(""),i=e([]),m=e({}),f=d(()=>n("Settings: "+s.value));function l(t){o.getUserApplicationStructure(t).then(a=>{i.value=a.data}),o.getUserApplication(t).then(a=>{m.value=a.data.params,s.value=a.data.label})}return V(p,t=>{l(t.params.app)}),l(p.params.app),(t,a)=>(b(),x("div",null,[r(A,{flat:""},{default:u(()=>[r(T,null,{default:u(()=>[g(w(f.value),1)]),_:1})]),_:1}),r(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},tt=v(k,[["__scopeId","data-v-3e7380ff"]]);export{tt as default};
@@ -0,0 +1 @@
1
+ import{_ as g,b as S,h as o,i as h,z as V,B as P,l as k,a as l,c as w,w as u,f as n,o as c,k as x,t as G}from"./index-B1bntsLR.js";import{p as r}from"./parameters-BxAXBXU1.js";import{P as A}from"./ParametersForm-y02-GM0r.js";import{V as B,a as T}from"./VToolbar-CyrYSqJZ.js";import{u as N}from"./global.store-DYMmGKpn.js";import{u as $}from"./parameters.store-CATOSoQZ.js";import"./HtmlEditor-D753fIAJ.js";import"./VAvatar-JdJfoK0C.js";import"./tag-BmV84V2s.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VTabs-5XSICLQP.js";import"./VWindowItem-kZpArwK1.js";import"./VSelect-D5IXDPEX.js";import"./VTextField-QXQFhKxm.js";import"./VInput-CbqehdOu.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VContainer-DKMcKasC.js";/* empty css */import"./VCard-BoH6kjPa.js";import"./VSwitch-Dh_dserW.js";import"./VTextarea-Bdy4UKmV.js";import"./VColorPicker-452uc3tY.js";import"./colors-DoZdCu1D.js";import"./VPicker-BUx70Wjg.js";import"./VSheet-HeHw6g5_.js";const y={__name:"ParametersView",setup(E){const{$gettext:f}=S(),d=N(),e=P(),_=$(),p=o([]),s=o({}),i=o(""),v=h(()=>f("Settings: "+i.value));function m(t){r.getGlobalApplicationStructure(t).then(a=>{p.value=a.data}),r.getGlobalApplication(t).then(a=>{s.value=a.data.params,i.value=a.data.label})}function b(t){d.fetchNotifications(),e.params.app==="imap_migration"&&(_.imapMigrationEnabled=t.enabled_imapmigration)}return V(e,t=>{m(t.params.app)}),m(e.params.app),(t,a)=>(c(),k("div",null,[l(B,{flat:""},{default:u(()=>[l(T,null,{default:u(()=>[x(G(v.value),1)]),_:1})]),_:1}),(c(),w(n(A),{key:t.$route.params.app,app:t.$route.params.app,structure:p.value,values:s.value,"save-function":n(r).saveGlobalApplication,onSuccess:b},null,8,["app","structure","values","save-function"]))]))}},mt=g(y,[["__scopeId","data-v-53ef9637"]]);export{mt as default};
@@ -0,0 +1 @@
1
+ import{u as R,a as T,_ as U,p as N}from"./ProviderGeneralForm-eoHMDO5v.js";import{b as S,n as j,q as A,h as v,z as G,l as k,o as i,a,e as w,w as e,k as u,t as n,f as d,c as y,F as q,B as z}from"./index-B1bntsLR.js";import{d as F,V as $}from"./VAvatar-JdJfoK0C.js";import{V as b,c as E,a as B,b as D}from"./VExpansionPanels-BeMgiS7A.js";import{V as g,a as m}from"./VRow-CuVZGqBj.js";import"./domains-CSxtTvUh.js";import"./VTextField-QXQFhKxm.js";import"./tag-BmV84V2s.js";import"./VInput-CbqehdOu.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VAutocomplete-Huaz_-hf.js";import"./VSelect-D5IXDPEX.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./filter-DHKXX97M.js";import"./VForm-DkphQD3e.js";import"./VSpacer-BUxSSJbH.js";/* empty css */import"./VSwitch-Dh_dserW.js";const L={key:0},O={key:0},H={class:"mt-4 d-flex justify-end"},I={__name:"ProviderForm",props:{provider:{type:Object,default:null}},setup(P){const x=P,{$gettext:r}=S(),c=j(),_=A(),V=R(),s=v({domains:[]}),h=v(0),p=v(),f=v();G(()=>x.provider,t=>{t&&(s.value={...t},s.value.domains||(s.value.domains=[]))},{immediate:!0});async function C(){if(p.value){const{valid:t}=await p.value.vFormRef.validate();if(!t)return}if(f.value){const{valid:t}=await f.value.vFormRef.validate();if(!t)return}try{const t={...s.value};t.domains=[];for(const o of s.value.domains)o.new_domain?t.domains.push({name:o.name,new_domain:o.new_domain.pk||o.new_domain.id}):t.domains.push(o);await N.patchProvider(s.value.id,t).then(()=>{c.displayNotification({msg:r("Provider updated")}),V.getProviders(),_.push({name:"ProvidersList"})})}catch(t){p.value&&p.value.$refs.observer.setErrors(t.response.data),f.value&&f.value.$refs.observer.setErrors(t.response.data)}}return(t,o)=>(i(),k(q,null,[a(D,{modelValue:h.value,"onUpdate:modelValue":o[2]||(o[2]=l=>h.value=l)},{default:e(()=>[a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("General")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",L)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[u(n(d(r)("Name:"))+" "+n(s.value.name),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(T,{ref_key:"generalForm",ref:p,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=l=>s.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("Associated domains")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",O)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[s.value.domains.length>0?(i(),y(m,{key:0,cols:"6"},{default:e(()=>[u(n(d(r)("Number of associated domains:"))+" "+n(s.value.domains.length),1)]),_:1})):(i(),y(m,{key:1,cols:"6"},{default:e(()=>[u(n(d(r)("No associated domains")),1)]),_:1}))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(U,{ref_key:"associatedForm",ref:f,modelValue:s.value.domains,"onUpdate:modelValue":o[1]||(o[1]=l=>s.value.domains=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),w("div",H,[a($,{variant:"outlined",onClick:o[3]||(o[3]=l=>t.$router.go(-1))},{default:e(()=>[u(n(d(r)("Cancel")),1)]),_:1}),a($,{class:"ml-4",color:"primary darken-1",variant:"outlined",onClick:C},{default:e(()=>[u(n(d(r)("Save")),1)]),_:1})])],64))}},J={class:"text-h4"},ve={__name:"ProviderEditView",setup(P){const{$gettext:x}=S(),r=z(),c=v({});return N.getProvider(r.params.id).then(_=>{c.value=_.data}),(_,V)=>(i(),k("div",null,[w("span",J,n(d(x)("Edit provider")),1),V[0]||(V[0]=w("div",{class:"mt-4"},null,-1)),a(I,{provider:c.value},null,8,["provider"])]))}};export{ve as default};
@@ -0,0 +1 @@
1
+ import{C as y,E as j,n as z,h as m,G as E,b as M,z as O,g as Y,l as S,o as p,a as r,w as d,f as h,F as x,s as H,c as b,k as P,t as D,i as J,e as R}from"./index-B1bntsLR.js";import{d as Q}from"./domains-CSxtTvUh.js";import{V as F}from"./VTextField-QXQFhKxm.js";import{V as W}from"./VAutocomplete-Huaz_-hf.js";import{V as L,r as A}from"./VForm-DkphQD3e.js";import{V as U,c as C}from"./VAvatar-JdJfoK0C.js";import{V as X}from"./VSpacer-BUxSSJbH.js";import{V as Z}from"./VSelect-D5IXDPEX.js";import{V as ee}from"./VInput-CbqehdOu.js";import{V as ae}from"./VSwitch-Dh_dserW.js";const g="email-providers",w={getProviders(t){return y.get(`/${g}/`,{params:t})},getProvider(t){return y.get(`/${g}/${t}/`)},createProvider(t){return y.post(`/${g}/`,t)},updateProvider(t,l){return y.put(`/${g}/${t}/`,l)},patchProvider(t,l){return y.patch(`/${g}/${t}/`,l)},deleteProvider(t){return y.delete(`/${g}/${t}/`)},checkProvider(t){return y.post(`/${g}/check_connection/`,t)},checkAssociatedDomain(t){return y.post(`/${g}/check_associated_domain/`,t)}},fe=j("providers",()=>{const t=z(),l=m(!1),i=m({}),{$gettext:o}=E;async function c(){l.value=!1,i.value={}}async function v(){return i.value={},l.value=!1,w.getProviders().then(a=>{for(const e of a.data)i.value[e.id]=e;return a}).finally(()=>l.value=!0)}async function k(a){return l.value=!1,w.createProvider(a).then(e=>(i.value[e.data.id]=e.data,e)).finally(()=>l.value=!0)}async function $(a){return l.value=!1,w.deleteProvider(a).then(e=>(delete i.value[a],t.displayNotification({msg:o("Provider deleted")}),e)).finally(()=>l.value=!0)}return{providersLoaded:l,providers:i,getProviders:v,createProvider:k,deleteProvider:$,$reset:c}}),Ve={__name:"ProviderAssociatedForm",props:{modelValue:{type:Array,default:null}},emits:["update:modelValue"],async setup(t,{expose:l,emit:i}){let o,c;const{$gettext:v}=M(),k=t,$=i,a=m([]),e=m(),n=m(),f=m({name:"",new_domain:""}),_=m([]);O(()=>k.modelValue,u=>{u&&(a.value=[...u])},{immediate:!0});async function N(){await e.value.validate()&&w.checkAssociatedDomain(f.value).then(s=>{s.status===200&&(a.value.push({name:f.value.name,new_domain:f.value.new_domain}),$("update:modelValue",a.value),f.value={name:"",new_domain:""})})}function T(u){a.value.splice(u,1),$("update:modelValue",a.value)}function B(u){const s=u.keyCode;(s===13||s===9)&&(N(),u.preventDefault())}function q(u){return console.log(_.value),_.value.find(s=>s.pk===u).name}function G(){return a.value.length===0?v("You need to bind at least one domain to the provider."):!0}l({vFormRef:n});const K=([o,c]=Y(()=>Q.getDomains({page_size:0})),o=await o,c(),o);return _.value=K.data.results,(u,s)=>(p(),S(x,null,[r(L,{ref_key:"formRef",ref:e},{default:d(()=>[r(F,{ref:"initialdomainField",modelValue:f.value.name,"onUpdate:modelValue":s[0]||(s[0]=V=>f.value.name=V),placeholder:h(v)("Name of the domain to migrate"),variant:"outlined",density:"compact",onKeydown:B},null,8,["modelValue","placeholder"]),r(W,{modelValue:f.value.new_domain,"onUpdate:modelValue":s[1]||(s[1]=V=>f.value.new_domain=V),label:h(v)("Local domain (optional)"),items:_.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",clearable:"",onKeydown:B},null,8,["modelValue","label","items"])]),_:1},512),r(U,{icon:"mdi-plus",color:"primary",onClick:N}),r(X),(p(!0),S(x,null,H(a.value,(V,I)=>(p(),b(Z,{key:I,class:"mr-2 mt-2",closable:"","onClick:close":le=>T(I)},{default:d(()=>[V.new_domain?(p(),S(x,{key:0},[P(D(V.name)+" --> "+D(q(V.new_domain)),1)],64)):(p(),S(x,{key:1},[P(D(V.name),1)],64))]),_:2},1032,["onClick:close"]))),128)),r(L,{ref_key:"vFormRef",ref:n},{default:d(()=>[r(ee,{rules:[G]},null,8,["rules"])]),_:1},512)],64))}},te={class:"my-7"},oe={class:"custom-loader"},ye={__name:"ProviderGeneralForm",props:{modelValue:{type:Object,default:null}},setup(t,{expose:l}){const i=t,o=J(()=>i.modelValue),c=m(0),v=m(!1),k=m();async function $(){if(!await k.value.validate())return;v.value=!0;const e={address:o.value.address,port:o.value.port,secured:o.value.secured};w.checkProvider(e).then(()=>{c.value=1}).catch(n=>{console.log(n),c.value=2}).finally(()=>v.value=!1)}return l({vFormRef:k}),(a,e)=>(p(),b(L,{ref_key:"vFormRef",ref:k},{default:d(()=>[r(F,{modelValue:o.value.name,"onUpdate:modelValue":e[0]||(e[0]=n=>o.value.name=n),label:a.$gettext("Provider name"),variant:"outlined",density:"compact",rules:[h(A).required]},null,8,["modelValue","label","rules"]),r(F,{modelValue:o.value.address,"onUpdate:modelValue":e[1]||(e[1]=n=>o.value.address=n),label:a.$gettext("Address (hostname or IP)"),rules:[h(A).required],variant:"outlined",density:"compact"},null,8,["modelValue","label","rules"]),r(F,{modelValue:o.value.port,"onUpdate:modelValue":e[2]||(e[2]=n=>o.value.port=n),label:a.$gettext("IMAP Port"),type:"number",variant:"outlined",density:"compact",rules:[h(A).required,h(A).portNumber]},null,8,["modelValue","label","rules"]),r(ae,{modelValue:o.value.secured,"onUpdate:modelValue":e[3]||(e[3]=n=>o.value.secured=n),label:a.$gettext("Secured"),color:"primary",hint:a.$gettext("Is the IMAP connection secured using SSL/TLS or StartTLS"),"persistent-hint":""},null,8,["modelValue","label","hint"]),R("div",te,[r(U,{loading:v.value,color:"primary",onClick:$},{loader:d(()=>[R("span",oe,[r(C,{light:""},{default:d(()=>[...e[7]||(e[7]=[P("mdi-cached",-1)])]),_:1})])]),default:d(()=>[P(D(a.$gettext("Check connection:"))+" ",1),c.value===0?(p(),b(C,{key:0,color:"blue-grey-darken-2"},{default:d(()=>[...e[4]||(e[4]=[P(" mdi-help-circle-outline ",-1)])]),_:1})):c.value===1?(p(),b(C,{key:1,color:"success"},{default:d(()=>[...e[5]||(e[5]=[P(" mdi-check-all ",-1)])]),_:1})):(p(),b(C,{key:2,color:"warning"},{default:d(()=>[...e[6]||(e[6]=[P(" mdi-alert-circle-outline ",-1)])]),_:1}))]),_:1},8,["loading"])])]),_:1},512))}};export{Ve as _,ye as a,w as p,fe as u};
@@ -0,0 +1 @@
1
+ .highligth{background-color:#515d78}.v-toolbar[data-v-38468b5b],.v-tabs-items[data-v-38468b5b]{background-color:#f7f8fa!important}
@@ -0,0 +1 @@
1
+ import{b as U,n as R,i as N,h as x,c as k,o as u,w as e,a as o,f as g,v as L,e as M,l as A,s as q,F as B,k as p,t as V,x as O,q as W,_ as H}from"./index-B1bntsLR.js";import{_ as J}from"./CreationForm-CjtILq0_.js";import{u as z,_ as K,a as Q}from"./ProviderGeneralForm-eoHMDO5v.js";import{_ as X}from"./MenuItems-dl38msRA.js";import{V as j,a as Y}from"./VMenu-B6SCtOwT.js";import{V as h,c as E}from"./VAvatar-JdJfoK0C.js";import{V as T}from"./VSelect-D5IXDPEX.js";import{V as G,a as Z}from"./VToolbar-CyrYSqJZ.js";import{V as ee}from"./VTextField-QXQFhKxm.js";import{V as te}from"./VSpacer-BUxSSJbH.js";import{V as oe}from"./VDataTable-BkLLfcQK.js";import{a as ae}from"./VCard-BoH6kjPa.js";import{V as se}from"./VDialog-DIUeAIpw.js";import"./ConfirmDialog-Du7aqKbR.js";import"./VRow-CuVZGqBj.js";/* empty css */import"./tag-BmV84V2s.js";import"./logos-95XYS6uH.js";import"./VWindowItem-kZpArwK1.js";import"./ssrBoot-05WtbG6H.js";import"./VContainer-DKMcKasC.js";import"./VSheet-HeHw6g5_.js";import"./VProgressCircular-DTDGzl2O.js";import"./domains-CSxtTvUh.js";import"./VAutocomplete-Huaz_-hf.js";import"./filter-DHKXX97M.js";import"./VInput-CbqehdOu.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VForm-DkphQD3e.js";import"./VSwitch-Dh_dserW.js";import"./VTable-gDsAUSLX.js";const re={__name:"ProviderCreationForm",emits:["close"],setup(D,{emit:i}){const m=i,{$gettext:a}=U(),c=R(),f=z(),F=N(()=>{const n=[];let d=!0;for(const _ of s.value.domains){const I=_.new_domain?`${_.name} => ${_.new_domain.name}`:`${_.name} ${a("(the domain will be created locally)")}`;n.push({key:d?a("Associated domain"):"",value:I}),d=!1}return n}),b=N(()=>[{title:a("General"),items:[{key:a("Name"),value:s.value.name},{key:a("Address"),value:s.value.address},{key:a("Port"),value:s.value.port},{key:a("Secured"),value:s.value.secured,type:"yesno"}]},{title:a("Associated domains"),items:F.value}]),w=[{name:"general",title:a("General")},{name:"associated",title:a("Associated domains")}],s=x({domains:[]}),$=x(),S=x(),C={general:$,associated:S};P();function P(){s.value={name:"",address:"",port:993,secured:!0,domains:[]}}function l(){P(),m("close")}function r(n){return C.value[n.name]}function t(n){return console.log(s.value),C[n.name].value.vFormRef}function v(){}function y(){const n={...s.value};n.domains=[];for(const d of s.value.domains)d.new_domain?n.domains.push({name:d.name,new_domain:d.new_domain.pk}):n.domains.push(d);f.createProvider(n).then(()=>{c.displayNotification({msg:a("Provider created")}),l()})}return(n,d)=>(u(),k(g(J),{ref:"form",title:g(a)("New provider"),steps:w,"form-getter":r,"get-v-form-ref":t,"validate-object":v,"summary-sections":b.value,onClose:l,onCreate:y},{"form.general":e(()=>[o(Q,{ref_key:"general",ref:$,modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=_=>s.value=_),class:"ml-4"},null,8,["modelValue"])]),"form.associated":e(()=>[o(K,{ref_key:"associated",ref:S,modelValue:s.value.domains,"onUpdate:modelValue":d[1]||(d[1]=_=>s.value.domains=_)},null,8,["modelValue"])]),_:2},1032,["title","summary-sections"]))}},ie=["colspan"],ne={__name:"ProvidersList",setup(D){const{$gettext:i}=U(),m=z(),a=W(),c=N(()=>m.providers),f=N(()=>m.providersLoaded),F=[{title:i("Name"),key:"name"},{title:i("Address"),key:"address"},{title:i("Port"),key:"port"},{title:i("Secured"),key:"secured"},{title:i("Associated domains"),key:"domains"},{title:i("Actions"),key:"actions",sortable:!1,align:"right"}],b=x([]),w=x(""),s=x([]);function $(l){m.deleteProvider(l.id)}function S(l){a.push({name:"ProviderEdit",params:{id:l.id}})}function C(){const l=[];return l.push({label:i("Delete"),icon:"mdi-delete-outline",onClick:$,color:"red"}),l.push({label:i("Edit"),icon:"mdi-circle-edit-outline",onClick:S}),l}function P(){m.getProviders()}return f.value||P(),(l,r)=>(u(),k(ae,{class:"mt-6"},{default:e(()=>[o(oe,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=t=>b.value=t),expanded:s.value,"onUpdate:expanded":r[2]||(r[2]=t=>s.value=t),headers:F,items:Object.values(c.value),search:w.value,loading:!f.value,"item-value":"name","single-expand":"","show-select":"","onClick:row":r[3]||(r[3]=(t,v)=>v.expand(!v.isExpanded))},{top:e(()=>[o(G,{color:"white",flat:""},{default:e(()=>[o(ee,{modelValue:w.value,"onUpdate:modelValue":r[0]||(r[0]=t=>w.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:g(i)("Search"),"single-line":"",variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),O(l.$slots,"extraActions"),o(j,{location:"bottom"},{activator:e(({props:t})=>[o(h,L(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:e(()=>[p(V(g(i)("Actions")),1)]),_:1},16)]),default:e(()=>[o(Y,{density:"compact"})]),_:1}),o(h,{variant:"text",icon:"mdi-reload",onClick:P}),o(te)]),_:3})]),"item.secured":e(({item:t})=>[t.secured===!0?(u(),k(E,{key:0,color:"green"},{default:e(()=>[...r[4]||(r[4]=[p(" mdi-lock ",-1)])]),_:1})):(u(),k(E,{key:1,color:"red"},{default:e(()=>[...r[5]||(r[5]=[p(" mdi-lock-off ",-1)])]),_:1}))]),"item.domains":e(({item:t})=>[t.domains.length>0?(u(),k(T,{key:0},{default:e(()=>[p(V(t.domains.length)+" associated domain(s) ",1)]),_:2},1024)):(u(),k(T,{key:1},{default:e(()=>[...r[6]||(r[6]=[p(" No associated domain ",-1)])]),_:1}))]),"expanded-item":e(({headers:t,item:v})=>[M("td",{colspan:t.length},[(u(!0),A(B,null,q(v.domains,(y,n)=>(u(),k(T,{key:n},{default:e(()=>[y.new_domain?(u(),A(B,{key:0},[p(V(y.name)+" --> "+V(y.new_domain.name),1)],64)):(u(),A(B,{key:1},[p(V(y.name)+" --> "+V(y.name),1)],64))]),_:2},1024))),128))],8,ie)]),"item.actions":e(({item:t})=>[o(j,{"offset-y":""},{activator:e(({props:v})=>[o(h,L({icon:"mdi-dots-horizontal",variant:"text"},v),null,16)]),default:e(()=>[o(g(X),{items:C(),obj:t},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","expanded","items","search","loading"])]),_:3}))}},le={__name:"ProvidersView",setup(D){const{$gettext:i}=U(),m=x(!1);return(a,c)=>(u(),A("div",null,[o(G,{flat:""},{default:e(()=>[o(Z,null,{default:e(()=>[p(V(g(i)("Providers")),1)]),_:1})]),_:1}),o(g(ne),null,{extraActions:e(()=>[o(h,{color:"primary",variant:"outlined","prepend-icon":"mdi-plus",onClick:c[0]||(c[0]=f=>m.value=!0)},{default:e(()=>[p(V(a.$pgettext("male","New")),1)]),_:1})]),_:1}),o(se,{modelValue:m.value,"onUpdate:modelValue":c[2]||(c[2]=f=>m.value=f),fullscreen:"",scrollable:"",transition:"dialog-bottom-transition"},{default:e(()=>[o(g(re),{onClose:c[1]||(c[1]=f=>m.value=!1)})]),_:1},8,["modelValue"])]))}},Ie=H(le,[["__scopeId","data-v-38468b5b"]]);export{Ie as default};
@@ -0,0 +1 @@
1
+ import{_ as r}from"./ConnectedLayout-BHWaBAzH.js";import{c as o,w as m,o as p,k as i}from"./index-B1bntsLR.js";import"./theme-myV4ekXo.js";import"./VContainer-DKMcKasC.js";/* empty css */import"./tag-BmV84V2s.js";import"./VApp-B0vRc3-6.js";import"./layout-CjSP_k58.js";import"./ssrBoot-05WtbG6H.js";import"./logos-95XYS6uH.js";import"./layout.store-CF5WRevH.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./global.store-DYMmGKpn.js";import"./VBadge-Cg5iu5LG.js";import"./VCard-BoH6kjPa.js";import"./VRow-CuVZGqBj.js";import"./VSheet-HeHw6g5_.js";const T={__name:"QuarantineLayout",setup(a){return(e,t)=>(p(),o(r,null,{navbar:m(()=>[...t[0]||(t[0]=[i(" ",-1)])]),_:1}))}};export{T as default};
@@ -0,0 +1 @@
1
+ import{b as me,u as pe,n as fe,g as ve,h as n,z as ye,B as G,c as h,w as o,a as l,k as _,t as c,e as k,m as A,aV as ge,f as r,v as Q,l as Y,s as be,F as he,q as W,j as E,o as m}from"./index-B1bntsLR.js";import{d as ke}from"./index-Bp9Fb67E.js";import{u as _e}from"./amavis-DySmsCJQ.js";import{_ as Ve}from"./ConfirmDialog-Du7aqKbR.js";import{a as R}from"./amavis-B4QhM5Fa.js";import{c as $,V as M}from"./VAvatar-JdJfoK0C.js";import{V as x,a as we}from"./VSelect-D5IXDPEX.js";import{V as Se}from"./VTextField-QXQFhKxm.js";import{V as I,a as Ce,b as z}from"./VMenu-B6SCtOwT.js";import{a as O,V as Re}from"./VCard-BoH6kjPa.js";import{a as K,V as b}from"./VRadioGroup-CS9ULZ1c.js";import{V as Me}from"./VDataTableServer-B_6fWBA3.js";import"./permissions-cSkGqV3M.js";import"./parameters-BxAXBXU1.js";import"./VToolbar-CyrYSqJZ.js";import"./tag-BmV84V2s.js";import"./VProgressCircular-DTDGzl2O.js";import"./VSpacer-BUxSSJbH.js";/* empty css */import"./VDialog-DIUeAIpw.js";import"./VInput-CbqehdOu.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./ssrBoot-05WtbG6H.js";import"./VDataTable-BkLLfcQK.js";import"./VTable-gDsAUSLX.js";import"./filter-DHKXX97M.js";const xe={class:"d-flex my-4"},Be={class:"mr-2"},Ue=["title"],Te=["title"],je={__name:"QuarantineList",async setup(J){let p,V;const{$gettext:s}=me(),w=W(),B=G(),P=pe(),{displayNotification:S}=fe(),{manualLearningEnabled:D,learningRecipients:X}=([p,V]=ve(()=>_e()),p=await p,V(),p),U=n(1),T=n(10),f=n(null),F=n(null),i=n(!1),H=n([]),v=n(""),j=n("both"),u=n([]),y=n([]),L=n(0),C=n("all"),Z=[{color:"",key:"all",label:"All"},{color:"success",key:"C",label:"Clean"},{color:"error",key:"S",label:"Spam"},{color:"warning",key:"Y",label:"Spammy"},{color:"error",key:"V",label:"Virus"},{color:"warning",key:"H",label:"Bad Header"},{color:"warning",key:"M",label:"Bad MIME"},{color:"warning",key:"B",label:"Banned"},{color:"warning",key:"O",label:"Over sized"},{color:"warning",key:"T",label:"MTA error"},{color:"",key:"U",label:"Unchecked"}],ee=[{title:"",key:"type",width:"5%"},{title:"",key:"status",width:"5%"},{title:s("Score"),key:"score"},{title:s("To"),key:"to_address"},{title:s("From"),key:"from_address"},{title:s("Subject"),key:"subject"},{title:s("Date"),key:"datetime"}];ye(()=>B.query.requests,()=>{d()});const ae=({item:a})=>({class:a.style}),te=()=>({class:"clickable"}),le=a=>["S","V"].includes(a)?"error":["Y","H","M","B","O","T"].includes(a)?"warning":a==="C"?"success":"",se=a=>a.status==="R"?"mdi-reply":a.status==="S"?"mdi-thumb-down-outline":a.status==="H"?"mdi-thumb-up-outline":"",oe=a=>a.status==="R"?s("Message released"):a.status==="S"?s("Message marked as spam"):a.status==="H"?s("Message marked as non-spam"):"",re=async({page:a,itemsPerPage:t,sortBy:e})=>{U.value=a,T.value=t,y.value=e,d()},d=ke(async()=>{var t;i.value=!0;const a={page:U.value||1,page_size:T.value||10};y.value&&y.value.length&&(a.ordering=y.value.map(e=>e.order!=="asc"?`-${e.key}`:e.key).join(",")),v.value!==""&&(a.search=v.value,a.criteria=j.value),C.value!=="all"&&(a.msgtype=C.value),((t=B.query)==null?void 0:t.requests)==="1"&&(a.viewrequests=1);try{const e=await R.getQuarantineContent(a);H.value=e.data.results,L.value=e.data.count,u.value=[]}finally{i.value=!1}},500),ne=(a,{item:t})=>{w.push({name:"QuarantineMessageView",params:{mailid:t.mailid,rcpt:t.to_address}})},q=()=>{const a={selection:[]};for(const t of u.value)a.selection.push({rcpt:t.to_address,mailid:t.mailid});return a},ie=async()=>{i.value=!0;const a=q();try{await R.deleteSelection(a),d(),S({msg:s("Selection deleted")})}finally{i.value=!1}},ue=async()=>{i.value=!0;const a=q();try{const t=await R.releaseSelection(a);d(),t.data.status==="pending"?S({msg:s("Release request sent")}):S({msg:s("Selection released")})}finally{i.value=!1}},N=async a=>{D.value&&P.authUser.role!==E.USER&&(f.value=P.authUser.role===E.SUPER_ADMIN?"global":"domain",await F.value.open(s("Learning database"),s("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const t=q();t.type=a,f.value&&(t.database=f.value);try{await R.markMessageSelection(t),S({msg:s("Selection is being processed...")}),u.value=[]}finally{i.value=!1}},ce=async()=>{await N("spam")},de=async()=>{await N("ham")};return(a,t)=>(m(),h(O,{class:"mt-6"},{default:o(()=>[l(Me,{modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=e=>u.value=e),headers:ee,items:H.value,search:v.value,loading:i.value,"items-length":L.value,page:U.value,"items-per-page":T.value,"item-value":"mailid",elevation:"0","show-select":"","return-object":"",density:"compact","sort-by":y.value,"row-props":ae,"cell-props":te,"onUpdate:options":re,"onClick:row":ne},{top:o(()=>[k("div",xe,[l(Se,{modelValue:v.value,"onUpdate:modelValue":t[1]||(t[1]=e=>v.value=e),placeholder:r(s)("Search in messages"),variant:"outlined","single-line":"","hide-details":"",class:"flex-grow-0 w-33 mr-4",clearable:"",density:"compact","onClick:clear":r(d),onKeyup:ge(r(d),["enter"])},{"prepend-inner":o(()=>[l(M,{icon:"",variant:"flat",size:"small"},{default:o(()=>[l($,{icon:"mdi-magnify"}),l(I,{activator:"parent"},{default:o(()=>[l(O,null,{default:o(()=>[l(Re,null,{default:o(()=>[l(K,{modelValue:j.value,"onUpdate:modelValue":t[0]||(t[0]=e=>j.value=e)},{default:o(()=>[l(b,{label:r(s)("From address"),value:"from_addr"},null,8,["label"]),l(b,{label:r(s)("Subject"),value:"subject"},null,8,["label"]),l(b,{label:r(s)("To"),value:"to"},null,8,["label"]),l(b,{label:r(s)("both"),value:"both"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","placeholder","onClick:clear","onKeyup"]),l(M,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",disabled:u.value.length===0,title:r(s)("Release selection"),loading:i.value,onClick:ue},null,8,["disabled","title","loading"]),l(M,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",disabled:u.value.length===0,title:r(s)("Delete selection"),loading:i.value,onClick:ie},null,8,["disabled","title","loading"]),r(D)?(m(),h(M,{key:0,class:"ml-2",size:"small",variant:"tonal",icon:"",disabled:u.value.length===0},{default:o(()=>[l($,{icon:"mdi-cog"}),l(I,{activator:"parent"},{default:o(()=>[l(Ce,null,{default:o(()=>[l(z,{title:r(s)("Mark as spam"),onClick:ce},null,8,["title"]),l(z,{title:r(s)("Mark as not spam"),onClick:de},null,8,["title"])]),_:1})]),_:1})]),_:1},8,["disabled"])):A("",!0),l(we,{modelValue:C.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>C.value=e),r(d)],variant:"outlined",items:Z,class:"ml-2 flex-grow-0",density:"compact","item-title":"label","item-value":"key",chips:"","hide-details":""},{chip:o(({props:e,item:g})=>[k("span",Be,c(r(s)("Display")),1),l(x,Q(e,{color:g.raw.color,text:g.raw.label,label:""}),null,16,["color","text"])]),item:o(({props:e,item:g})=>[l(z,Q(e,{title:""}),{default:o(()=>[l(x,{color:g.raw.color,label:""},{default:o(()=>[_(c(g.raw.label),1)]),_:2},1032,["color"])]),_:2},1040)]),_:1},8,["modelValue","onUpdate:modelValue"])])]),"item.type":o(({item:e})=>[l(x,{color:le(e.type),size:"small",label:""},{default:o(()=>[_(c(e.type),1)]),_:2},1032,["color"])]),"item.status":o(({item:e})=>[e.status?(m(),h($,{key:0,icon:se(e),title:oe(e),size:"small"},null,8,["icon","title"])):A("",!0)]),"item.from_address":o(({item:e})=>[k("span",{title:e.from_address},c(a.$truncate(e.from_address,30)),9,Ue)]),"item.subject":o(({item:e})=>[k("span",{title:e.subject},c(a.$truncate(e.subject,30)),9,Te)]),"item.datetime":o(({item:e})=>[_(c(a.$date(e.datetime)),1)]),_:2},1032,["modelValue","items","search","loading","items-length","page","items-per-page","sort-by"]),l(r(Ve),{ref_key:"learningRecipientRef",ref:F},{default:o(()=>[l(K,{modelValue:f.value,"onUpdate:modelValue":t[4]||(t[4]=e=>f.value=e),class:"mt-4","hide-details":""},{default:o(()=>[(m(!0),Y(he,null,be(r(X),e=>(m(),h(b,{key:e.value,value:e.value,label:e.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]),_:1}))}},qe={class:"text-h5 ml-4"},ia={__name:"QuarantineView",setup(J){const p=G(),V=W(),s=()=>{V.replace({name:"QuarantineView"})};return(w,B)=>(m(),Y("div",null,[k("div",qe,[_(c(w.$gettext("Quarantine"))+" ",1),r(p).query.requests==="1"?(m(),h(x,{key:0,color:"primary",variant:"tonal",class:"ml-2",closable:"","onClick:close":s},{default:o(()=>[_(c(w.$gettext("release requests")),1)]),_:1})):A("",!0)]),l(r(je))]))}};export{ia as default};
@@ -0,0 +1 @@
1
+ import{h as p,c as a,f as e,B as l,o as n}from"./index-B1bntsLR.js";import{_ as s}from"./ComposeEmailForm-G3sXQAwI.js";import{a as u}from"./webmail-B7MNMkv_.js";import"./index-Bp9Fb67E.js";import"./VForm-DkphQD3e.js";import"./tag-BmV84V2s.js";import"./VInput-CbqehdOu.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VCard-BoH6kjPa.js";import"./VFileInput-Dvj95FL5.js";import"./VTextField-QXQFhKxm.js";import"./VSelect-D5IXDPEX.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./VSelectionControl-uKY9Zull.js";import"./VTable-gDsAUSLX.js";import"./VSpacer-BUxSSJbH.js";/* empty css */import"./HtmlEditor-D753fIAJ.js";import"./VTextarea-Bdy4UKmV.js";import"./contacts-Df8ptuMn.js";import"./VToolbar-CyrYSqJZ.js";import"./VRow-CuVZGqBj.js";import"./filter-DHKXX97M.js";import"./VDialog-DIUeAIpw.js";const G={__name:"ReplyEmailView",setup(c){const t=l(),o=p(),r=i=>{o.value="",u.getEmailContent(t.query.mailbox,t.query.mailid,{context:"reply",dformat:i?"html":"plain"}).then(m=>{o.value=m.data})};return r(),(i,m)=>(n(),a(e(s),{"original-email":o.value,"reply-all":e(t).query.all==="true",onOnToggleHtmlMode:r},null,8,["original-email","reply-all"]))}};export{G as default};
@@ -1 +1 @@
1
- import{r as p,V as i}from"./VForm-DUC3-Taa.js";import{V as _}from"./VTextField-Dt3N956g.js";import{i as f,h as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as h}from"./index-Be6X7UaJ.js";const B={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=f(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,g)=>(l(),v(i,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",B,k(e.label),1),b(_,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[h(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};
1
+ import{r as p,V as i}from"./VForm-DkphQD3e.js";import{V as _}from"./VTextField-QXQFhKxm.js";import{i as f,h as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as h}from"./index-B1bntsLR.js";const B={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=f(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,g)=>(l(),v(i,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",B,k(e.label),1),b(_,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[h(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};
@@ -0,0 +1 @@
1
+ import{_ as p}from"./ConnectedLayout-BHWaBAzH.js";import{c as m,w as r,o as i,k as o}from"./index-B1bntsLR.js";import"./theme-myV4ekXo.js";import"./VContainer-DKMcKasC.js";/* empty css */import"./tag-BmV84V2s.js";import"./VApp-B0vRc3-6.js";import"./layout-CjSP_k58.js";import"./ssrBoot-05WtbG6H.js";import"./logos-95XYS6uH.js";import"./layout.store-CF5WRevH.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VMenu-B6SCtOwT.js";import"./global.store-DYMmGKpn.js";import"./VBadge-Cg5iu5LG.js";import"./VCard-BoH6kjPa.js";import"./VRow-CuVZGqBj.js";import"./VSheet-HeHw6g5_.js";const T={__name:"SelfServiceLayout",setup(a){return(e,t)=>(i(),m(p,null,{navbar:r(()=>[...t[0]||(t[0]=[o(" ",-1)])]),topbar:r(()=>[...t[1]||(t[1]=[o(" ",-1)])]),_:1}))}};export{T as default};
@@ -0,0 +1,6 @@
1
+ import{b as Z,n as oe,u as ue,i as W,h as y,d as ve,z as de,c as O,o as M,w as d,a as i,k as S,t as g,f,p as fe,e as E,af as ge,ag as Q,$ as Re,F as z,I as Le,J as ze,O as Be,K as Qe,ah as He,ai as Ke,aa as Ge,T as Ye,a7 as ne,a0 as qe,aj as We,a1 as Je,v as ke,U as Xe,y as Ze,ak as Ee,l as D,m as q,s as Me,ae as K,N as je,al as et,_ as tt,j as Ae}from"./index-B1bntsLR.js";import{l as at}from"./languages-CxjoT69j.js";import{_ as ot}from"./AccountPasswordSubForm-DpADntAL.js";import{V as ee,r as te}from"./VForm-DkphQD3e.js";import{V as Ve,c as Se,a as Pe,b as nt}from"./VExpansionPanels-BeMgiS7A.js";import{V as H,a as lt,m as rt}from"./VTextField-QXQFhKxm.js";import{V as st}from"./VAutocomplete-Huaz_-hf.js";import{V as B,c as he}from"./VAvatar-JdJfoK0C.js";import{c as me,V as J,a as X,b as ye}from"./VCard-BoH6kjPa.js";import{V as ce,a as ie}from"./VRow-CuVZGqBj.js";import{V as j}from"./VAlert-CNys_LUS.js";import{e as it}from"./VMenu-B6SCtOwT.js";import{a as ut,V as dt}from"./VProgressCircular-DTDGzl2O.js";import{a as ct,u as ft,m as vt}from"./tag-BmV84V2s.js";import{u as mt,m as ht}from"./VInput-CbqehdOu.js";import{V as Ne}from"./VTable-gDsAUSLX.js";import{V as pt}from"./VSpacer-BUxSSJbH.js";import{V as Fe}from"./VDialog-DIUeAIpw.js";import{V as Te}from"./VTextarea-Bdy4UKmV.js";import{V as Ie}from"./VCheckbox-CCLOJFKF.js";import{_ as pe}from"./ConfirmDialog-Du7aqKbR.js";import{V as gt}from"./VDataTableVirtual-Ike7oqcC.js";import{V as yt,a as _t}from"./VToolbar-CyrYSqJZ.js";import{V as bt,a as wt,b as re,c as se}from"./VTabs-5XSICLQP.js";import"./accounts-DqbBlaLK.js";import"./VSwitch-Dh_dserW.js";import"./VSelectionControl-uKY9Zull.js";import"./VSelect-D5IXDPEX.js";import"./VCheckboxBtn-Ccl786Rg.js";import"./filter-DHKXX97M.js";/* empty css */import"./ssrBoot-05WtbG6H.js";import"./VDataTable-BkLLfcQK.js";import"./VWindowItem-kZpArwK1.js";const Ct={class:"m-label"},kt={class:"m-label"},Et={class:"m-label"},At={class:"text-disabled"},Vt={href:"https://explore.transifex.com/tonio/modoboa/",target:"_blank"},St={href:"https://github.com/modoboa/modoboa/issues/new/choose",target:"_blank"},Pt={class:"m-label"},Rt={class:"m-label"},Mt={__name:"ProfileForm",setup(r){const{$gettext:s,available:v}=Z(),l=oe(),m=ue(),p=W(()=>m.authUser),o=y({}),e=y(),t=y(),a=y({}),n=y([]),u=y(0),c=y(!1),h=y(!1),b=y("");function w(P){o.value={first_name:P.first_name,last_name:P.last_name,language:P.language,phone_number:P.phone_number,secondary_email:P.secondary_email}}async function F(){const{valid:P}=await e.value.validate();P&&(c.value=!0,m.updateAccount(o.value).then(()=>{l.displayNotification({msg:s("Profile updated")}),m.accountLanguage in v||(b.value=s("Language does no exist"))}).finally(()=>c.value=!1))}async function N(){const{valid:P}=await t.value.validate();if(P){h.value=!0;try{await m.updatePassword({password:o.value.password,new_password:o.value.new_password}),l.displayNotification({msg:s("Password updated")}),t.value.reset()}catch(_){_.status===400&&(a.value=_.response.data)}finally{h.value=!1}}}return ve(()=>{w(p.value),at.getAll().then(P=>{n.value=P.data})}),de(()=>p,P=>{P?w(P):o.value={}}),(P,_)=>(M(),O(nt,{modelValue:u.value,"onUpdate:modelValue":_[6]||(_[6]=C=>u.value=C),flat:""},{default:d(()=>[i(Ve,null,{default:d(()=>[i(Se,null,{default:d(()=>[S(g(f(s)("General settings")),1)]),_:1}),i(Pe,null,{default:d(()=>[i(ee,{ref_key:"profileForm",ref:e,onSubmit:fe(F,["prevent"])},{default:d(()=>[E("label",Ct,g(f(s)("First name")),1),i(H,{modelValue:o.value.first_name,"onUpdate:modelValue":_[0]||(_[0]=C=>o.value.first_name=C),variant:"outlined",density:"compact"},null,8,["modelValue"]),E("label",kt,g(f(s)("Last name")),1),i(H,{modelValue:o.value.last_name,"onUpdate:modelValue":_[1]||(_[1]=C=>o.value.last_name=C),variant:"outlined",density:"compact"},null,8,["modelValue"]),E("label",Et,[S(g(f(s)("Language"))+" ",1),E("p",At,[S(g(f(s)("Feel free to improve the translations"))+" ",1),E("a",Vt,g(f(s)("here")),1),S(" "+g(f(s)("or suggest a new language"))+" ",1),E("a",St,g(f(s)("there")),1)])]),i(st,{modelValue:o.value.language,"onUpdate:modelValue":_[2]||(_[2]=C=>o.value.language=C),items:n.value,"item-title":"label","item-value":"code",variant:"outlined",density:"compact","error-messages":b.value},null,8,["modelValue","items","error-messages"]),E("label",Pt,g(f(s)("Phone number")),1),i(H,{modelValue:o.value.phone_number,"onUpdate:modelValue":_[3]||(_[3]=C=>o.value.phone_number=C),label:f(s)("Phone number"),variant:"outlined",density:"compact"},null,8,["modelValue","label"]),E("label",Rt,g(f(s)("Secondary email")),1),i(H,{modelValue:o.value.secondary_email,"onUpdate:modelValue":_[4]||(_[4]=C=>o.value.secondary_email=C),variant:"outlined",density:"compact",rules:[f(te).emailOrNull]},null,8,["modelValue","rules"]),i(B,{color:"success",type:"submit",loading:c.value},{default:d(()=>[S(g(f(s)("Update settings")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}),i(Ve,null,{default:d(()=>[i(Se,null,{default:d(()=>[S(g(f(s)("Password")),1)]),_:1}),i(Pe,null,{default:d(()=>[i(ee,{ref_key:"passwordForm",ref:t,onSubmit:fe(N,["prevent"])},{default:d(()=>[i(ot,{modelValue:o.value,"onUpdate:modelValue":_[5]||(_[5]=C=>o.value=C),"form-errors":a.value,"with-password-check":""},null,8,["modelValue","form-errors"]),i(B,{color:"success",type:"submit",loading:h.value},{default:d(()=>[S(g(f(s)("Update Password")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1})]),_:1},8,["modelValue"]))}};/*!
2
+ * qrcode.vue v3.6.0
3
+ * A Vue.js component to generate QRCode. Both support Vue 2 and Vue 3
4
+ * © 2017-PRESENT @scopewu(https://github.com/scopewu)
5
+ * MIT License.
6
+ */var Y=function(){return Y=Object.assign||function(s){for(var v,l=1,m=arguments.length;l<m;l++){v=arguments[l];for(var p in v)Object.prototype.hasOwnProperty.call(v,p)&&(s[p]=v[p])}return s},Y.apply(this,arguments)};var ae;(function(r){var s=(function(){function o(e,t,a,n){if(this.version=e,this.errorCorrectionLevel=t,this.modules=[],this.isFunction=[],e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version value out of range");if(n<-1||n>7)throw new RangeError("Mask value out of range");this.size=e*4+17;for(var u=[],c=0;c<this.size;c++)u.push(!1);for(var c=0;c<this.size;c++)this.modules.push(u.slice()),this.isFunction.push(u.slice());this.drawFunctionPatterns();var h=this.addEccAndInterleave(a);if(this.drawCodewords(h),n==-1)for(var b=1e9,c=0;c<8;c++){this.applyMask(c),this.drawFormatBits(c);var w=this.getPenaltyScore();w<b&&(n=c,b=w),this.applyMask(c)}m(0<=n&&n<=7),this.mask=n,this.applyMask(n),this.drawFormatBits(n),this.isFunction=[]}return o.encodeText=function(e,t){var a=r.QrSegment.makeSegments(e);return o.encodeSegments(a,t)},o.encodeBinary=function(e,t){var a=r.QrSegment.makeBytes(e);return o.encodeSegments([a],t)},o.encodeSegments=function(e,t,a,n,u,c){if(a===void 0&&(a=1),n===void 0&&(n=40),u===void 0&&(u=-1),c===void 0&&(c=!0),!(o.MIN_VERSION<=a&&a<=n&&n<=o.MAX_VERSION)||u<-1||u>7)throw new RangeError("Invalid value");var h,b;for(h=a;;h++){var w=o.getNumDataCodewords(h,t)*8,F=p.getTotalBits(e,h);if(F<=w){b=F;break}if(h>=n)throw new RangeError("Data too long")}for(var N=0,P=[o.Ecc.MEDIUM,o.Ecc.QUARTILE,o.Ecc.HIGH];N<P.length;N++){var _=P[N];c&&b<=o.getNumDataCodewords(h,_)*8&&(t=_)}for(var C=[],A=0,R=e;A<R.length;A++){var k=R[A];v(k.mode.modeBits,4,C),v(k.numChars,k.mode.numCharCountBits(h),C);for(var L=0,x=k.getData();L<x.length;L++){var V=x[L];C.push(V)}}m(C.length==b);var T=o.getNumDataCodewords(h,t)*8;m(C.length<=T),v(0,Math.min(4,T-C.length),C),v(0,(8-C.length%8)%8,C),m(C.length%8==0);for(var I=236;C.length<T;I^=253)v(I,8,C);for(var $=[];$.length*8<C.length;)$.push(0);return C.forEach(function(U,G){return $[G>>>3]|=U<<7-(G&7)}),new o(h,t,$,u)},o.prototype.getModule=function(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]},o.prototype.getModules=function(){return this.modules},o.prototype.drawFunctionPatterns=function(){for(var e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);for(var t=this.getAlignmentPatternPositions(),a=t.length,e=0;e<a;e++)for(var n=0;n<a;n++)e==0&&n==0||e==0&&n==a-1||e==a-1&&n==0||this.drawAlignmentPattern(t[e],t[n]);this.drawFormatBits(0),this.drawVersion()},o.prototype.drawFormatBits=function(e){for(var t=this.errorCorrectionLevel.formatBits<<3|e,a=t,n=0;n<10;n++)a=a<<1^(a>>>9)*1335;var u=(t<<10|a)^21522;m(u>>>15==0);for(var n=0;n<=5;n++)this.setFunctionModule(8,n,l(u,n));this.setFunctionModule(8,7,l(u,6)),this.setFunctionModule(8,8,l(u,7)),this.setFunctionModule(7,8,l(u,8));for(var n=9;n<15;n++)this.setFunctionModule(14-n,8,l(u,n));for(var n=0;n<8;n++)this.setFunctionModule(this.size-1-n,8,l(u,n));for(var n=8;n<15;n++)this.setFunctionModule(8,this.size-15+n,l(u,n));this.setFunctionModule(8,this.size-8,!0)},o.prototype.drawVersion=function(){if(!(this.version<7)){for(var e=this.version,t=0;t<12;t++)e=e<<1^(e>>>11)*7973;var a=this.version<<12|e;m(a>>>18==0);for(var t=0;t<18;t++){var n=l(a,t),u=this.size-11+t%3,c=Math.floor(t/3);this.setFunctionModule(u,c,n),this.setFunctionModule(c,u,n)}}},o.prototype.drawFinderPattern=function(e,t){for(var a=-4;a<=4;a++)for(var n=-4;n<=4;n++){var u=Math.max(Math.abs(n),Math.abs(a)),c=e+n,h=t+a;0<=c&&c<this.size&&0<=h&&h<this.size&&this.setFunctionModule(c,h,u!=2&&u!=4)}},o.prototype.drawAlignmentPattern=function(e,t){for(var a=-2;a<=2;a++)for(var n=-2;n<=2;n++)this.setFunctionModule(e+n,t+a,Math.max(Math.abs(n),Math.abs(a))!=1)},o.prototype.setFunctionModule=function(e,t,a){this.modules[t][e]=a,this.isFunction[t][e]=!0},o.prototype.addEccAndInterleave=function(e){var t=this.version,a=this.errorCorrectionLevel;if(e.length!=o.getNumDataCodewords(t,a))throw new RangeError("Invalid argument");for(var n=o.NUM_ERROR_CORRECTION_BLOCKS[a.ordinal][t],u=o.ECC_CODEWORDS_PER_BLOCK[a.ordinal][t],c=Math.floor(o.getNumRawDataModules(t)/8),h=n-c%n,b=Math.floor(c/n),w=[],F=o.reedSolomonComputeDivisor(u),N=0,P=0;N<n;N++){var _=e.slice(P,P+b-u+(N<h?0:1));P+=_.length;var C=o.reedSolomonComputeRemainder(_,F);N<h&&_.push(0),w.push(_.concat(C))}for(var A=[],R=function(k){w.forEach(function(L,x){(k!=b-u||x>=h)&&A.push(L[k])})},N=0;N<w[0].length;N++)R(N);return m(A.length==c),A},o.prototype.drawCodewords=function(e){if(e.length!=Math.floor(o.getNumRawDataModules(this.version)/8))throw new RangeError("Invalid argument");for(var t=0,a=this.size-1;a>=1;a-=2){a==6&&(a=5);for(var n=0;n<this.size;n++)for(var u=0;u<2;u++){var c=a-u,h=(a+1&2)==0,b=h?this.size-1-n:n;!this.isFunction[b][c]&&t<e.length*8&&(this.modules[b][c]=l(e[t>>>3],7-(t&7)),t++)}}m(t==e.length*8)},o.prototype.applyMask=function(e){if(e<0||e>7)throw new RangeError("Mask value out of range");for(var t=0;t<this.size;t++)for(var a=0;a<this.size;a++){var n=void 0;switch(e){case 0:n=(a+t)%2==0;break;case 1:n=t%2==0;break;case 2:n=a%3==0;break;case 3:n=(a+t)%3==0;break;case 4:n=(Math.floor(a/3)+Math.floor(t/2))%2==0;break;case 5:n=a*t%2+a*t%3==0;break;case 6:n=(a*t%2+a*t%3)%2==0;break;case 7:n=((a+t)%2+a*t%3)%2==0;break;default:throw new Error("Unreachable")}!this.isFunction[t][a]&&n&&(this.modules[t][a]=!this.modules[t][a])}},o.prototype.getPenaltyScore=function(){for(var e=0,t=0;t<this.size;t++){for(var a=!1,n=0,u=[0,0,0,0,0,0,0],c=0;c<this.size;c++)this.modules[t][c]==a?(n++,n==5?e+=o.PENALTY_N1:n>5&&e++):(this.finderPenaltyAddHistory(n,u),a||(e+=this.finderPenaltyCountPatterns(u)*o.PENALTY_N3),a=this.modules[t][c],n=1);e+=this.finderPenaltyTerminateAndCount(a,n,u)*o.PENALTY_N3}for(var c=0;c<this.size;c++){for(var a=!1,h=0,u=[0,0,0,0,0,0,0],t=0;t<this.size;t++)this.modules[t][c]==a?(h++,h==5?e+=o.PENALTY_N1:h>5&&e++):(this.finderPenaltyAddHistory(h,u),a||(e+=this.finderPenaltyCountPatterns(u)*o.PENALTY_N3),a=this.modules[t][c],h=1);e+=this.finderPenaltyTerminateAndCount(a,h,u)*o.PENALTY_N3}for(var t=0;t<this.size-1;t++)for(var c=0;c<this.size-1;c++){var b=this.modules[t][c];b==this.modules[t][c+1]&&b==this.modules[t+1][c]&&b==this.modules[t+1][c+1]&&(e+=o.PENALTY_N2)}for(var w=0,F=0,N=this.modules;F<N.length;F++){var P=N[F];w=P.reduce(function(A,R){return A+(R?1:0)},w)}var _=this.size*this.size,C=Math.ceil(Math.abs(w*20-_*10)/_)-1;return m(0<=C&&C<=9),e+=C*o.PENALTY_N4,m(0<=e&&e<=2568888),e},o.prototype.getAlignmentPatternPositions=function(){if(this.version==1)return[];for(var e=Math.floor(this.version/7)+2,t=Math.floor((this.version*8+e*3+5)/(e*4-4))*2,a=[6],n=this.size-7;a.length<e;n-=t)a.splice(1,0,n);return a},o.getNumRawDataModules=function(e){if(e<o.MIN_VERSION||e>o.MAX_VERSION)throw new RangeError("Version number out of range");var t=(16*e+128)*e+64;if(e>=2){var a=Math.floor(e/7)+2;t-=(25*a-10)*a-55,e>=7&&(t-=36)}return m(208<=t&&t<=29648),t},o.getNumDataCodewords=function(e,t){return Math.floor(o.getNumRawDataModules(e)/8)-o.ECC_CODEWORDS_PER_BLOCK[t.ordinal][e]*o.NUM_ERROR_CORRECTION_BLOCKS[t.ordinal][e]},o.reedSolomonComputeDivisor=function(e){if(e<1||e>255)throw new RangeError("Degree out of range");for(var t=[],a=0;a<e-1;a++)t.push(0);t.push(1);for(var n=1,a=0;a<e;a++){for(var u=0;u<t.length;u++)t[u]=o.reedSolomonMultiply(t[u],n),u+1<t.length&&(t[u]^=t[u+1]);n=o.reedSolomonMultiply(n,2)}return t},o.reedSolomonComputeRemainder=function(e,t){for(var a=t.map(function(b){return 0}),n=function(b){var w=b^a.shift();a.push(0),t.forEach(function(F,N){return a[N]^=o.reedSolomonMultiply(F,w)})},u=0,c=e;u<c.length;u++){var h=c[u];n(h)}return a},o.reedSolomonMultiply=function(e,t){if(e>>>8||t>>>8)throw new RangeError("Byte out of range");for(var a=0,n=7;n>=0;n--)a=a<<1^(a>>>7)*285,a^=(t>>>n&1)*e;return m(a>>>8==0),a},o.prototype.finderPenaltyCountPatterns=function(e){var t=e[1];m(t<=this.size*3);var a=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(a&&e[0]>=t*4&&e[6]>=t?1:0)+(a&&e[6]>=t*4&&e[0]>=t?1:0)},o.prototype.finderPenaltyTerminateAndCount=function(e,t,a){return e&&(this.finderPenaltyAddHistory(t,a),t=0),t+=this.size,this.finderPenaltyAddHistory(t,a),this.finderPenaltyCountPatterns(a)},o.prototype.finderPenaltyAddHistory=function(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)},o.MIN_VERSION=1,o.MAX_VERSION=40,o.PENALTY_N1=3,o.PENALTY_N2=3,o.PENALTY_N3=40,o.PENALTY_N4=10,o.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],o.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],o})();r.QrCode=s;function v(o,e,t){if(e<0||e>31||o>>>e)throw new RangeError("Value out of range");for(var a=e-1;a>=0;a--)t.push(o>>>a&1)}function l(o,e){return(o>>>e&1)!=0}function m(o){if(!o)throw new Error("Assertion error")}var p=(function(){function o(e,t,a){if(this.mode=e,this.numChars=t,this.bitData=a,t<0)throw new RangeError("Invalid argument");this.bitData=a.slice()}return o.makeBytes=function(e){for(var t=[],a=0,n=e;a<n.length;a++){var u=n[a];v(u,8,t)}return new o(o.Mode.BYTE,e.length,t)},o.makeNumeric=function(e){if(!o.isNumeric(e))throw new RangeError("String contains non-numeric characters");for(var t=[],a=0;a<e.length;){var n=Math.min(e.length-a,3);v(parseInt(e.substring(a,a+n),10),n*3+1,t),a+=n}return new o(o.Mode.NUMERIC,e.length,t)},o.makeAlphanumeric=function(e){if(!o.isAlphanumeric(e))throw new RangeError("String contains unencodable characters in alphanumeric mode");var t=[],a;for(a=0;a+2<=e.length;a+=2){var n=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a))*45;n+=o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a+1)),v(n,11,t)}return a<e.length&&v(o.ALPHANUMERIC_CHARSET.indexOf(e.charAt(a)),6,t),new o(o.Mode.ALPHANUMERIC,e.length,t)},o.makeSegments=function(e){return e==""?[]:o.isNumeric(e)?[o.makeNumeric(e)]:o.isAlphanumeric(e)?[o.makeAlphanumeric(e)]:[o.makeBytes(o.toUtf8ByteArray(e))]},o.makeEci=function(e){var t=[];if(e<0)throw new RangeError("ECI assignment value out of range");if(e<128)v(e,8,t);else if(e<16384)v(2,2,t),v(e,14,t);else if(e<1e6)v(6,3,t),v(e,21,t);else throw new RangeError("ECI assignment value out of range");return new o(o.Mode.ECI,0,t)},o.isNumeric=function(e){return o.NUMERIC_REGEX.test(e)},o.isAlphanumeric=function(e){return o.ALPHANUMERIC_REGEX.test(e)},o.prototype.getData=function(){return this.bitData.slice()},o.getTotalBits=function(e,t){for(var a=0,n=0,u=e;n<u.length;n++){var c=u[n],h=c.mode.numCharCountBits(t);if(c.numChars>=1<<h)return 1/0;a+=4+h+c.bitData.length}return a},o.toUtf8ByteArray=function(e){e=encodeURI(e);for(var t=[],a=0;a<e.length;a++)e.charAt(a)!="%"?t.push(e.charCodeAt(a)):(t.push(parseInt(e.substring(a+1,a+3),16)),a+=2);return t},o.NUMERIC_REGEX=/^[0-9]*$/,o.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,o.ALPHANUMERIC_CHARSET="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:",o})();r.QrSegment=p})(ae||(ae={}));(function(r){(function(s){var v=(function(){function l(m,p){this.ordinal=m,this.formatBits=p}return l.LOW=new l(0,1),l.MEDIUM=new l(1,0),l.QUARTILE=new l(2,3),l.HIGH=new l(3,2),l})();s.Ecc=v})(r.QrCode||(r.QrCode={}))})(ae||(ae={}));(function(r){(function(s){var v=(function(){function l(m,p){this.modeBits=m,this.numBitsCharCount=p}return l.prototype.numCharCountBits=function(m){return this.numBitsCharCount[Math.floor((m+7)/17)]},l.NUMERIC=new l(1,[10,12,14]),l.ALPHANUMERIC=new l(2,[9,11,13]),l.BYTE=new l(4,[8,16,16]),l.KANJI=new l(8,[8,10,12]),l.ECI=new l(7,[0,0,0]),l})();s.Mode=v})(r.QrSegment||(r.QrSegment={}))})(ae||(ae={}));var le=ae,_e="L",be={L:le.QrCode.Ecc.LOW,M:le.QrCode.Ecc.MEDIUM,Q:le.QrCode.Ecc.QUARTILE,H:le.QrCode.Ecc.HIGH},Nt=(function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0})();function we(r){return r in be}function Ue(r,s){s===void 0&&(s=0);var v=[];return r.forEach(function(l,m){var p=null;l.forEach(function(o,e){if(!o&&p!==null){v.push("M".concat(p+s," ").concat(m+s,"h").concat(e-p,"v1H").concat(p+s,"z")),p=null;return}if(e===l.length-1){if(!o)return;p===null?v.push("M".concat(e+s,",").concat(m+s," h1v1H").concat(e+s,"z")):v.push("M".concat(p+s,",").concat(m+s," h").concat(e+1-p,"v1H").concat(p+s,"z"));return}o&&p===null&&(p=e)})}),v.join("")}function $e(r,s,v,l){var m=l.width,p=l.height,o=l.x,e=l.y,t=r.length+v*2,a=Math.floor(s*.1),n=t/s,u=(m||a)*n,c=(p||a)*n,h=o==null?r.length/2-u/2:o*n,b=e==null?r.length/2-c/2:e*n,w=null;if(l.excavate){var F=Math.floor(h),N=Math.floor(b),P=Math.ceil(u+h-F),_=Math.ceil(c+b-N);w={x:F,y:N,w:P,h:_}}return{x:h,y:b,h:c,w:u,excavation:w}}function De(r,s){return r.slice().map(function(v,l){return l<s.y||l>=s.y+s.h?v:v.map(function(m,p){return p<s.x||p>=s.x+s.w?m:!1})})}var Ce={value:{type:String,required:!0,default:""},size:{type:Number,default:100},level:{type:String,default:_e,validator:function(r){return we(r)}},background:{type:String,default:"#fff"},foreground:{type:String,default:"#000"},margin:{type:Number,required:!1,default:0},imageSettings:{type:Object,required:!1,default:function(){return{}}},gradient:{type:Boolean,required:!1,default:!1},gradientType:{type:String,required:!1,default:"linear",validator:function(r){return["linear","radial"].indexOf(r)>-1}},gradientStartColor:{type:String,required:!1,default:"#000"},gradientEndColor:{type:String,required:!1,default:"#fff"}},Ft=Y(Y({},Ce),{renderAs:{type:String,required:!1,default:"canvas",validator:function(r){return["canvas","svg"].indexOf(r)>-1}}}),Tt=ge({name:"QRCodeSvg",props:Ce,setup:function(r){var s=y(0),v=y(""),l,m=function(){var o=r.value,e=r.level,t=r.margin,a=t>>>0,n=we(e)?e:_e,u=le.QrCode.encodeText(o,be[n]).getModules();if(s.value=u.length+a*2,r.imageSettings.src){var c=$e(u,r.size,a,r.imageSettings);l={x:c.x+a,y:c.y+a,width:c.w,height:c.h},c.excavation&&(u=De(u,c.excavation))}v.value=Ue(u,a)},p=function(){if(!r.gradient)return null;var o=r.gradientType==="linear"?{x1:"0%",y1:"0%",x2:"100%",y2:"100%"}:{cx:"50%",cy:"50%",r:"50%",fx:"50%",fy:"50%"};return Q(r.gradientType==="linear"?"linearGradient":"radialGradient",Y({id:"qr-gradient"},o),[Q("stop",{offset:"0%",style:{stopColor:r.gradientStartColor}}),Q("stop",{offset:"100%",style:{stopColor:r.gradientEndColor}})])};return m(),Re(m),function(){return Q("svg",{width:r.size,height:r.size,"shape-rendering":"crispEdges",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(s.value," ").concat(s.value)},[Q("defs",{},[p()]),Q("rect",{width:"100%",height:"100%",fill:r.background}),Q("path",{fill:r.gradient?"url(#qr-gradient)":r.foreground,d:v.value}),r.imageSettings.src&&Q("image",Y({href:r.imageSettings.src},l))])}}}),It=ge({name:"QRCodeCanvas",props:Ce,setup:function(r,s){var v=y(null),l=y(null),m=function(){var o=r.value,e=r.level,t=r.size,a=r.margin,n=r.background,u=r.foreground,c=r.gradient,h=r.gradientType,b=r.gradientStartColor,w=r.gradientEndColor,F=a>>>0,N=we(e)?e:_e,P=v.value;if(P){var _=P.getContext("2d");if(_){var C=le.QrCode.encodeText(o,be[N]).getModules(),A=C.length+F*2,R=l.value,k={x:0,y:0,width:0,height:0},L=r.imageSettings.src&&R!=null&&R.naturalWidth!==0&&R.naturalHeight!==0;if(L){var x=$e(C,r.size,F,r.imageSettings);k={x:x.x+F,y:x.y+F,width:x.w,height:x.h},x.excavation&&(C=De(C,x.excavation))}var V=window.devicePixelRatio||1,T=t/A*V;if(P.height=P.width=t*V,_.scale(T,T),_.fillStyle=n,_.fillRect(0,0,A,A),c){var I=void 0;h==="linear"?I=_.createLinearGradient(0,0,A,A):I=_.createRadialGradient(A/2,A/2,0,A/2,A/2,A/2),I.addColorStop(0,b),I.addColorStop(1,w),_.fillStyle=I}else _.fillStyle=u;Nt?_.fill(new Path2D(Ue(C,F))):C.forEach(function($,U){$.forEach(function(G,Oe){G&&_.fillRect(Oe+F,U+F,1,1)})}),L&&_.drawImage(R,k.x,k.y,k.width,k.height)}}};ve(m),Re(m);var p=s.attrs.style;return function(){return Q(z,[Q("canvas",Y(Y({},s.attrs),{ref:v,style:Y(Y({},p),{width:"".concat(r.size,"px"),height:"".concat(r.size,"px")})})),r.imageSettings.src&&Q("img",{ref:l,src:r.imageSettings.src,style:{display:"none"},onLoad:m})])}}}),Ut=ge({name:"Qrcode",render:function(){var r=this.$props,s=r.renderAs,v=r.value,l=r.size,m=r.margin,p=r.level,o=r.background,e=r.foreground,t=r.imageSettings,a=r.gradient,n=r.gradientType,u=r.gradientStartColor,c=r.gradientEndColor;return Q(s==="svg"?Tt:It,{value:v,size:l,margin:m,level:p,background:o,foreground:e,imageSettings:t,gradient:a,gradientType:n,gradientStartColor:u,gradientEndColor:c})},props:Ft});const $t=ze({autofocus:Boolean,divider:String,focusAll:Boolean,label:{type:String,default:"$vuetify.input.otp"},length:{type:[Number,String],default:6},modelValue:{type:[Number,String],default:void 0},placeholder:String,type:{type:String,default:"number"},...vt(),...ht(),...Xe(rt({variant:"outlined"}),["baseColor","bgColor","class","color","disabled","error","loading","rounded","style","theme","variant"])},"VOtpInput"),Dt=Le()({name:"VOtpInput",props:$t(),emits:{finish:r=>!0,"update:focused":r=>!0,"update:modelValue":r=>!0},setup(r,s){let{attrs:v,emit:l,slots:m}=s;const{dimensionStyles:p}=ct(r),{isFocused:o,focus:e,blur:t}=mt(r),a=Be(r,"modelValue","",V=>V==null?[]:String(V).split(""),V=>V.join("")),{t:n}=Qe(),u=W(()=>Number(r.length)),c=W(()=>Array(u.value).fill(0)),h=y(-1),b=y(),w=y([]),F=W(()=>w.value[h.value]);let N=!1;He(()=>r.autofocus,()=>{const V=Ke();V.run(()=>{const{intersectionRef:T,isIntersecting:I}=ut();Ge(()=>{T.value=w.value[0]}),de(I,$=>{var U;$&&((U=T.value)==null||U.focus(),V.stop())})})});function P(){if(x(F.value.value)){F.value.value="";return}if(N)return;const V=a.value.slice(),T=F.value.value;V[h.value]=T;let I=null;h.value>a.value.length?I=a.value.length+1:h.value+1!==u.value&&(I="next"),a.value=V,I&&Ee(b.value,I)}function _(){N=!1,P()}function C(V){const T=a.value.slice(),I=h.value;let $=null;["ArrowLeft","ArrowRight","Backspace","Delete"].includes(V.key)&&(V.preventDefault(),V.key==="ArrowLeft"?$="prev":V.key==="ArrowRight"?$="next":["Backspace","Delete"].includes(V.key)&&(T[h.value]="",a.value=T,h.value>0&&V.key==="Backspace"?$="prev":requestAnimationFrame(()=>{var U;(U=w.value[I])==null||U.select()})),requestAnimationFrame(()=>{$!=null&&Ee(b.value,$)}))}function A(V,T){var U;T.preventDefault(),T.stopPropagation();const I=((U=T==null?void 0:T.clipboardData)==null?void 0:U.getData("Text").trim().slice(0,u.value))??"",$=I.length-1===-1?V:I.length-1;x(I)||(a.value=I.split(""),h.value=$)}function R(){a.value=[]}function k(V,T){e(),h.value=T}function L(){t(),h.value=-1}function x(V){return r.type==="number"&&/[^0-9]/g.test(V)}return Ye({VField:{color:ne(()=>r.color),bgColor:ne(()=>r.color),baseColor:ne(()=>r.baseColor),disabled:ne(()=>r.disabled),error:ne(()=>r.error),variant:ne(()=>r.variant)}},{scoped:!0}),de(a,V=>{V.length===u.value&&l("finish",V.join(""))},{deep:!0}),de(h,V=>{V<0||qe(()=>{var T;(T=w.value[V])==null||T.select()})}),ft(()=>{var I;const[V,T]=We(v);return E("div",ke({class:["v-otp-input",{"v-otp-input--divided":!!r.divider},r.class],style:[r.style]},V),[E("div",{ref:b,class:"v-otp-input__content",style:Je([p.value])},[c.value.map(($,U)=>E(z,null,[r.divider&&U!==0&&E("span",{class:"v-otp-input__divider"},[r.divider]),i(lt,{focused:o.value&&r.focusAll||h.value===U,key:U},{...m,loader:void 0,default:()=>E("input",{ref:G=>w.value[U]=G,"aria-label":n(r.label,U+1),autofocus:U===0&&r.autofocus,autocomplete:"one-time-code",class:Ze(["v-otp-input__field"]),disabled:r.disabled,inputmode:r.type==="number"?"numeric":"text",min:r.type==="number"?0:void 0,maxlength:U===0?u.value:"1",placeholder:r.placeholder,type:r.type==="number"?"text":r.type,value:a.value[U],onInput:P,onFocus:G=>k(G,U),onBlur:L,onKeydown:C,onCompositionstart:()=>N=!0,onCompositionend:_,onPaste:G=>A(U,G)},null)})])),E("input",ke({class:"v-otp-input-input",type:"hidden"},T,{value:a.value.join("")}),null),i(it,{contained:!0,contentClass:"v-otp-input__loader",modelValue:!!r.loading,persistent:!0},{default:()=>{var $;return[(($=m.loader)==null?void 0:$.call(m))??i(dt,{color:typeof r.loading=="boolean"?void 0:r.loading,indeterminate:!0,size:"24",width:"2"},null)]}}),(I=m.default)==null?void 0:I.call(m)])])}),{blur:()=>{var V;(V=w.value)==null||V.some(T=>T.blur())},focus:()=>{var V;(V=w.value)==null||V[0].focus()},reset:R,isFocused:o}}}),xt={class:"text-h6"},Ot={class:"m-label"},Lt={class:"mt-4"},zt={class:"m-label"},Bt={class:"mt-5"},Qt={tag:"p",class:"my-4"},Ht={__name:"TotpAuthForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=ue(),m=y(),p=y(""),o=y([]),e=y(null),t=y(null),a=y(!1),n=y(!1),u=y(""),c=y([]),h=y([]),b=y(!1),w=W(()=>l.authUser.totp_enabled);function F(){K.getKeyForTFASetup().then(A=>{e.value=A.data.key,t.value=A.data.url})}function N(){navigator.clipboard.writeText(e.value),a.value=!0}function P(){K.startTFASetup().then(()=>{F()})}function _(){l.finalizeTFASetup(p.value).then(A=>{e.value=null,t.value=null,A.status===200&&(h.value=A.data.tokens),b.value=!0}).catch(A=>{A.response.status===400&&(o.value=A.response.data.pin_code)})}async function C(){if(!await m.value.validate())return;const R={password:u.value};n.value=!0,K.disableTFA(R).then(()=>{l.fetchUser()}).catch(k=>{k.response.status===400?c.value=k.response.data.password:v.displayNotification({msg:s(k.response.data),type:"error"})}).finally(()=>{n.value=!1,m.value.reset()})}return(A,R)=>(M(),D("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",xt,g(f(s)("One-time passwords")),1)]),_:1}),i(J,null,{default:d(()=>[t.value?(M(),O(ce,{key:0},{default:d(()=>[i(ie,{cols:"4"},{default:d(()=>[i(ce,{rows:"2"},{default:d(()=>[i(Ut,{value:t.value,size:250,"render-as":"svg",level:"H",class:"qrcode"},null,8,["value"])]),_:1}),i(ce,null,{default:d(()=>[i(B,{color:"primary",class:"key",onClick:N},{default:d(()=>[S(g(f(s)("Click here to copy the key"))+" ",1),a.value?(M(),O(he,{key:0,color:"success"},{default:d(()=>[...R[2]||(R[2]=[S(" mdi-check-all ",-1)])]),_:1})):q("",!0)]),_:1})]),_:1})]),_:1}),i(ie,{cols:"6"},{default:d(()=>[i(j,{type:"info",class:"ma-4"},{default:d(()=>[S(g(f(s)("Install a soft token authenticator like FreeOTP or Google Authenticator from your application repository and use that app to scan this QR code.")),1)]),_:1}),E("label",Ot,g(f(s)("Pin code")),1),i(Dt,{modelValue:p.value,"onUpdate:modelValue":R[0]||(R[0]=k=>p.value=k),error:o.value.length!==0},null,8,["modelValue","error"]),i(B,{color:"primary",onClick:_},{default:d(()=>[S(g(f(s)("Register")),1)]),_:1})]),_:1})]),_:1})):b.value?(M(),D(z,{key:1},[i(j,{type:"success"},{default:d(()=>[S(g(f(s)("Congratulations! Two-factor authentication using one-time passwords is now enabled for your account.")),1)]),_:1}),h.value.length?(M(),D(z,{key:0},[E("p",Lt,g(f(s)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1),i(Ne,{density:"compact"},{default:d(()=>[E("tbody",null,[(M(!0),D(z,null,Me(h.value,k=>(M(),D("tr",{key:k},[E("td",null,g(k),1)]))),128))])]),_:1})],64)):q("",!0)],64)):w.value?(M(),D(z,{key:2},[i(j,{type:"info",class:"mb-2"},{default:d(()=>[S(g(f(s)("Two-factor authentication using one-time passwords is enabled for your account.")),1)]),_:1}),i(ee,{ref_key:"editTFAForm",ref:m},{default:d(()=>[E("label",zt,g(f(s)("Password")),1),i(H,{modelValue:u.value,"onUpdate:modelValue":R[1]||(R[1]=k=>u.value=k),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[f(te).required],"error-messages":c.value},null,8,["modelValue","rules","error-messages"]),E("div",Bt,[i(B,{color:"error",class:"mr-2",loading:n.value,onClick:C},{default:d(()=>[S(g(f(s)("Disable 2FA")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(M(),D(z,{key:3},[E("div",Qt,g(f(s)("Two-factor authentication (2FA) using one-time passwords is not yet activated for your account.")),1),i(B,{color:"success",onClick:P},{default:d(()=>[S(g(f(s)("Register authenticator")),1)]),_:1})],64))]),_:1})]),_:1})]))}},Kt={class:"headline"},xe={__name:"RecoveryCodesResetDialog",props:{tokens:{type:Array,default:null}},emits:["close"],setup(r,{emit:s}){const{$gettext:v}=Z(),l=s;function m(){l("close")}return(p,o)=>(M(),O(X,null,{default:d(()=>[i(me,null,{default:d(()=>[E("span",Kt,g(f(v)("New recovery codes")),1)]),_:1}),i(J,null,{default:d(()=>[i(j,{type:"info"},{default:d(()=>[S(g(f(v)("The following recovery codes can be used one time each to let you regain access to your account, in case you lose your phone for example. Make sure to save them in a safe place, otherwise you won't be able to access your account anymore.")),1)]),_:1}),i(Ne,{class:"mt-4",density:"compact"},{default:d(()=>[E("tbody",null,[(M(!0),D(z,null,Me(r.tokens,e=>(M(),D("tr",{key:e},[E("td",null,g(e),1)]))),128))])]),_:1})]),_:1}),i(ye,null,{default:d(()=>[i(pt),i(B,{color:"grey darken-1",text:"",onClick:m},{default:d(()=>[S(g(f(v)("Close")),1)]),_:1})]),_:1})]),_:1}))}},Gt={class:"text-h6"},Yt={class:"m-label"},qt={class:"mt-5"},Wt={key:1,tag:"p",class:"my-4"},Jt={__name:"BackupCodeAuthForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=ue(),m=W(()=>l.authUser.tfa_enabled),p=y(!1),o=y(),e=y(""),t=y([]),a=y(),n=y(!1);async function u(){if(!await o.value.validate())return;const b={password:e.value};p.value=!0,K.resetRecoveryCodes(b).then(w=>{t.value=w.data.tokens,n.value=!0}).catch(w=>{w.response.status===400?a.value=w.response.data.password:v.displayNotification({msg:s(w.response.data),type:"error"})}).finally(()=>{p.value=!1,o.value.reset()})}function c(){t.value=[],n.value=!1}return(h,b)=>(M(),D("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",Gt,g(f(s)("Backup codes")),1)]),_:1}),i(J,null,{default:d(()=>[m.value?(M(),D(z,{key:0},[i(j,{type:"info",class:"mb-2"},{default:d(()=>[S(g(f(s)("You already have generated backup codes for this account. If you don't remember them or have used them all, you can generate new ones.")),1)]),_:1}),i(ee,{ref_key:"editTFAForm",ref:o},{default:d(()=>[E("label",Yt,g(f(s)("Password")),1),i(H,{modelValue:e.value,"onUpdate:modelValue":b[0]||(b[0]=w=>e.value=w),autocomplete:"new-password",type:"password",variant:"outlined",density:"compact",rules:[f(te).required],"error-messages":a.value},null,8,["modelValue","rules","error-messages"]),E("div",qt,[i(B,{loading:p.value,color:"success",onClick:u},{default:d(()=>[S(g(f(s)("Reset recovery codes")),1)]),_:1},8,["loading"])])]),_:1},512)],64)):(M(),D("div",Wt,g(f(s)("No two-factor authentificator is yet set for your account.")),1)),i(Fe,{modelValue:n.value,"onUpdate:modelValue":b[1]||(b[1]=w=>n.value=w),"max-width":"800px",persistent:""},{default:d(()=>[i(f(xe),{tokens:t.value,onClose:c},null,8,["tokens"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]))}},Xt={class:"m-label"},Zt={__name:"ForwardForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=y({}),m=y(!1);async function p(){m.value=!0;try{await K.setForward(l.value),v.displayNotification({type:"success",msg:s("Forward updated")})}finally{m.value=!1}}return K.getForward().then(o=>{l.value=o.data}),(o,e)=>(M(),O(X,{flat:""},{default:d(()=>[i(J,null,{default:d(()=>[E("label",Xt,g(f(s)("Recipient(s)")),1),i(Te,{modelValue:l.value.recipients,"onUpdate:modelValue":e[0]||(e[0]=t=>l.value.recipients=t),hint:f(s)("Indicate one or more recipients separated by a comma (,)"),"persistent-hint":"",rows:"3",variant:"outlined"},null,8,["modelValue","hint"]),i(Ie,{modelValue:l.value.keepcopies,"onUpdate:modelValue":e[1]||(e[1]=t=>l.value.keepcopies=t),label:f(s)("Keep local copies"),hint:f(s)("Forward messages and store copies into your local mailbox"),"persistent-hint":""},null,8,["modelValue","label","hint"])]),_:1}),i(ye,{class:"pa-4"},{default:d(()=>[i(B,{color:"success",variant:"flat",loading:m.value,onClick:p},{default:d(()=>[S(g(f(s)("Update")),1)]),_:1},8,["loading"])]),_:1})]),_:1}))}},jt={class:"m-label"},ea={class:"mb-4"},ta={class:"m-label"},aa={class:"mb-4"},oa={class:"m-label"},na={class:"mb-4"},la={class:"m-label"},ra={__name:"AutoReplyForm",setup(r){const s=oe(),{$gettext:v}=Z(),l=y({}),m=y(),p=y(!1);async function o(){const{valid:e}=await m.value.validate();e&&(p.value=!0,l.value.fromdate===""&&(l.value.fromdate=null),l.value.untildate===""&&(l.value.untildate=null),K.setARMessage(l.value).then(()=>{s.displayNotification({msg:v("Auto-reply message updated")}),p.value=!1}).catch(()=>{p.value=!1}))}return K.getARMessage().then(e=>{l.value=e.data,l.value.fromdate&&(l.value.fromdate=l.value.fromdate.slice(0,-4)),l.value.untildate&&(l.value.untildate=l.value.untildate.slice(0,-4))}),(e,t)=>(M(),O(X,{flat:""},{default:d(()=>[i(J,null,{default:d(()=>[i(ee,{ref_key:"formRef",ref:m,onSubmit:fe(o,["prevent"])},{default:d(()=>[i(Ie,{modelValue:l.value.enabled,"onUpdate:modelValue":t[0]||(t[0]=a=>l.value.enabled=a),label:f(v)("Enabled"),color:"primary","hide-details":"",class:"mb-4"},null,8,["modelValue","label"]),E("label",jt,g(f(v)("Subject")),1),i(H,{modelValue:l.value.subject,"onUpdate:modelValue":t[1]||(t[1]=a=>l.value.subject=a),variant:"outlined",density:"compact",rules:[f(te).required]},null,8,["modelValue","rules"]),E("div",ea,[E("label",ta,g(f(v)("Content")),1),i(Te,{modelValue:l.value.content,"onUpdate:modelValue":t[2]||(t[2]=a=>l.value.content=a),hint:f(v)("The content of your answer. You can use the following variables, which will be automatically replaced by the appropriate value: %(name)s, %(fromdate)s, %(untildate)s"),"persistent-hint":"",variant:"outlined",rows:"3",density:"compact",rules:[f(te).required]},null,8,["modelValue","hint","rules"])]),E("div",aa,[E("label",oa,g(f(v)("From")),1),i(H,{modelValue:l.value.fromdate,"onUpdate:modelValue":t[3]||(t[3]=a=>l.value.fromdate=a),hint:f(v)("Activate your auto reply from this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),E("div",na,[E("label",la,g(f(v)("Until")),1),i(H,{modelValue:l.value.untildate,"onUpdate:modelValue":t[4]||(t[4]=a=>l.value.untildate=a),hint:f(v)("Activate your auto reply until this date"),variant:"outlined","persistent-hint":"",type:"datetime-local",density:"compact"},null,8,["modelValue","hint"])]),i(B,{color:"success",type:"submit",loading:p.value},{default:d(()=>[S(g(f(v)("Update auto-reply")),1)]),_:1},8,["loading"])]),_:1},512)]),_:1})]),_:1}))}},sa={class:"m-label"},ia={class:"ml-5 mr-5"},ua=["href"],da={__name:"APISetupForm",setup(r){const{$gettext:s}=Z(),v=oe(),l=je("$config"),m=W(()=>l.API_DOC_URL),p=y(!1),o=y(null),e=y();function t(){navigator.clipboard.writeText(o.value),v.displayNotification({msg:s("API token copied to your clipboard"),type:"success"})}function a(){p.value=!0,K.createAPIToken().then(c=>{o.value=c.data.token,v.displayNotification({msg:s("API token created"),type:"success"})}).finally(()=>p.value=!1)}function n(){e.value.open(s("Warning"),s("You are about to delete your API access token"),{color:"error",cancelLabel:s("Cancel"),agreeLabel:s("Proceed")})}async function u(){await K.deleteAPIToken(),v.displayNotification({msg:s("API token deleted"),type:"success"}),o.value=null}return ve(()=>{K.getAPIToken().then(c=>{o.value=c.data.token})}),(c,h)=>(M(),D(z,null,[o.value?(M(),O(X,{key:1,flat:""},{default:d(()=>[i(J,null,{default:d(()=>[E("label",sa,g(f(s)("Your API token is:")),1),E("code",ia,g(o.value),1),i(B,{icon:"mdi-clipboard-plus",density:"compact",title:f(s)("Copy token to clipboard"),variant:"text",onClick:h[0]||(h[0]=b=>t())},null,8,["title"]),i(B,{icon:"mdi-delete",density:"compact",color:"error",variant:"text",title:f(s)("Delete token"),onClick:n},null,8,["title"])]),_:1})]),_:1})):(M(),O(X,{key:0,flat:""},{default:d(()=>[i(J,null,{default:d(()=>[S(g(f(s)("Your API token has not been generated yet.")),1)]),_:1}),i(ye,null,{default:d(()=>[i(B,{color:"success",variant:"flat",loading:p.value,onClick:a},{default:d(()=>[S(g(f(s)("Generate")),1)]),_:1},8,["loading"])]),_:1})]),_:1})),i(j,{type:"info",variant:"tonal",border:"start",class:"mt-4"},{default:d(()=>[S(g(f(s)("A documentation of the API is available"))+" ",1),E("a",{href:m.value,target:"_blank"},g(f(s)("here")),9,ua),h[1]||(h[1]=S(". ",-1))]),_:1}),i(pe,{ref_key:"confirm",ref:e,onAgree:u},null,512)],64))}},ca={class:"text-h6"},fa={tag:"p",class:"my-4"},va={__name:"FidoAuthForm",setup(r){const s=ue(),v=oe(),{$gettext:l}=Z(),m=y(),p=y(!1),o=!!(navigator.credentials&&navigator.credentials.create&&navigator.credentials.get&&PublicKeyCredential.parseCreationOptionsFromJSON),e=y(),t=W(()=>s.fidoCreds),a=[{title:l("Name"),key:"name"},{title:l("Added On"),key:"added_on"},{title:l("Last Used"),key:"last_used"},{title:l("Use count"),key:"use_count"},{title:l("Actions"),key:"actions"}],n=y(),u=y(),c=y(),h=y(""),b=y(),w=y(!1);async function F(){const{valid:A}=await e.value.validate();if(!A)return;p.value=!0;const R=await et.beginFidoRegistration();if(R){const k=PublicKeyCredential.parseCreationOptionsFromJSON(R.data.publicKey);navigator.credentials.create({publicKey:k}).then(L=>{const x=L.toJSON();x.name=m.value,s.addFidoCred(x).then(V=>{V.status===200&&(b.value=V.data.tokens,w.value=!0)}),e.value.reset(),p.value=!1}).catch(L=>{console.log(L),e.value.reset(),p.value=!1,v.displayNotification({msg:l("Failed to register the webAuthN device"),type:"error"})})}p.value=!1}function N(){b.value=[],w.value=!1}async function P(A){await n.value.open(l("Warning"),l("Do you really want to delete this WebAuthn device?"),{color:"warning",cancelLabel:l("No"),agreeLabel:l("Yes")})&&s.deleteFidoCreds(A.id)}async function _(){return(await c.value.validate()).valid}async function C(A){if(h.value=A.name,!await u.value.open(l("Edition"),l("Edit your device"),{color:"warning",cancelLabel:l("Cancel"),agreeLabel:l("Save")}))return;const k={name:h.value};await s.editFidoCred(A.id,k)}return ve(()=>{s.getFidoCreds()}),(A,R)=>(M(),D(z,null,[E("div",null,[i(X,{flat:""},{default:d(()=>[i(me,null,{default:d(()=>[E("span",ca,g(f(l)("WebAuthn")),1)]),_:1}),i(J,null,{default:d(()=>[i(ce,null,{default:d(()=>[t.value.length===0?(M(),O(ie,{key:0,cols:"4"},{default:d(()=>[E("div",fa,g(f(l)("You don't have any WebAuthN device registered as a second authentication method.")),1)]),_:1})):(M(),O(ie,{key:1,cols:"8"},{default:d(()=>[E("h3",null,g(f(l)("Registered Webauthn devices")),1),i(gt,{headers:a,items:t.value,"item-value":"id"},{"item.added_on":d(({item:k})=>[S(g(A.$date(k.added_on)),1)]),"item.last_used":d(({item:k})=>[k.last_used===null?(M(),D(z,{key:0},[S(g(f(l)("Never")),1)],64)):(M(),D(z,{key:1},[S(g(A.$date(k.last_used)),1)],64))]),"item.enabled":d(({item:k})=>[S(g(A.$yesno(k.enabled)),1)]),"item.actions":d(({item:k})=>[i(he,{class:"me-2",size:"small",onClick:L=>C(k)},{default:d(()=>[...R[3]||(R[3]=[S(" mdi-pencil ",-1)])]),_:1},8,["onClick"]),i(he,{size:"small",onClick:L=>P(k)},{default:d(()=>[...R[4]||(R[4]=[S(" mdi-delete ",-1)])]),_:1},8,["onClick"])]),_:2},1032,["items"])]),_:1})),i(ie,{cols:"4"},{default:d(()=>[o?(M(),D(z,{key:0},[E("h3",null,g(f(l)("Enter a name to register a new webauthn device.")),1),i(ee,{ref_key:"fidoForm",ref:e,onSubmit:fe(F,["prevent"])},{default:d(()=>[i(H,{modelValue:m.value,"onUpdate:modelValue":R[0]||(R[0]=k=>m.value=k),label:f(l)("New device name"),rules:[f(te).required]},null,8,["modelValue","label","rules"]),i(B,{color:"success",type:"submit",loading:p.value},{default:d(()=>[S(g(f(l)("Setup device")),1)]),_:1},8,["loading"])]),_:1},512)],64)):(M(),O(j,{key:1,type:"error"},{default:d(()=>[S(g(f(l)("Your browser does not seem compatible with WebAuthN")),1)]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),i(pe,{ref_key:"confirmDeletion",ref:n},null,512),i(pe,{ref_key:"confirmEdition",ref:u,callback_agree:_},{default:d(()=>[i(ee,{ref_key:"editForm",ref:c},{default:d(()=>[i(H,{modelValue:h.value,"onUpdate:modelValue":R[1]||(R[1]=k=>h.value=k),label:f(l)("name"),rules:[f(te).required]},null,8,["modelValue","label","rules"])]),_:1},512)]),_:1},512),i(Fe,{modelValue:w.value,"onUpdate:modelValue":R[2]||(R[2]=k=>w.value=k),"max-width":"800px",persistent:""},{default:d(()=>[i(xe,{tokens:b.value,onClose:N},null,8,["tokens"])]),_:1},8,["modelValue"])],64))}},ma={class:"pa-4"},ha={__name:"SettingsView",setup(r){const s=ue(),v=y();return(l,m)=>(M(),D(z,null,[i(yt,{flat:""},{default:d(()=>[i(_t,null,{default:d(()=>[S(g(l.$gettext("Account settings")),1)]),_:1})]),_:1}),E("div",ma,[i(bt,{modelValue:v.value,"onUpdate:modelValue":m[0]||(m[0]=p=>v.value=p),color:"primary",class:"mb-4"},{default:d(()=>[i(re,{value:"profile"},{default:d(()=>[S(g(l.$gettext("Profile")),1)]),_:1}),i(re,{value:"security"},{default:d(()=>[S(g(l.$gettext("Two-factor auth")),1)]),_:1}),f(s).userHasMailbox?(M(),O(re,{key:0,value:"forward"},{default:d(()=>[S(g(l.$gettext("Forward")),1)]),_:1})):q("",!0),f(s).userHasMailbox?(M(),O(re,{key:1,value:"autoreply"},{default:d(()=>[S(g(l.$gettext("Auto-reply message")),1)]),_:1})):q("",!0),f(s).authUser.role===f(Ae).SUPER_ADMIN?(M(),O(re,{key:2,value:"api"},{default:d(()=>[S(g(l.$gettext("API access")),1)]),_:1})):q("",!0)]),_:1},8,["modelValue"]),i(wt,{modelValue:v.value,"onUpdate:modelValue":m[1]||(m[1]=p=>v.value=p)},{default:d(()=>[i(se,{value:"profile"},{default:d(()=>[i(Mt)]),_:1}),i(se,{value:"security"},{default:d(()=>[i(Ht),i(va),i(Jt)]),_:1}),f(s).userHasMailbox?(M(),O(se,{key:0,value:"forward"},{default:d(()=>[i(Zt)]),_:1})):q("",!0),f(s).userHasMailbox?(M(),O(se,{key:1,value:"autoreply"},{default:d(()=>[i(ra)]),_:1})):q("",!0),f(s).authUser.role===f(Ae).SUPER_ADMIN?(M(),O(se,{key:2,value:"api"},{default:d(()=>[i(da)]),_:1})):q("",!0)]),_:1},8,["modelValue"])])],64))}},Ja=tt(ha,[["__scopeId","data-v-fc9b36ca"]]);export{Ja as default};
@@ -0,0 +1 @@
1
+ import{T as r}from"./TimeSerieChart-BTDBH33K.js";import{I as d,J as _,e as y,a1 as g,y as V,_ as h,l as S,a,w as t,F as k,o as v,k as C,t as L}from"./index-B1bntsLR.js";import{V as T,a as w}from"./VToolbar-CyrYSqJZ.js";import{a as x,u as P,m as b,b as z}from"./tag-BmV84V2s.js";import{c as B,m as D}from"./layout-CjSP_k58.js";import{V as F,a as i}from"./VRow-CuVZGqBj.js";import"./VAvatar-JdJfoK0C.js";import"./VProgressCircular-DTDGzl2O.js";import"./VSpacer-BUxSSJbH.js";/* empty css */import"./VPicker-BUx70Wjg.js";import"./VSheet-HeHw6g5_.js";import"./VTextField-QXQFhKxm.js";import"./VInput-CbqehdOu.js";import"./VMenu-B6SCtOwT.js";import"./ssrBoot-05WtbG6H.js";import"./VContainer-DKMcKasC.js";import"./VCard-BoH6kjPa.js";const I=_({...z(),...b(),...D()},"VLayout"),N=d()({name:"VLayout",props:I(),setup(e,o){let{slots:s}=o;const{layoutClasses:c,layoutStyles:l,getLayoutItem:p,items:n,layoutRef:u}=B(e),{dimensionStyles:f}=x(e);return P(()=>{var m;return y("div",{ref:u,class:V([c.value,e.class]),style:g([f.value,l.value,e.style])},[(m=s.default)==null?void 0:m.call(s)])}),{getLayoutItem:p,items:n}}}),R={__name:"StatisticsView",setup(e){return(o,s)=>(v(),S(k,null,[a(T,{flat:""},{default:t(()=>[a(w,null,{default:t(()=>[C(L(o.$gettext("Statistics")),1)]),_:1})]),_:1}),a(N,{class:"pa-2"},{default:t(()=>[a(F,{class:"mt-2"},{default:t(()=>[a(i,{cols:"12"},{default:t(()=>[a(r,{"graphic-set":"mailtraffic","graphic-name":"averagetraffic"})]),_:1}),a(i,{cols:"12"},{default:t(()=>[a(r,{"graphic-set":"mailtraffic","graphic-name":"averagetrafficsize"})]),_:1}),a(i,{cols:"12"},{default:t(()=>[a(r,{"graphic-set":"accountgraphicset","graphic-name":"accountcreationgraphic"})]),_:1})]),_:1})]),_:1})],64))}},ta=h(R,[["__scopeId","data-v-e568dd55"]]);export{ta as default};
@@ -0,0 +1 @@
1
+ import{C as $e,I as H,J as R,K as re,i as w,e as _,a as m,a2 as ie,y as Q,M as ee,a1 as Re,a3 as Le,a4 as z,O as N,a5 as ae,h as I,a6 as te,a7 as le,z as oe,k as G,P as X,a8 as Fe,a9 as Ve,aa as we,v as Y,ab as Ue,L as je,ac as He,ad as ze,F as xe,c as ne,o as j,w as S,_ as Ee,b as Je,d as qe,r as Ke,t as $,f as U,l as de,s as Ge,m as ce}from"./index-B1bntsLR.js";import{V as O,M as _e,e as Me,I as fe,d as Qe}from"./VAvatar-JdJfoK0C.js";import{V as Pe}from"./VSpacer-BUxSSJbH.js";import{u as E}from"./tag-BmV84V2s.js";import{u as Xe}from"./VProgressCircular-DTDGzl2O.js";import{V as ve,m as Ze}from"./VPicker-BUx70Wjg.js";import{V as ea}from"./VTextField-QXQFhKxm.js";import{V as Se,a as aa,b as ta,c as na}from"./VMenu-B6SCtOwT.js";import{V as la,a as ra}from"./VToolbar-CyrYSqJZ.js";import{V as ia}from"./VContainer-DKMcKasC.js";import{V as oa,a as me}from"./VRow-CuVZGqBj.js";import{V as ua,a as sa}from"./VCard-BoH6kjPa.js";const da="statistics",ca={getStatistics({graphSet:e,period:t,graphicName:c,searchQuery:n,start:a,end:u}){const y={gset:e,period:t,graphic:c,searchquery:n,start:a,end:u};return $e.get(`${da}/`,{params:y})}},Ce=R({active:{type:[String,Array],default:void 0},controlHeight:[Number,String],disabled:{type:[Boolean,String,Array],default:null},nextIcon:{type:ee,default:"$next"},prevIcon:{type:ee,default:"$prev"},modeIcon:{type:ee,default:"$subgroup"},text:String,viewMode:{type:String,default:"month"}},"VDatePickerControls"),he=H()({name:"VDatePickerControls",props:Ce(),emits:{"click:year":()=>!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:text":()=>!0},setup(e,t){let{emit:c}=t;const{t:n}=re(),a=w(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),u=w(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),y=w(()=>Array.isArray(e.disabled)?e.disabled.includes("prev"):!!e.disabled),i=w(()=>Array.isArray(e.disabled)?e.disabled.includes("next"):!!e.disabled);function o(){c("click:prev")}function k(){c("click:next")}function r(){c("click:year")}function h(){c("click:month")}return E(()=>_("div",{class:Q(["v-date-picker-controls"]),style:{"--v-date-picker-controls-height":ie(e.controlHeight)}},[m(O,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",disabled:a.value,text:e.text,variant:"text",rounded:!0,onClick:h},null),m(O,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:u.value,density:"comfortable",icon:e.modeIcon,variant:"text","aria-label":n("$vuetify.datePicker.ariaLabel.selectYear"),onClick:r},null),m(Pe,null,null),_("div",{class:"v-date-picker-controls__month"},[m(O,{"data-testid":"prev-month",disabled:y.value,density:"comfortable",icon:e.prevIcon,variant:"text","aria-label":n("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:o},null),m(O,{"data-testid":"next-month",disabled:i.value,icon:e.nextIcon,density:"comfortable",variant:"text","aria-label":n("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:k},null)])])),{}}}),fa=R({appendIcon:ee,color:String,header:String,transition:String,onClick:Le()},"VDatePickerHeader"),ye=H()({name:"VDatePickerHeader",props:fa(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:c,slots:n}=t;const{backgroundColorClasses:a,backgroundColorStyles:u}=Xe(()=>e.color);function y(){c("click")}function i(){c("click:append")}return E(()=>{const o=!!(n.default||e.header),k=!!(n.append||e.appendIcon);return _("div",{class:Q(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:Re(u.value),onClick:y},[n.prepend&&_("div",{key:"prepend",class:"v-date-picker-header__prepend"},[n.prepend()]),o&&m(_e,{key:"content",name:e.transition},{default:()=>{var r;return[_("div",{key:e.header,class:"v-date-picker-header__content"},[((r=n.default)==null?void 0:r.call(n))??e.header])]}}),k&&_("div",{class:"v-date-picker-header__append"},[n.append?m(Me,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var r;return[(r=n.append)==null?void 0:r.call(n)]}}):m(O,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:i},null)])])}),{}}}),va=R({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function ma(e){const t=z(),c=N(e,"modelValue",[],l=>ae(l).map(f=>t.date(f))),n=w(()=>e.displayValue?t.date(e.displayValue):c.value.length>0?t.date(c.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=N(e,"year",void 0,l=>{const f=l!=null?Number(l):t.getYear(n.value);return t.startOfYear(t.setYear(t.date(),f))},l=>t.getYear(l)),u=N(e,"month",void 0,l=>{const f=l!=null?Number(l):t.getMonth(n.value),s=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(s,f)},l=>t.getMonth(l)),y=w(()=>{const l=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((f,s)=>e.weekdays.includes((s+l)%7))}),i=w(()=>{const l=t.getWeekArray(u.value,e.firstDayOfWeek),f=l.flat(),s=42;if(e.weeksInMonth==="static"&&f.length<s){const V=f[f.length-1];let A=[];for(let g=1;g<=s-f.length;g++)A.push(t.addDays(V,g)),g%7===0&&(l.push(A),A=[])}return l});function o(l,f){return l.filter(s=>e.weekdays.includes(t.toJsDate(s).getDay())).map((s,V)=>{const A=t.toISO(s),g=!t.isSameMonth(s,u.value),d=t.isSameDay(s,t.startOfMonth(u.value)),p=t.isSameDay(s,t.endOfMonth(u.value)),L=t.isSameDay(s,u.value),W=e.weekdays.length;return{date:s,formatted:t.format(s,"keyboardDate"),isAdjacent:g,isDisabled:C(s),isEnd:p,isHidden:g&&!e.showAdjacentMonths,isSame:L,isSelected:c.value.some(Z=>t.isSameDay(s,Z)),isStart:d,isToday:t.isSameDay(s,f),isWeekEnd:V%W===W-1,isWeekStart:V%W===0,isoDate:A,localized:t.format(s,"dayOfMonth"),month:t.getMonth(s),year:t.getYear(s)}})}const k=w(()=>{const l=t.startOfWeek(n.value,e.firstDayOfWeek),f=[];for(let V=0;V<=6;V++)f.push(t.addDays(l,V));const s=t.date();return o(f,s)}),r=w(()=>{const l=i.value.flat(),f=t.date();return o(l,f)}),h=w(()=>i.value.map(l=>l.length?t.getWeek(l[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:D,maxDate:x}=pe(e);function C(l){if(e.disabled)return!0;const f=t.date(l);return D.value&&t.isBefore(t.endOfDay(f),D.value)||x.value&&t.isAfter(f,x.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(s=>t.isSameDay(t.date(s),f)):typeof e.allowedDates=="function"?!e.allowedDates(f):!1}return{displayValue:n,daysInMonth:r,daysInWeek:k,genDays:o,model:c,weeksInMonth:i,weekdayLabels:y,weekNumbers:h}}function pe(e){const t=z(),c=w(()=>{if(!e.min)return null;const y=t.date(e.min);return t.isValid(y)?y:null}),n=w(()=>{if(!e.max)return null;const y=t.date(e.max);return t.isValid(y)?y:null});function a(y){return c.value&&t.isBefore(y,c.value)?c.value:n.value&&t.isAfter(y,n.value)?n.value:y}function u(y){return(!c.value||t.isAfter(y,c.value))&&(!n.value||t.isBefore(y,n.value))}return{minDate:c,maxDate:n,clampDate:a,isInAllowedRange:u}}const Ae=R({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},...X(va(),["displayValue"])},"VDatePickerMonth"),ke=H()({name:"VDatePickerMonth",props:Ae(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:c,slots:n}=t;const a=I(),{t:u}=re(),{daysInMonth:y,model:i,weekNumbers:o,weekdayLabels:k}=ma(e),r=z(),h=te(),D=te(),x=te(!1),C=le(()=>x.value?e.reverseTransition:e.transition);e.multiple==="range"&&i.value.length>0&&(h.value=i.value[0],i.value.length>1&&(D.value=i.value[i.value.length-1]));const l=w(()=>{const g=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return i.value.length>=g});oe(y,(g,d)=>{d&&(x.value=r.isBefore(g[0].date,d[0].date))});function f(g){const d=r.startOfDay(g);if(i.value.length===0?h.value=void 0:i.value.length===1&&(h.value=i.value[0],D.value=void 0),!h.value)h.value=d,i.value=[h.value];else if(D.value)h.value=g,D.value=void 0,i.value=[h.value];else{if(r.isSameDay(d,h.value)){h.value=void 0,i.value=[];return}else r.isBefore(d,h.value)?(D.value=r.endOfDay(h.value),h.value=d):D.value=r.endOfDay(d);i.value=Fe(r,h.value,D.value)}}function s(g){const d=r.format(g.date,"fullDateWithWeekday"),p=g.isToday?"currentDate":"selectDate";return u(`$vuetify.datePicker.ariaLabel.${p}`,d)}function V(g){const d=i.value.findIndex(p=>r.isSameDay(p,g));if(d===-1)i.value=[...i.value,g];else{const p=[...i.value];p.splice(d,1),i.value=p}}function A(g){e.multiple==="range"?f(g):e.multiple?V(g):i.value=[g]}E(()=>_("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&_("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&_("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[G(" ")]),o.value.map(g=>_("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[g]))]),m(_e,{name:C.value},{default:()=>{var g;return[_("div",{ref:a,key:(g=y.value[0].date)==null?void 0:g.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&k.value.map(d=>_("div",{class:Q(["v-date-picker-month__day","v-date-picker-month__weekday"])},[d])),y.value.map((d,p)=>{var W;const L={props:{class:"v-date-picker-month__day-btn",color:d.isSelected||d.isToday?e.color:void 0,disabled:d.isDisabled,icon:!0,ripple:!1,text:d.localized,variant:d.isSelected?"flat":d.isToday?"outlined":"text","aria-label":s(d),"aria-current":d.isToday?"date":void 0,onClick:()=>A(d.date)},item:d,i:p};return l.value&&!d.isSelected&&(d.isDisabled=!0),_("div",{class:Q(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":d.isAdjacent,"v-date-picker-month__day--hide-adjacent":d.isHidden,"v-date-picker-month__day--selected":d.isSelected,"v-date-picker-month__day--week-end":d.isWeekEnd,"v-date-picker-month__day--week-start":d.isWeekStart}]),"data-v-date":d.isDisabled?void 0:d.isoDate},[(e.showAdjacentMonths||!d.isAdjacent)&&(((W=n.day)==null?void 0:W.call(n,L))??m(O,L.props,null))])})])]}})]))}}),Ye=R({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),ge=H()({name:"VDatePickerMonths",props:Ye(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:c,slots:n}=t;const a=z(),u=N(e,"modelValue"),y=w(()=>{let o=a.startOfYear(a.date());return e.year&&(o=a.setYear(o,e.year)),Ve(12).map(k=>{const r=a.format(o,"monthShort"),h=a.format(o,"month"),D=!!(!i(k)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),o)||e.max&&a.isAfter(o,a.startOfMonth(a.date(e.max))));return o=a.getNextMonth(o),{isDisabled:D,text:r,label:h,value:k}})});we(()=>{u.value=u.value??a.getMonth(a.date())});function i(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return E(()=>_("div",{class:"v-date-picker-months",style:{height:ie(e.height)}},[_("div",{class:"v-date-picker-months__content"},[y.value.map((o,k)=>{var D;const r={active:u.value===k,ariaLabel:o.label,color:u.value===k?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:u.value===o.value?"flat":"text",onClick:()=>h(k)};function h(x){if(u.value===x){c("update:modelValue",u.value);return}u.value=x}return((D=n.month)==null?void 0:D.call(n,{month:o,i:k,props:r}))??m(O,Y({key:"month"},r),null)})])])),{}}}),Oe=R({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),be=H()({name:"VDatePickerYears",props:Oe(),directives:{vIntersect:fe},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:c,slots:n}=t;const a=z(),u=N(e,"modelValue"),y=w(()=>{const r=a.getYear(a.date());let h=r-100,D=r+52;e.min&&(h=a.getYear(a.date(e.min))),e.max&&(D=a.getYear(a.date(e.max)));let x=a.startOfYear(a.date());return x=a.setYear(x,h),Ve(D-h+1,h).map(C=>{const l=a.format(x,"year");return x=a.setYear(x,a.getYear(x)+1),{text:l,value:C,isDisabled:!k(C)}})});we(()=>{u.value=u.value??a.getYear(a.date())});const i=Ue();function o(){var r,h;(r=i.el)==null||r.focus(),(h=i.el)==null||h.scrollIntoView({block:"center"})}function k(r){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(r):typeof e.allowedYears=="function"?e.allowedYears(r):!0}return E(()=>je(_("div",{class:"v-date-picker-years",style:{height:ie(e.height)}},[_("div",{class:"v-date-picker-years__content"},[y.value.map((r,h)=>{var x;const D={ref:u.value===r.value?i:void 0,active:u.value===r.value,color:u.value===r.value?e.color:void 0,rounded:!0,text:r.text,disabled:r.isDisabled,variant:u.value===r.value?"flat":"text",onClick:()=>{if(u.value===r.value){c("update:modelValue",u.value);return}u.value=r.value}};return((x=n.year)==null?void 0:x.call(n,{year:r,i:h,props:D}))??m(O,Y({key:"month"},D),null)})])]),[[fe,{handler:o},null,{once:!0}]])),{}}}),ha=R({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,...Ce(),...Ae({weeksInMonth:"static"}),...X(Ye(),["modelValue"]),...X(Oe(),["modelValue"]),...Ze({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),ya=H()({name:"VDatePicker",props:ha(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:c,slots:n}=t;const a=z(),{t:u}=re(),{rtlClasses:y}=He(),i=N(e,"modelValue",void 0,v=>ae(v).map(b=>a.date(b)),v=>e.multiple?v:v[0]),o=N(e,"viewMode"),{minDate:k,maxDate:r,clampDate:h}=pe(e),D=w(()=>{var P;const v=a.date(),b=(P=i.value)!=null&&P[0]?a.date(i.value[0]):h(v);return b&&a.isValid(b)?b:v}),x=le(()=>e.headerColor??e.color),C=N(e,"month"),l=w({get:()=>Number(C.value??a.getMonth(a.startOfMonth(D.value))),set:v=>C.value=v}),f=N(e,"year"),s=w({get:()=>Number(f.value??a.getYear(a.startOfYear(a.setMonth(D.value,l.value)))),set:v=>f.value=v}),V=te(!1),A=w(()=>e.multiple&&i.value.length>1?u("$vuetify.datePicker.itemsSelected",i.value.length):i.value[0]&&a.isValid(i.value[0])?a.format(a.date(i.value[0]),"normalDateWithWeekday"):u(e.header)),g=w(()=>{let v=a.date();return v=a.setDate(v,1),v=a.setMonth(v,l.value),v=a.setYear(v,s.value),a.format(v,"monthAndYear")}),d=le(()=>`date-picker-header${V.value?"-reverse":""}-transition`),p=w(()=>{if(e.disabled)return!0;const v=[];if(o.value!=="month")v.push("prev","next");else{let b=a.date();if(b=a.startOfMonth(b),b=a.setMonth(b,l.value),b=a.setYear(b,s.value),k.value){const P=a.addDays(a.startOfMonth(b),-1);a.isAfter(k.value,P)&&v.push("prev")}if(r.value){const P=a.addDays(a.endOfMonth(b),1);a.isAfter(P,r.value)&&v.push("next")}}return v}),L=w(()=>e.allowedYears||Ie),W=w(()=>e.allowedMonths||Ne);function Z(v,b){const P=e.allowedDates;if(typeof P!="function")return!0;const T=1+ze(a,v,b);for(let B=0;B<T;B++)if(P(a.addDays(v,B)))return!0;return!1}function Ie(v){if(typeof e.allowedDates=="function"){const b=a.parseISO(`${v}-01-01`);return Z(b,a.endOfYear(b))}if(Array.isArray(e.allowedDates)&&e.allowedDates.length){for(const b of e.allowedDates)if(a.getYear(a.date(b))===v)return!0;return!1}return!0}function Ne(v){if(typeof e.allowedDates=="function"){const b=String(v+1).padStart(2,"0"),P=a.parseISO(`${s.value}-${b}-01`);return Z(P,a.endOfMonth(P))}if(Array.isArray(e.allowedDates)&&e.allowedDates.length){for(const b of e.allowedDates)if(a.getYear(a.date(b))===s.value&&a.getMonth(a.date(b))===v)return!0;return!1}return!0}function We(){l.value<11?l.value++:(s.value++,l.value=0,q()),J()}function Te(){l.value>0?l.value--:(s.value--,l.value=11,q()),J()}function Be(){o.value="month"}function ue(){o.value=o.value==="months"?"month":"months"}function se(){o.value=o.value==="year"?"month":"year"}function J(){o.value==="months"&&ue()}function q(){o.value==="year"&&se()}return oe(i,(v,b)=>{const P=ae(b),T=ae(v);if(!T.length)return;const B=a.date(P[P.length-1]),K=a.date(T[T.length-1]),F=a.getMonth(K),M=a.getYear(K);F!==l.value&&(l.value=F,J()),M!==s.value&&(s.value=M,q()),V.value=a.isBefore(B,K)}),E(()=>{const v=ve.filterProps(e),b=he.filterProps(e),P=ye.filterProps(e),T=ke.filterProps(e),B=X(ge.filterProps(e),["modelValue"]),K=X(be.filterProps(e),["modelValue"]),F={color:x.value,header:A.value,transition:d.value};return m(ve,Y(v,{color:x.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},y.value,e.class],style:e.style}),{title:()=>{var M;return((M=n.title)==null?void 0:M.call(n))??_("div",{class:"v-date-picker__title"},[u(e.title)])},header:()=>n.header?m(Me,{defaults:{VDatePickerHeader:{...F}}},{default:()=>{var M;return[(M=n.header)==null?void 0:M.call(n,F)]}}):m(ye,Y({key:"header"},P,F,{onClick:o.value!=="month"?Be:void 0}),{prepend:n.prepend,append:n.append}),default:()=>_(xe,null,[m(he,Y(b,{disabled:p.value,text:g.value,"onClick:next":We,"onClick:prev":Te,"onClick:month":ue,"onClick:year":se}),null),m(Qe,{hideOnLeave:!0},{default:()=>[o.value==="months"?m(ge,Y({key:"date-picker-months"},B,{modelValue:l.value,"onUpdate:modelValue":[M=>l.value=M,J],min:k.value,max:r.value,year:s.value,allowedMonths:W.value}),{month:n.month}):o.value==="year"?m(be,Y({key:"date-picker-years"},K,{modelValue:s.value,"onUpdate:modelValue":[M=>s.value=M,q],min:k.value,max:r.value,allowedYears:L.value}),{year:n.year}):m(ke,Y({key:"date-picker-month"},T,{modelValue:i.value,"onUpdate:modelValue":M=>i.value=M,month:l.value,"onUpdate:month":[M=>l.value=M,J],year:s.value,"onUpdate:year":[M=>s.value=M,q],min:k.value,max:r.value}),{day:n.day})]})]),actions:n.actions})}),{}}}),De={__name:"DateField",props:{modelValue:{type:Object,default:null},label:{type:String,default:""}},setup(e){const t=I(!1);function c(){t.value=!1}return(n,a)=>(j(),ne(Se,{modelValue:t.value,"onUpdate:modelValue":a[0]||(a[0]=u=>t.value=u),"close-on-content-click":!1,transition:"scale-transition","offset-y":"","min-width":"auto"},{activator:S(({props:u})=>[m(ea,Y({value:e.modelValue,label:e.label,"prepend-icon":"mdi-calendar",readonly:"",variant:"underlined"},u),null,16,["value","label"])]),default:S(()=>[m(ya,{value:e.modelValue,"no-title":"",onInput:c},null,8,["value"])]),_:1},8,["modelValue"]))}},ka={key:0},ga={class:"text-subtitle-1"},ba={class:"text-subtitle-1"},Da={__name:"TimeSerieChart",props:{domain:{type:Object,required:!1,default:null},graphicSet:{type:String,default:null},graphicName:{type:String,default:null}},setup(e){const{$gettext:t}=Je(),c=e,n=w(()=>o.value?o.value.title:""),a=I(!1),u=I({chart:{type:"area",stacked:!1,zoom:{type:"x",enabled:!0,autoScaleYaxis:!0},toolbar:{autoSelected:"zoom"}},dataLabels:{enabled:!1},yaxis:{},xaxis:{type:"datetime"}}),y=I(null),i=I(null),o=I(null),k=I("day"),r=I([{value:"day",name:t("Day")},{value:"week",name:t("Week")},{value:"month",name:t("Month")},{value:"year",name:t("Year")}]);function h(){return c.graphicName==="averagetraffic"?["#ff6347","#ffff00","#4682B4","#7cfc00","#ffa500","#d3d3d3"]:["#ffa500","#41d1cc"]}function D(){k.value="custom",C()}function x(l){l!==k.value&&(k.value=l,C())}function C(){const l={graphSet:c.graphicSet,period:k.value,graphicName:c.graphicName};c.domain&&(l.searchQuery=c.domain.name),k.value==="custom"&&(l.start=i.value,l.end=y.value),ca.getStatistics(l).then(f=>{o.value=f.data.graphs[c.graphicName]})}return qe(()=>{C()}),oe(()=>c.graphicName,()=>{u.value.colors=h()},{immediate:!0}),(l,f)=>{const s=Ke("apexchart");return j(),ne(sa,null,{default:S(()=>[m(la,{dense:"",elevation:"0"},{default:S(()=>[m(ra,null,{default:S(()=>[G($(n.value),1)]),_:1}),m(Pe),m(Se,{modelValue:a.value,"onUpdate:modelValue":f[2]||(f[2]=V=>a.value=V),"offset-y":""},{activator:S(({props:V})=>[m(O,Y({size:"small"},V,{"prepend-icon":"mdi-calendar"}),{default:S(()=>[G($(U(t)("Period"))+" ",1),k.value?(j(),de("span",ka,": "+$(k.value),1)):ce("",!0)]),_:1},16)]),default:S(()=>[m(ia,{class:"bg-white",fluid:""},{default:S(()=>[m(oa,{"no-gutters":""},{default:S(()=>[m(me,{cols:"12",md:"6",class:"pr-2"},{default:S(()=>[_("div",ga,$(U(t)("Absolute time range")),1),m(De,{modelValue:i.value,"onUpdate:modelValue":f[0]||(f[0]=V=>i.value=V),label:U(t)("From")},null,8,["modelValue","label"]),m(De,{modelValue:y.value,"onUpdate:modelValue":f[1]||(f[1]=V=>y.value=V),label:U(t)("To")},null,8,["modelValue","label"]),m(O,{color:"primary",onClick:D},{default:S(()=>[G($(U(t)("Apply")),1)]),_:1})]),_:1}),m(me,{cols:"12",md:"6"},{default:S(()=>[_("div",ba,$(U(t)("Relative time ranges")),1),m(aa,null,{default:S(()=>[(j(!0),de(xe,null,Ge(r.value,V=>(j(),ne(ta,{key:V.value,onClick:A=>x(V.value)},{default:S(()=>[m(na,null,{default:S(()=>[G($(V.name),1)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),m(ua,null,{default:S(()=>[o.value?(j(),ne(s,{key:0,type:"area",height:"350",options:u.value,series:o.value.series},null,8,["options","series"])):ce("",!0)]),_:1})]),_:1})}}},Ia=Ee(Da,[["__scopeId","data-v-9510c555"]]);export{Ia as T};
@@ -0,0 +1 @@
1
+ .v-date-picker{overflow:hidden;width:328px}.v-date-picker--show-week{width:368px}.v-date-picker-controls{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;height:var(--v-date-picker-controls-height, 56px);padding-top:4px;padding-bottom:4px;padding-inline-start:6px;padding-inline-end:12px;flex:1}.v-date-picker-controls>.v-btn:first-child{text-transform:none;font-weight:400;line-height:initial;letter-spacing:initial}.v-date-picker-controls--variant-classic{padding-inline-start:12px}.v-date-picker-controls--variant-modern .v-date-picker__title:not(:hover){opacity:.7}.v-date-picker--month .v-date-picker-controls--variant-modern .v-date-picker__title{cursor:pointer}.v-date-picker--year .v-date-picker-controls--variant-modern .v-date-picker__title{opacity:1}.v-date-picker-controls .v-btn:last-child{margin-inline-start:4px}.v-date-picker--year .v-date-picker-controls .v-date-picker-controls__mode-btn{transform:rotate(180deg)}.v-date-picker-controls__date{margin-inline-end:4px}.v-date-picker-controls--variant-classic .v-date-picker-controls__date{margin:auto;text-align:center}.v-date-picker-controls__month{display:flex}.v-locale--is-rtl.v-date-picker-controls__month,.v-locale--is-rtl .v-date-picker-controls__month{flex-direction:row-reverse}.v-date-picker-controls--variant-classic .v-date-picker-controls__month{flex:1 0 auto}.v-date-picker__title{display:inline-block}.v-date-picker-header{align-items:flex-end;height:70px;display:grid;grid-template-areas:"prepend content append";grid-template-columns:min-content minmax(0,1fr) min-content;overflow:hidden;padding-inline:24px 12px;padding-bottom:12px}.v-date-picker-header__append{grid-area:append}.v-date-picker-header__prepend{grid-area:prepend;padding-inline-start:8px}.v-date-picker-header__content{align-items:center;display:inline-flex;font-size:32px;line-height:40px;grid-area:content;justify-content:space-between}.v-date-picker-header--clickable .v-date-picker-header__content{cursor:pointer}.v-date-picker-header--clickable .v-date-picker-header__content:not(:hover){opacity:.7}.date-picker-header-transition-enter-active,.date-picker-header-reverse-transition-enter-active,.date-picker-header-transition-leave-active,.date-picker-header-reverse-transition-leave-active{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.date-picker-header-transition-enter-from{transform:translateY(100%)}.date-picker-header-transition-leave-to{opacity:0;transform:translateY(-100%)}.date-picker-header-reverse-transition-enter-from{transform:translateY(-100%)}.date-picker-header-reverse-transition-leave-to{opacity:0;transform:translateY(100%)}.v-date-picker-month{display:flex;justify-content:center;padding:0 12px 8px;--v-date-picker-month-day-diff: 4px}.v-date-picker-month__weeks{display:flex;flex-direction:column;column-gap:4px;font-size:.875rem}.v-date-picker-month__weekday{font-size:.875rem}.v-date-picker-month__days{display:grid;grid-template-columns:repeat(var(--v-date-picker-days-in-week),min-content);column-gap:4px}.v-date-picker-month__day{align-items:center;display:flex;justify-content:center;position:relative;height:40px;width:40px}.v-date-picker-month__day--selected .v-btn{background-color:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-date-picker-month__day .v-btn.v-date-picker-month__day-btn{--v-btn-height: 24px;--v-btn-size: .875rem}.v-date-picker-month__day--week{font-size:var(--v-btn-size)}.v-date-picker-month__day--adjacent{opacity:.5}.v-date-picker-month__day--hide-adjacent{opacity:0}.v-date-picker-months{height:288px}.v-date-picker-months__content{align-items:center;display:grid;flex:1 1;height:inherit;justify-content:space-around;grid-template-columns:repeat(2,1fr);grid-gap:0px 24px;padding-inline-start:36px;padding-inline-end:36px}.v-date-picker-months__content .v-btn{text-transform:none;padding-inline-start:8px;padding-inline-end:8px}.v-date-picker-years{height:288px;overflow-y:scroll}.v-date-picker-years__content{display:grid;flex:1 1;justify-content:space-around;grid-template-columns:repeat(3,1fr);gap:8px 24px;padding-inline:32px}.v-date-picker-years__content .v-btn{padding-inline:8px}.v-card[data-v-9510c555]{z-index:5}.v-menu__content[data-v-9510c555]{background-color:#fff!important}