modoboa 2.6.5__py3-none-any.whl → 2.7.0__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 (359) hide show
  1. modoboa/admin/api/v2/serializers.py +1 -0
  2. modoboa/admin/app_settings.py +12 -0
  3. modoboa/admin/{management/commands/subcommands/_mx.py → dns_checker.py} +41 -111
  4. modoboa/admin/jobs.py +86 -0
  5. modoboa/admin/management/commands/modo.py +0 -2
  6. modoboa/admin/tests/test_mailbox_operations.py +4 -4
  7. modoboa/admin/tests/test_mx.py +68 -56
  8. modoboa/amavis/jobs.py +11 -0
  9. modoboa/amavis/tests/test_jobs.py +18 -0
  10. modoboa/amavis/tests/test_viewsets.py +2 -3
  11. modoboa/autoconfig/templates/autoconfig/autoconfig.xml +2 -2
  12. modoboa/autoconfig/templates/autoconfig/autodiscover.xml +14 -0
  13. modoboa/autoconfig/tests.py +2 -1
  14. modoboa/autoconfig/views.py +11 -3
  15. modoboa/calendars/backends/caldav_.py +17 -13
  16. modoboa/calendars/jobs.py +7 -0
  17. modoboa/calendars/mocks.py +4 -1
  18. modoboa/calendars/serializers.py +14 -9
  19. modoboa/calendars/tests.py +10 -9
  20. modoboa/calendars/viewsets.py +3 -1
  21. modoboa/contacts/migrations/0008_addressbook_syncing.py +18 -0
  22. modoboa/contacts/models.py +1 -0
  23. modoboa/contacts/serializers.py +5 -2
  24. modoboa/contacts/tasks.py +9 -3
  25. modoboa/contacts/tests.py +32 -6
  26. modoboa/contacts/viewsets.py +7 -1
  27. modoboa/core/api/v2/serializers.py +0 -7
  28. modoboa/core/api/v2/tests.py +0 -10
  29. modoboa/core/app_settings.py +0 -22
  30. modoboa/core/commands/deploy.py +13 -0
  31. modoboa/core/commands/templates/cron_config.py.tpl +33 -0
  32. modoboa/core/commands/templates/settings.py.tpl +21 -0
  33. modoboa/core/jobs.py +34 -0
  34. modoboa/core/management/commands/load_initial_data.py +1 -1
  35. modoboa/core/password_hashers/base.py +4 -1
  36. modoboa/core/tests/test_core.py +0 -14
  37. modoboa/core/tests/test_jobs.py +40 -0
  38. modoboa/frontend_dist/assets/{AccountAliasForm-B-hTKSFr.js → AccountAliasForm-DO6DwfjE.js} +1 -1
  39. modoboa/frontend_dist/assets/{AccountEditView-LkP_qhf_.js → AccountEditView-CCuN9mGB.js} +1 -1
  40. modoboa/frontend_dist/assets/AccountLayout-Ge7fzuZg.js +1 -0
  41. modoboa/frontend_dist/assets/AccountPasswordSubForm-PkFPblkR.js +1 -0
  42. modoboa/frontend_dist/assets/AccountView-dgseekZ8.js +1 -0
  43. modoboa/frontend_dist/assets/AddressBook-DZWOHOJj.js +1 -0
  44. modoboa/frontend_dist/assets/AdminLayout-itB_mmH_.js +1 -0
  45. modoboa/frontend_dist/assets/AlarmsView-King6zb6.js +1 -0
  46. modoboa/frontend_dist/assets/{AliasEditView-BVjNJekt.js → AliasEditView-CTjrXYPf.js} +1 -1
  47. modoboa/frontend_dist/assets/AliasRecipientForm-CI7bXqVp.js +1 -0
  48. modoboa/frontend_dist/assets/{AliasView-DvvI6cV9.js → AliasView-BN13MNN_.js} +1 -1
  49. modoboa/frontend_dist/assets/AuditTrailView-C1jQwgoo.js +1 -0
  50. modoboa/frontend_dist/assets/CalendarView-juHVIHU5.css +1 -0
  51. modoboa/frontend_dist/assets/CalendarView-rRSzqxrH.js +1 -0
  52. modoboa/frontend_dist/assets/ChoiceField-DCr12shR.js +1 -0
  53. modoboa/frontend_dist/assets/ComposeEmailForm-BmtKwFb1.js +2 -0
  54. modoboa/frontend_dist/assets/ComposeEmailForm-CVNDl-Mq.css +1 -0
  55. modoboa/frontend_dist/assets/ComposeEmailView-JW22Phrb.js +1 -0
  56. modoboa/frontend_dist/assets/ConfirmDialog-CWpdwSQ6.js +1 -0
  57. modoboa/frontend_dist/assets/ConnectedLayout-BP8pO27H.js +1 -0
  58. modoboa/frontend_dist/assets/{ConnectedLayout-C6HNXWkp.css → ConnectedLayout-Ddpb_6yT.css} +1 -1
  59. modoboa/frontend_dist/assets/CreationForm-CzelJsVQ.js +1 -0
  60. modoboa/frontend_dist/assets/DashboardView-BBkBodVj.js +1 -0
  61. modoboa/frontend_dist/assets/{DomainAdminList-BO8_4Cwt.js → DomainAdminList-DD7p3i6F.js} +1 -1
  62. modoboa/frontend_dist/assets/{DomainEditView-BXylM4aB.js → DomainEditView-DoIoNYC4.js} +1 -1
  63. modoboa/frontend_dist/assets/{DomainTransportForm-Ccw5BXyM.js → DomainTransportForm-CbiJF9z5.js} +1 -1
  64. modoboa/frontend_dist/assets/{DomainView-Bd5XQI-1.js → DomainView-BXvznFYz.js} +3 -3
  65. modoboa/frontend_dist/assets/DomainsView-ffYjiffp.js +1 -0
  66. modoboa/frontend_dist/assets/EmailField-KhhJYA4D.js +1 -0
  67. modoboa/frontend_dist/assets/EmailSchedulingForm-CQL5Vfdr.js +1 -0
  68. modoboa/frontend_dist/assets/EmailView-Bq2bHZBO.js +1 -0
  69. modoboa/frontend_dist/assets/EmptyLayout-NrTftp18.js +1 -0
  70. modoboa/frontend_dist/assets/FiltersView-SOQy0U_3.js +1 -0
  71. modoboa/frontend_dist/assets/ForwardEmailView-kEPDjWUw.js +1 -0
  72. modoboa/frontend_dist/assets/{HtmlEditor-DNn3CY-w.js → HtmlEditor-CyBl5wj2.js} +15 -15
  73. modoboa/frontend_dist/assets/IdentitiesView-CZFf4oR9.js +1 -0
  74. modoboa/frontend_dist/assets/InformationView-CAtneAqM.js +1 -0
  75. modoboa/frontend_dist/assets/{LoadingData-CnQ_aVqa.js → LoadingData-C2txD49L.js} +1 -1
  76. modoboa/frontend_dist/assets/{LoginCallbackView-Nh_gmh8e.js → LoginCallbackView-DAvty3CI.js} +1 -1
  77. modoboa/frontend_dist/assets/{LoginView-BtC9BHuJ.js → LoginView-DHYITkn4.js} +1 -1
  78. modoboa/frontend_dist/assets/MailboxView-BNg2v7mi.css +1 -0
  79. modoboa/frontend_dist/assets/MailboxView-DHg5A78D.js +5 -0
  80. modoboa/frontend_dist/assets/MenuItems-C9p70bSC.js +1 -0
  81. modoboa/frontend_dist/assets/{MessageView-C1Goz-hY.js → MessageView-CrrEJpNI.js} +1 -1
  82. modoboa/frontend_dist/assets/MessagesView-CyecRd4I.js +1 -0
  83. modoboa/frontend_dist/assets/MigrationsView-DXGKKz2h.js +1 -0
  84. modoboa/frontend_dist/assets/{ParametersForm-BegEnkQM.js → ParametersForm-DFKYkPAs.js} +1 -1
  85. modoboa/frontend_dist/assets/ParametersView-B1wT5oyt.js +1 -0
  86. modoboa/frontend_dist/assets/ParametersView-CfvVzKea.js +1 -0
  87. modoboa/frontend_dist/assets/ProviderEditView-De-8ggBp.js +1 -0
  88. modoboa/frontend_dist/assets/{ProviderGeneralForm-BAELnXh6.js → ProviderGeneralForm-DO-IpJMQ.js} +1 -1
  89. modoboa/frontend_dist/assets/ProvidersView-Bhk7sCz4.js +1 -0
  90. modoboa/frontend_dist/assets/QuarantineLayout-C1YszNmP.js +1 -0
  91. modoboa/frontend_dist/assets/QuarantineView-cElD_rS-.js +1 -0
  92. modoboa/frontend_dist/assets/ReplyEmailView-BvuOZdLl.js +1 -0
  93. modoboa/frontend_dist/assets/ResourcesForm-FWxrmVwo.js +1 -0
  94. modoboa/frontend_dist/assets/SelfServiceLayout-JHRvfvQf.js +1 -0
  95. modoboa/frontend_dist/assets/SettingsView-SIsKAXtQ.css +1 -0
  96. modoboa/frontend_dist/assets/SettingsView-s2l2Xl1L.js +6 -0
  97. modoboa/frontend_dist/assets/StatisticsView-FiidWvad.js +1 -0
  98. modoboa/frontend_dist/assets/TimeSerieChart-CdqUHiO_.js +1 -0
  99. modoboa/frontend_dist/assets/TimeSerieChart-nLIFGI0y.css +1 -0
  100. modoboa/frontend_dist/assets/UserLayout-DyvI8duf.js +1 -0
  101. modoboa/frontend_dist/assets/{VAlert-Buv8Z5G4.js → VAlert-MDbeolOo.js} +1 -1
  102. modoboa/frontend_dist/assets/VApp-DM1KLQfQ.js +1 -0
  103. modoboa/frontend_dist/assets/VAutocomplete-C9NL5_uo.css +1 -0
  104. modoboa/frontend_dist/assets/VAutocomplete-CQsWYWNX.js +1 -0
  105. modoboa/frontend_dist/assets/VAvatar-CXV_FqpP.js +1 -0
  106. modoboa/frontend_dist/assets/VBadge-7tDx7aI3.js +1 -0
  107. modoboa/frontend_dist/assets/{VCard-D7AwBs4w.js → VCard-CBtX8JF-.js} +1 -1
  108. modoboa/frontend_dist/assets/VCheckbox-zY1MApOy.js +1 -0
  109. modoboa/frontend_dist/assets/{VCheckboxBtn-B5evxN9K.js → VCheckboxBtn-B0mIT3E0.js} +1 -1
  110. modoboa/frontend_dist/assets/VColorPicker-BbCHvk6K.js +1 -0
  111. modoboa/frontend_dist/assets/{VColorPicker-B_lVDaYR.css → VColorPicker-C9m8L-6U.css} +1 -1
  112. modoboa/frontend_dist/assets/{VContainer-DY9021j4.js → VContainer-Cn-vKB3s.js} +1 -1
  113. modoboa/frontend_dist/assets/VDataTable-CNT9KOSp.js +1 -0
  114. modoboa/frontend_dist/assets/VDataTableServer-_yn4Ry6U.js +1 -0
  115. modoboa/frontend_dist/assets/VDataTableVirtual-Csxh3Gp6.js +1 -0
  116. modoboa/frontend_dist/assets/VDatePicker-_OUDqShN.css +1 -0
  117. modoboa/frontend_dist/assets/VDatePicker-iFu13xIP.js +2 -0
  118. modoboa/frontend_dist/assets/VDialog-lKtBdqnp.js +1 -0
  119. modoboa/frontend_dist/assets/VExpansionPanels-CaIvk9iF.js +1 -0
  120. modoboa/frontend_dist/assets/VFileInput-C7J_qVmk.js +1 -0
  121. modoboa/frontend_dist/assets/VForm-fdQ5d-CH.js +1 -0
  122. modoboa/frontend_dist/assets/VInput-BwHvhzAe.js +1 -0
  123. modoboa/frontend_dist/assets/VMenu-BpmJf4X2.js +1 -0
  124. modoboa/frontend_dist/assets/VMenu-C5A_5Hs5.css +1 -0
  125. modoboa/frontend_dist/assets/VPicker-B7cB3kJg.css +1 -0
  126. modoboa/frontend_dist/assets/VPicker-BZho70wU.js +1 -0
  127. modoboa/frontend_dist/assets/VProgressCircular-DRw_-iNj.js +1 -0
  128. modoboa/frontend_dist/assets/VRadioGroup--eiP5xtJ.js +1 -0
  129. modoboa/frontend_dist/assets/{VRow-DyK_Mj7R.js → VRow-83Qnr5iB.js} +1 -1
  130. modoboa/frontend_dist/assets/VSelect-BcmGFGif.js +1 -0
  131. modoboa/frontend_dist/assets/{VSelectionControl-Dkms9_P5.js → VSelectionControl-Cqi1xt-q.js} +1 -1
  132. modoboa/frontend_dist/assets/VSheet-C3MaHhtw.js +1 -0
  133. modoboa/frontend_dist/assets/VSpacer-CuSkdJZL.js +1 -0
  134. modoboa/frontend_dist/assets/VSwitch-XumUl685.js +1 -0
  135. modoboa/frontend_dist/assets/{VTable-D8ZwwC_B.js → VTable-f7wcr2AZ.js} +1 -1
  136. modoboa/frontend_dist/assets/VTabs-CDfdejXj.css +1 -0
  137. modoboa/frontend_dist/assets/VTabs-y4wNP4im.js +1 -0
  138. modoboa/frontend_dist/assets/VTextField-BPIvtrn4.js +1 -0
  139. modoboa/frontend_dist/assets/VTextField-DjbYGlzs.css +1 -0
  140. modoboa/frontend_dist/assets/VTextarea-B6bGYcC3.js +1 -0
  141. modoboa/frontend_dist/assets/VTextarea-f6vTjzFy.css +1 -0
  142. modoboa/frontend_dist/assets/VToolbar-BYDPtwf0.css +1 -0
  143. modoboa/frontend_dist/assets/VToolbar-CB6wwtYc.js +1 -0
  144. modoboa/frontend_dist/assets/VWindowItem-CDtLLEkg.js +1 -0
  145. modoboa/frontend_dist/assets/WebmailLayout-CQQAolnl.css +1 -0
  146. modoboa/frontend_dist/assets/WebmailLayout-tosQSHLS.js +1 -0
  147. modoboa/frontend_dist/assets/{accounts-BZBqbAmd.js → accounts-KUsk6LHW.js} +1 -1
  148. modoboa/frontend_dist/assets/{admin-uCrKjpln.js → admin-BW9cZW0P.js} +1 -1
  149. modoboa/frontend_dist/assets/{aliases-CFwFkX45.js → aliases-Ge0hjIsH.js} +1 -1
  150. modoboa/frontend_dist/assets/{amavis-DCy0U0TD.js → amavis-BbFeFfsk.js} +1 -1
  151. modoboa/frontend_dist/assets/{amavis-B4ScfQsG.js → amavis-DtuzP_CS.js} +1 -1
  152. modoboa/frontend_dist/assets/{contacts-DKmh2q-4.js → contacts-DMJlQTe0.js} +1 -1
  153. modoboa/frontend_dist/assets/{domains-CDE4_LDF.js → domains-Du64lcXT.js} +1 -1
  154. modoboa/frontend_dist/assets/{domains.store-a9Y5UlDV.js → domains.store-1U61jeCV.js} +1 -1
  155. modoboa/frontend_dist/assets/events-BM3in65C.js +1 -0
  156. modoboa/frontend_dist/assets/filter-Dihm6o59.js +1 -0
  157. modoboa/frontend_dist/assets/importExport-HGcNGWOm.js +1 -0
  158. modoboa/frontend_dist/assets/{index-B9q1vO3K.css → index-B1EK3MQe.css} +1 -1
  159. modoboa/frontend_dist/assets/{index-Dwg6jPTX.js → index-Dv00bmw9.js} +1 -1
  160. modoboa/frontend_dist/assets/{index-BjibLozh.js → index-jui3edpn.js} +47 -41
  161. modoboa/frontend_dist/assets/{language.store-DGuI8jG0.js → language.store-OcfdXL_-.js} +1 -1
  162. modoboa/frontend_dist/assets/languages-CF8hxo7x.js +1 -0
  163. modoboa/frontend_dist/assets/{layout-5PvsmkGR.js → layout-DOO7TRTJ.js} +1 -1
  164. modoboa/frontend_dist/assets/{layout.store-DJVcXtxk.js → layout.store-C0g-piJn.js} +1 -1
  165. modoboa/frontend_dist/assets/{logos-CMmd0hOG.js → logos-Dz2Gzei-.js} +1 -1
  166. modoboa/frontend_dist/assets/{logs-D2GOydPZ.js → logs-CLm32Weu.js} +1 -1
  167. modoboa/frontend_dist/assets/{parameters-DJdlq9sh.js → parameters-DMIAQ7cd.js} +1 -1
  168. modoboa/frontend_dist/assets/{parameters.store-DH3pPlaT.js → parameters.store-DLnFzCwV.js} +1 -1
  169. modoboa/frontend_dist/assets/{permissions-CgFJFhCp.js → permissions-CrpE0b4w.js} +1 -1
  170. modoboa/frontend_dist/assets/{ssrBoot-ChTB-PYP.js → ssrBoot-B7cr7q9U.js} +1 -1
  171. modoboa/frontend_dist/assets/{tag-CvrHE14f.js → tag-WF93n81Q.js} +1 -1
  172. modoboa/frontend_dist/assets/{theme-DFzlhSh5.js → theme-_0oOYChG.js} +1 -1
  173. modoboa/frontend_dist/assets/transports-CS61syt-.js +1 -0
  174. modoboa/frontend_dist/assets/webmail-CYDXU0DS.js +1 -0
  175. modoboa/frontend_dist/assets/webmail.store-BvHCQSjM.js +1 -0
  176. modoboa/frontend_dist/index.html +2 -2
  177. modoboa/imap_migration/models.py +3 -3
  178. modoboa/imap_migration/templates/imap_migration/offlineimap.conf +2 -2
  179. modoboa/imap_migration/tests.py +21 -0
  180. modoboa/lib/cryptutils.py +2 -2
  181. modoboa/lib/sysutils.py +1 -1
  182. modoboa/lib/tests/__init__.py +0 -1
  183. modoboa/locale/br/LC_MESSAGES/django.mo +0 -0
  184. modoboa/locale/br/LC_MESSAGES/django.po +301 -273
  185. modoboa/locale/cs/LC_MESSAGES/django.po +286 -269
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  187. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +303 -275
  188. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  189. modoboa/locale/de/LC_MESSAGES/django.po +297 -269
  190. modoboa/locale/de_DE/LC_MESSAGES/django.mo +0 -0
  191. modoboa/locale/de_DE/LC_MESSAGES/django.po +303 -275
  192. modoboa/locale/el_GR/LC_MESSAGES/django.mo +0 -0
  193. modoboa/locale/el_GR/LC_MESSAGES/django.po +303 -275
  194. modoboa/locale/en/LC_MESSAGES/django.po +286 -269
  195. modoboa/locale/es/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/es/LC_MESSAGES/django.po +302 -274
  197. modoboa/locale/es_MX/LC_MESSAGES/django.po +286 -269
  198. modoboa/locale/fi/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/fi/LC_MESSAGES/django.po +299 -271
  200. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/fr/LC_MESSAGES/django.po +288 -271
  202. modoboa/locale/hu/LC_MESSAGES/django.po +286 -269
  203. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  204. modoboa/locale/it/LC_MESSAGES/django.po +303 -275
  205. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/ja_JP/LC_MESSAGES/django.po +390 -413
  207. modoboa/locale/ka/LC_MESSAGES/django.po +286 -269
  208. modoboa/locale/nl_NL/LC_MESSAGES/django.mo +0 -0
  209. modoboa/locale/nl_NL/LC_MESSAGES/django.po +299 -271
  210. modoboa/locale/no/LC_MESSAGES/django.po +286 -269
  211. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  212. modoboa/locale/pl_PL/LC_MESSAGES/django.po +297 -269
  213. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  214. modoboa/locale/pt_BR/LC_MESSAGES/django.po +298 -270
  215. modoboa/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  216. modoboa/locale/pt_PT/LC_MESSAGES/django.po +303 -275
  217. modoboa/locale/ro_RO/LC_MESSAGES/django.mo +0 -0
  218. modoboa/locale/ro_RO/LC_MESSAGES/django.po +299 -271
  219. modoboa/locale/ru/LC_MESSAGES/django.mo +0 -0
  220. modoboa/locale/ru/LC_MESSAGES/django.po +993 -1096
  221. modoboa/locale/si/LC_MESSAGES/django.po +286 -269
  222. modoboa/locale/sk/LC_MESSAGES/django.po +286 -269
  223. modoboa/locale/sk_SK/LC_MESSAGES/django.po +286 -269
  224. modoboa/locale/sl_SI/LC_MESSAGES/django.po +288 -269
  225. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  226. modoboa/locale/sv/LC_MESSAGES/django.po +297 -269
  227. modoboa/locale/tr/LC_MESSAGES/django.mo +0 -0
  228. modoboa/locale/tr/LC_MESSAGES/django.po +301 -272
  229. modoboa/locale/tr_TR/LC_MESSAGES/django.mo +0 -0
  230. modoboa/locale/tr_TR/LC_MESSAGES/django.po +291 -269
  231. modoboa/locale/uk/LC_MESSAGES/django.po +286 -269
  232. modoboa/locale/zh/LC_MESSAGES/django.po +286 -269
  233. modoboa/locale/zh_CN/LC_MESSAGES/django.po +286 -269
  234. modoboa/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  235. modoboa/locale/zh_TW/LC_MESSAGES/django.po +295 -273
  236. modoboa/maillog/jobs.py +11 -0
  237. modoboa/maillog/tests/test_views.py +5 -4
  238. modoboa/parameters/api/v2/tests.py +1 -1
  239. modoboa/policyd/management/commands/policy_daemon.py +5 -1
  240. modoboa/policyd/tests.py +4 -2
  241. modoboa/rspamd/tests.py +20 -0
  242. modoboa/templates/registration/twofactor_code_verify.html +1 -1
  243. modoboa/webmail/app_settings.py +37 -0
  244. modoboa/webmail/constants.py +21 -1
  245. modoboa/webmail/factories.py +19 -0
  246. modoboa/webmail/jobs.py +27 -0
  247. modoboa/webmail/lib/__init__.py +0 -2
  248. modoboa/webmail/lib/imapemail.py +9 -11
  249. modoboa/webmail/lib/imapheader.py +25 -13
  250. modoboa/webmail/lib/imaputils.py +51 -13
  251. modoboa/webmail/lib/sendmail.py +88 -105
  252. modoboa/webmail/lib/utils.py +109 -0
  253. modoboa/webmail/migrations/0001_initial.py +90 -0
  254. modoboa/webmail/migrations/__init__.py +0 -0
  255. modoboa/webmail/mocks.py +12 -3
  256. modoboa/webmail/models.py +102 -0
  257. modoboa/webmail/serializers.py +84 -4
  258. modoboa/webmail/tests/data.py +21 -0
  259. modoboa/webmail/tests/test_lib_imaputils.py +33 -0
  260. modoboa/webmail/tests/test_viewsets.py +108 -0
  261. modoboa/webmail/urls.py +5 -0
  262. modoboa/webmail/viewsets.py +39 -9
  263. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/METADATA +16 -13
  264. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/RECORD +269 -252
  265. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/WHEEL +1 -1
  266. modoboa/admin/management/commands/handle_mailbox_operations.py +0 -103
  267. modoboa/core/management/commands/cleanlogs.py +0 -53
  268. modoboa/frontend_dist/assets/AccountLayout-APeC9bsN.js +0 -1
  269. modoboa/frontend_dist/assets/AccountPasswordSubForm-D4vB2yQK.js +0 -1
  270. modoboa/frontend_dist/assets/AccountView-CloBP1BY.js +0 -1
  271. modoboa/frontend_dist/assets/AddressBook-C03MXg3y.js +0 -1
  272. modoboa/frontend_dist/assets/AdminLayout-DFmyKOo6.js +0 -1
  273. modoboa/frontend_dist/assets/AlarmsView-CFhH0I5d.js +0 -1
  274. modoboa/frontend_dist/assets/AliasRecipientForm-CZ_SvjtG.js +0 -1
  275. modoboa/frontend_dist/assets/AuditTrailView-Cyq25Jle.js +0 -1
  276. modoboa/frontend_dist/assets/CalendarView-C_dSXRp9.js +0 -1
  277. modoboa/frontend_dist/assets/ChoiceField-BPhUvoyr.js +0 -1
  278. modoboa/frontend_dist/assets/ComposeEmailForm-D3yUbBJX.css +0 -1
  279. modoboa/frontend_dist/assets/ComposeEmailForm-Ns5SYs4J.js +0 -1
  280. modoboa/frontend_dist/assets/ComposeEmailView-DgUfiWEH.js +0 -1
  281. modoboa/frontend_dist/assets/ConfirmDialog-BMIg94-U.js +0 -1
  282. modoboa/frontend_dist/assets/ConnectedLayout-CSXdVJtV.js +0 -1
  283. modoboa/frontend_dist/assets/CreationForm-CaAZYATm.js +0 -1
  284. modoboa/frontend_dist/assets/DashboardView-DErmyUoy.js +0 -1
  285. modoboa/frontend_dist/assets/DomainsView-CC1EwRId.js +0 -1
  286. modoboa/frontend_dist/assets/EmailField-BFgga4zp.js +0 -1
  287. modoboa/frontend_dist/assets/EmailView-DPWTch_6.js +0 -1
  288. modoboa/frontend_dist/assets/EmptyLayout-DAw7fAab.js +0 -1
  289. modoboa/frontend_dist/assets/FiltersView-Cg9lkLw0.js +0 -1
  290. modoboa/frontend_dist/assets/ForwardEmailView-Dd1sxgaP.js +0 -1
  291. modoboa/frontend_dist/assets/IdentitiesView-CiHIQ9Qt.js +0 -1
  292. modoboa/frontend_dist/assets/InformationView-Cc0aBA5j.js +0 -1
  293. modoboa/frontend_dist/assets/MailboxView-DIVABvk5.css +0 -1
  294. modoboa/frontend_dist/assets/MailboxView-DplC0IXR.js +0 -5
  295. modoboa/frontend_dist/assets/MenuItems-efx2rqwT.js +0 -1
  296. modoboa/frontend_dist/assets/MessagesView-CesYYZ9f.js +0 -1
  297. modoboa/frontend_dist/assets/MigrationsView-DSBk8T0y.js +0 -1
  298. modoboa/frontend_dist/assets/ParametersView-B8W_PAiz.js +0 -1
  299. modoboa/frontend_dist/assets/ParametersView-Dsx2M_g9.js +0 -1
  300. modoboa/frontend_dist/assets/ProviderEditView-PEAr7MA1.js +0 -1
  301. modoboa/frontend_dist/assets/ProvidersView-CHvQf3Vv.js +0 -1
  302. modoboa/frontend_dist/assets/QuarantineLayout-BWEaBK48.js +0 -1
  303. modoboa/frontend_dist/assets/QuarantineView-BzjeDhTm.js +0 -1
  304. modoboa/frontend_dist/assets/ReplyEmailView-CwQ9jsce.js +0 -1
  305. modoboa/frontend_dist/assets/ResourcesForm-noC3AXd9.js +0 -1
  306. modoboa/frontend_dist/assets/SelfServiceLayout-DQgRMu0L.js +0 -1
  307. modoboa/frontend_dist/assets/SettingsView-DJTdIeRK.css +0 -1
  308. modoboa/frontend_dist/assets/SettingsView-Dgwpfd8O.js +0 -6
  309. modoboa/frontend_dist/assets/StatisticsView-BZkVSh5o.js +0 -1
  310. modoboa/frontend_dist/assets/TimeSerieChart-BXJwhTMO.js +0 -1
  311. modoboa/frontend_dist/assets/TimeSerieChart-C3XHmlRd.css +0 -1
  312. modoboa/frontend_dist/assets/UserLayout-CWK9ICfE.js +0 -1
  313. modoboa/frontend_dist/assets/VApp-CiIBWB_Q.js +0 -1
  314. modoboa/frontend_dist/assets/VAutocomplete-DcNqTIie.js +0 -1
  315. modoboa/frontend_dist/assets/VAutocomplete-hzGuLlUI.css +0 -1
  316. modoboa/frontend_dist/assets/VAvatar-BsHplcRP.js +0 -1
  317. modoboa/frontend_dist/assets/VBadge-CavP_E2g.js +0 -1
  318. modoboa/frontend_dist/assets/VCheckbox-CKW9lz5i.js +0 -1
  319. modoboa/frontend_dist/assets/VColorPicker-Bsrz8yif.js +0 -1
  320. modoboa/frontend_dist/assets/VDataTable-ocZo8ju0.js +0 -1
  321. modoboa/frontend_dist/assets/VDataTableServer-CJfpYXQW.js +0 -1
  322. modoboa/frontend_dist/assets/VDataTableVirtual-Cr8yw49k.js +0 -1
  323. modoboa/frontend_dist/assets/VDialog-CUMh3paI.js +0 -1
  324. modoboa/frontend_dist/assets/VExpansionPanels-CkwHiKsA.js +0 -1
  325. modoboa/frontend_dist/assets/VFileInput-D5qlksIG.js +0 -1
  326. modoboa/frontend_dist/assets/VForm-ClJU5x_v.js +0 -1
  327. modoboa/frontend_dist/assets/VInput-DhzSMFXh.js +0 -1
  328. modoboa/frontend_dist/assets/VMenu-B53a3gm6.js +0 -1
  329. modoboa/frontend_dist/assets/VMenu-BEipA1lw.css +0 -1
  330. modoboa/frontend_dist/assets/VPicker-B928ZVJQ.js +0 -1
  331. modoboa/frontend_dist/assets/VPicker-ClSXs6kv.css +0 -1
  332. modoboa/frontend_dist/assets/VProgressCircular-viI3jDXe.js +0 -1
  333. modoboa/frontend_dist/assets/VRadioGroup-C0bqFrYg.js +0 -1
  334. modoboa/frontend_dist/assets/VSelect-y0E5_vPn.js +0 -1
  335. modoboa/frontend_dist/assets/VSheet-DQkh_hsX.js +0 -1
  336. modoboa/frontend_dist/assets/VSpacer-CBqB9uSt.js +0 -1
  337. modoboa/frontend_dist/assets/VSwitch-D4xdR9jz.js +0 -1
  338. modoboa/frontend_dist/assets/VTabs-D2c0KeF2.js +0 -1
  339. modoboa/frontend_dist/assets/VTabs-NzpINroH.css +0 -1
  340. modoboa/frontend_dist/assets/VTextField-Cow3HZvI.css +0 -1
  341. modoboa/frontend_dist/assets/VTextField-DvvH1ciR.js +0 -1
  342. modoboa/frontend_dist/assets/VTextarea-DHtXtzqP.js +0 -1
  343. modoboa/frontend_dist/assets/VTextarea-DyGjqrlm.css +0 -1
  344. modoboa/frontend_dist/assets/VToolbar-CB2GrZpA.css +0 -1
  345. modoboa/frontend_dist/assets/VToolbar-pvLQtmbU.js +0 -1
  346. modoboa/frontend_dist/assets/VWindowItem-DErNPSH8.js +0 -1
  347. modoboa/frontend_dist/assets/WebmailLayout-BzW0LWYp.css +0 -1
  348. modoboa/frontend_dist/assets/WebmailLayout-D7J-QJ-0.js +0 -1
  349. modoboa/frontend_dist/assets/filter-BVvMTmPG.js +0 -1
  350. modoboa/frontend_dist/assets/global.store-Bha4Z76j.js +0 -1
  351. modoboa/frontend_dist/assets/importExport-EgijWlC1.js +0 -1
  352. modoboa/frontend_dist/assets/languages-Cge6pECg.js +0 -1
  353. modoboa/frontend_dist/assets/transports-BUSYxSF4.js +0 -1
  354. modoboa/frontend_dist/assets/webmail-HVg3ZHC0.js +0 -1
  355. modoboa/frontend_dist/assets/webmail.store-D-d88s4w.js +0 -1
  356. {modoboa-2.6.5.data → modoboa-2.7.0.data}/scripts/modoboa-admin.py +0 -0
  357. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/entry_points.txt +0 -0
  358. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/licenses/LICENSE +0 -0
  359. {modoboa-2.6.5.dist-info → modoboa-2.7.0.dist-info}/top_level.txt +0 -0
@@ -1 +0,0 @@
1
- .v-text-field input{color:inherit;opacity:0;flex:1;transition:.15s opacity cubic-bezier(.4,0,.2,1);min-width:0}.v-text-field input:focus,.v-text-field input:active{outline:none}.v-text-field input:invalid{box-shadow:none}.v-text-field .v-field{cursor:text}.v-text-field--prefixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-start: 6px}.v-text-field--suffixed.v-text-field .v-field:not(.v-field--reverse) .v-field__input{--v-field-padding-end: 0}.v-text-field--prefixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-end: 6px}.v-text-field--suffixed.v-text-field .v-field.v-field--reverse .v-field__input{--v-field-padding-start: 0}.v-text-field .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-text-field .v-input__details{padding-inline:0}.v-text-field .v-field--no-label input,.v-text-field .v-field--active input{opacity:1}.v-text-field .v-field--single-line input{transition:none}.v-text-field__prefix,.v-text-field__suffix{align-items:center;color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));cursor:default;display:flex;opacity:0;transition:inherit;white-space:nowrap;min-height:max(var(--v-input-control-height, 56px),1.5rem + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));padding-top:calc(var(--v-field-padding-top, 4px) + var(--v-input-padding-top, 0));padding-bottom:var(--v-field-padding-bottom, 6px)}.v-field--active .v-text-field__prefix,.v-field--active .v-text-field__suffix{opacity:1}.v-field--disabled .v-text-field__prefix,.v-field--disabled .v-text-field__suffix{color:rgba(var(--v-theme-on-surface),var(--v-disabled-opacity))}.v-field:not(.v-field--reverse) .v-text-field__prefix{padding-inline-start:var(--v-field-padding-start)}.v-field.v-field--reverse .v-text-field__prefix{padding-inline-end:var(--v-field-padding-end)}.v-field:not(.v-field--reverse) .v-text-field__suffix{padding-inline-end:var(--v-field-padding-end)}.v-field.v-field--reverse .v-text-field__suffix{padding-inline-start:var(--v-field-padding-start)}.v-counter{color:rgba(var(--v-theme-on-surface),var(--v-medium-emphasis-opacity));flex:0 1 auto;font-size:12px;transition-duration:.15s;white-space:nowrap}.v-field{display:grid;grid-template-areas:"prepend-inner field clear append-inner";grid-template-columns:min-content minmax(0,1fr) min-content min-content;font-size:16px;letter-spacing:.009375em;max-width:100%;border-radius:4px;contain:layout;flex:1 0;grid-area:control;position:relative;--v-theme-overlay-multiplier: 1;--v-field-padding-start: 16px;--v-field-padding-end: 16px;--v-field-padding-top: 8px;--v-field-padding-bottom: 4px;--v-field-input-padding-top: calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px));--v-field-input-padding-bottom: var(--v-field-padding-bottom, 4px)}.v-field--disabled{opacity:var(--v-disabled-opacity);pointer-events:none}.v-field .v-chip{--v-chip-height: 24px}.v-field--prepended{padding-inline-start:12px}.v-field--appended{padding-inline-end:12px}.v-field--variant-solo,.v-field--variant-solo-filled{background:rgb(var(--v-theme-surface));border-color:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-field--variant-solo,.v-field--variant-solo-filled{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-field--variant-solo-inverted{background:rgb(var(--v-theme-surface));border-color:transparent;color:rgba(var(--v-theme-on-surface),var(--v-high-emphasis-opacity))}.v-field--variant-solo-inverted{box-shadow:0 3px 1px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 2px 2px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 5px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-field--variant-solo-inverted.v-field--focused{color:rgb(var(--v-theme-on-surface-variant))}.v-field--variant-filled{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-input--density-default .v-field--variant-solo,.v-input--density-default .v-field--variant-solo-inverted,.v-input--density-default .v-field--variant-solo-filled,.v-input--density-default .v-field--variant-filled{--v-input-control-height: 56px;--v-field-padding-bottom: 4px}.v-input--density-comfortable .v-field--variant-solo,.v-input--density-comfortable .v-field--variant-solo-inverted,.v-input--density-comfortable .v-field--variant-solo-filled,.v-input--density-comfortable .v-field--variant-filled{--v-input-control-height: 48px;--v-field-padding-bottom: 0px}.v-input--density-compact .v-field--variant-solo,.v-input--density-compact .v-field--variant-solo-inverted,.v-input--density-compact .v-field--variant-solo-filled,.v-input--density-compact .v-field--variant-filled{--v-input-control-height: 40px;--v-field-padding-bottom: 0px}.v-field--variant-outlined,.v-field--single-line,.v-field--no-label{--v-field-padding-top: 0px}.v-input--density-default .v-field--variant-outlined,.v-input--density-default .v-field--single-line,.v-input--density-default .v-field--no-label{--v-field-padding-bottom: 16px}.v-input--density-comfortable .v-field--variant-outlined,.v-input--density-comfortable .v-field--single-line,.v-input--density-comfortable .v-field--no-label{--v-field-padding-bottom: 12px}.v-input--density-compact .v-field--variant-outlined,.v-input--density-compact .v-field--single-line,.v-input--density-compact .v-field--no-label{--v-field-padding-bottom: 8px}.v-field--variant-plain,.v-field--variant-underlined{border-radius:0;padding:0}.v-field--variant-plain.v-field,.v-field--variant-underlined.v-field{--v-field-padding-start: 0px;--v-field-padding-end: 0px}.v-input--density-default .v-field--variant-plain,.v-input--density-default .v-field--variant-underlined{--v-input-control-height: 48px;--v-field-padding-top: 4px;--v-field-padding-bottom: 4px}.v-input--density-comfortable .v-field--variant-plain,.v-input--density-comfortable .v-field--variant-underlined{--v-input-control-height: 40px;--v-field-padding-top: 2px;--v-field-padding-bottom: 0px}.v-input--density-compact .v-field--variant-plain,.v-input--density-compact .v-field--variant-underlined{--v-input-control-height: 32px;--v-field-padding-top: 0px;--v-field-padding-bottom: 0px}.v-field--flat{box-shadow:none}.v-field--rounded{border-radius:24px}.v-field.v-field--prepended{--v-field-padding-start: 6px}.v-field.v-field--appended{--v-field-padding-end: 6px}.v-field__input{align-items:center;color:inherit;column-gap:2px;display:flex;flex-wrap:wrap;letter-spacing:.009375em;opacity:var(--v-high-emphasis-opacity);min-height:max(var(--v-input-control-height, 56px),1.5rem + var(--v-field-input-padding-top) + var(--v-field-input-padding-bottom));min-width:0;padding-inline:var(--v-field-padding-start) var(--v-field-padding-end);padding-top:var(--v-field-input-padding-top);padding-bottom:var(--v-field-input-padding-bottom);position:relative;width:100%}.v-input--density-default .v-field__input{row-gap:8px}.v-input--density-comfortable .v-field__input{row-gap:6px}.v-input--density-compact .v-field__input{row-gap:4px}.v-field__input input{letter-spacing:inherit}.v-field__input input::placeholder,input.v-field__input::placeholder,textarea.v-field__input::placeholder{color:currentColor;opacity:var(--v-disabled-opacity)}.v-field__input:focus,.v-field__input:active{outline:none}.v-field__input:invalid{box-shadow:none}.v-field__field{flex:1 0;grid-area:field;position:relative;align-items:flex-start;display:flex}.v-field__prepend-inner{grid-area:prepend-inner;padding-inline-end:var(--v-field-padding-after)}.v-field__clearable{grid-area:clear}.v-field__append-inner{grid-area:append-inner;padding-inline-start:var(--v-field-padding-after)}.v-field__append-inner,.v-field__clearable,.v-field__prepend-inner{display:flex;align-items:flex-start;padding-top:var(--v-input-padding-top, 8px)}.v-field--center-affix .v-field__append-inner,.v-field--center-affix .v-field__clearable,.v-field--center-affix .v-field__prepend-inner{align-items:center;padding-top:0}.v-field.v-field--variant-underlined .v-field__append-inner,.v-field.v-field--variant-underlined .v-field__clearable,.v-field.v-field--variant-underlined .v-field__prepend-inner,.v-field.v-field--variant-plain .v-field__append-inner,.v-field.v-field--variant-plain .v-field__clearable,.v-field.v-field--variant-plain .v-field__prepend-inner{align-items:flex-start;padding-top:calc(var(--v-field-padding-top, 8px) + var(--v-input-padding-top, 0px));padding-bottom:var(--v-field-padding-bottom, 4px)}.v-field--focused .v-field__prepend-inner,.v-field--focused .v-field__append-inner{opacity:1}.v-field__prepend-inner>.v-icon,.v-field__append-inner>.v-icon,.v-field__clearable>.v-icon{opacity:var(--v-medium-emphasis-opacity)}.v-field--disabled .v-field__prepend-inner>.v-icon,.v-field--error .v-field__prepend-inner>.v-icon,.v-field--glow.v-field--focused .v-field__prepend-inner>.v-icon,.v-field--disabled .v-field__append-inner>.v-icon,.v-field--error .v-field__append-inner>.v-icon,.v-field--glow.v-field--focused .v-field__append-inner>.v-icon,.v-field--disabled .v-field__clearable>.v-icon,.v-field--error .v-field__clearable>.v-icon,.v-field--glow.v-field--focused .v-field__clearable>.v-icon{opacity:1}.v-field--error:not(.v-field--disabled) .v-field__prepend-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__append-inner>.v-icon,.v-field--error:not(.v-field--disabled) .v-field__clearable>.v-icon{color:rgb(var(--v-theme-error))}.v-field__clearable{cursor:pointer;opacity:0;overflow:hidden;margin-inline:4px;transition:.15s cubic-bezier(.4,0,.2,1);transition-property:opacity,transform,width}@media(prefers-reduced-motion:reduce){.v-field__clearable{transition-property:opacity}}.v-field--focused .v-field__clearable,.v-field--persistent-clear .v-field__clearable{opacity:1}@media(hover:hover){.v-field:hover .v-field__clearable{opacity:1}}@media(hover:none){.v-field__clearable{opacity:1}}.v-label.v-field-label{contain:layout paint;display:block;margin-inline-start:var(--v-field-padding-start);margin-inline-end:var(--v-field-padding-end);max-width:calc(100% - var(--v-field-padding-start) - var(--v-field-padding-end));pointer-events:none;position:absolute;top:var(--v-input-padding-top);transform-origin:left center;z-index:1}@media(prefers-reduced-motion:no-preference){.v-label.v-field-label{transition:.15s cubic-bezier(.4,0,.2,1);transition-property:opacity,transform}}.v-field--variant-underlined .v-label.v-field-label,.v-field--variant-plain .v-label.v-field-label{top:calc(var(--v-input-padding-top) + var(--v-field-padding-top))}.v-field--center-affix .v-label.v-field-label{top:50%;transform:translateY(-50%)}.v-field--active .v-label.v-field-label{visibility:hidden}.v-field--focused .v-label.v-field-label,.v-field--error .v-label.v-field-label{opacity:1}.v-field--error:not(.v-field--disabled) .v-label.v-field-label{color:rgb(var(--v-theme-error))}.v-label.v-field-label--floating{--v-field-label-scale: .75em;font-size:var(--v-field-label-scale);visibility:hidden}.v-field--variant-outlined .v-label.v-field-label--floating{max-width:100%}.v-field--center-affix .v-label.v-field-label--floating{transform:none}.v-field.v-field--active .v-label.v-field-label--floating{visibility:unset}.v-input--density-default .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-default .v-field--variant-solo-filled .v-label.v-field-label--floating{top:7px}.v-input--density-comfortable .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-comfortable .v-field--variant-solo-filled .v-label.v-field-label--floating{top:5px}.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:3px}.v-field--variant-plain .v-label.v-field-label--floating,.v-field--variant-underlined .v-label.v-field-label--floating{transform:translateY(-16px);margin:0;top:var(--v-input-padding-top)}.v-field--variant-outlined .v-label.v-field-label--floating{transform:translateY(-50%);transform-origin:center;position:static;margin:0 4px}.v-field__outline{--v-field-border-width: 1px;--v-field-border-opacity: .38;align-items:stretch;contain:layout;display:flex;height:100%;left:0;pointer-events:none;position:absolute;right:0;width:100%}@media(hover:hover){.v-field:hover .v-field__outline{--v-field-border-opacity: var(--v-high-emphasis-opacity)}}.v-field--error:not(.v-field--disabled) .v-field__outline{color:rgb(var(--v-theme-error))}.v-field.v-field--focused .v-field__outline,.v-input.v-input--error .v-field__outline{--v-field-border-opacity: 1}.v-field--variant-outlined.v-field--focused .v-field__outline{--v-field-border-width: 2px}.v-field--variant-filled .v-field__outline:before,.v-field--variant-underlined .v-field__outline:before{border-color:currentColor;border-style:solid;border-width:0 0 var(--v-field-border-width);opacity:var(--v-field-border-opacity);transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled .v-field__outline:before,.v-field--variant-underlined .v-field__outline:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-filled .v-field__outline:after,.v-field--variant-underlined .v-field__outline:after{border-color:currentColor;border-style:solid;border-width:0 0 2px;transform:scaleX(0);transition:transform .15s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled .v-field__outline:after,.v-field--variant-underlined .v-field__outline:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--focused.v-field--variant-filled .v-field__outline:after,.v-field--focused.v-field--variant-underlined .v-field__outline:after{transform:scaleX(1)}.v-field--variant-outlined .v-field__outline{border-radius:inherit}.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{border:0 solid currentColor;opacity:var(--v-field-border-opacity)}@media(prefers-reduced-motion:no-preference){.v-field--variant-outlined .v-field__outline__start,.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after,.v-field--variant-outlined .v-field__outline__end{transition:opacity .25s cubic-bezier(.4,0,.2,1)}}.v-field--variant-outlined .v-field__outline__start{flex:0 0 12px;border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-start-width:var(--v-field-border-width);border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit}.v-field--rounded.v-field--variant-outlined .v-field__outline__start,[class^=rounded-].v-field--variant-outlined .v-field__outline__start,[class*=" rounded-"].v-field--variant-outlined .v-field__outline__start{flex-basis:calc(var(--v-input-control-height) / 2 + 2px)}.v-field--reverse.v-field--variant-outlined .v-field__outline__start{border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0;border-inline-end-width:var(--v-field-border-width);border-inline-start-width:0}.v-field--variant-outlined .v-field__outline__notch{flex:none;position:relative;max-width:calc(100% - 24px)}.v-field--rounded.v-field--variant-outlined .v-field__outline__notch,[class^=rounded-].v-field--variant-outlined .v-field__outline__notch,[class*=" rounded-"].v-field--variant-outlined .v-field__outline__notch{max-width:calc(100% - var(--v-input-control-height))}.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after{opacity:var(--v-field-border-opacity)}.v-field--variant-outlined .v-field__outline__notch:before,.v-field--variant-outlined .v-field__outline__notch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-outlined .v-field__outline__notch:before{border-width:var(--v-field-border-width) 0 0}.v-field--variant-outlined .v-field__outline__notch:after{bottom:0;border-width:0 0 var(--v-field-border-width)}.v-field--active.v-field--variant-outlined .v-field__outline__notch:before{opacity:0}.v-field--variant-outlined .v-field__outline__end{flex:1;border-top-width:var(--v-field-border-width);border-bottom-width:var(--v-field-border-width);border-inline-end-width:var(--v-field-border-width);border-start-start-radius:0;border-start-end-radius:inherit;border-end-end-radius:inherit;border-end-start-radius:0}.v-field--reverse.v-field--variant-outlined .v-field__outline__end{border-start-start-radius:inherit;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:inherit;border-inline-end-width:0;border-inline-start-width:var(--v-field-border-width)}.v-field__loader{top:calc(100% - 2px);left:0;position:absolute;right:0;width:100%;border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden}.v-field--variant-outlined .v-field__loader{top:calc(100% - 3px);width:calc(100% - 2px);left:1px}.v-field__overlay{border-radius:inherit;pointer-events:none}.v-field__overlay{position:absolute;top:0;left:0;width:100%;height:100%}.v-field--variant-filled .v-field__overlay{background-color:currentColor;opacity:.04;transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-filled.v-field--has-background .v-field__overlay{opacity:0}@media(hover:hover){.v-field--variant-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-filled .v-field__overlay{background-color:currentColor;opacity:.04;transition:opacity .25s cubic-bezier(.4,0,.2,1)}@media(hover:hover){.v-field--variant-solo-filled:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-filled.v-field--focused .v-field__overlay{opacity:calc((.04 + var(--v-focus-opacity)) * var(--v-theme-overlay-multiplier))}.v-field--variant-solo-inverted .v-field__overlay{transition:opacity .25s cubic-bezier(.4,0,.2,1)}.v-field--variant-solo-inverted.v-field--has-background .v-field__overlay{opacity:0}@media(hover:hover){.v-field--variant-solo-inverted:hover .v-field__overlay{opacity:calc((.04 + var(--v-hover-opacity)) * var(--v-theme-overlay-multiplier))}}.v-field--variant-solo-inverted.v-field--focused .v-field__overlay{background-color:rgb(var(--v-theme-surface-variant));opacity:1}.v-field--reverse .v-field__field,.v-field--reverse .v-field__input,.v-field--reverse .v-field__outline{flex-direction:row-reverse}.v-field--reverse .v-field__input,.v-field--reverse input{text-align:end}.v-input--disabled .v-field--variant-filled .v-field__outline:before,.v-input--disabled .v-field--variant-underlined .v-field__outline:before{border-image:repeating-linear-gradient(to right,rgba(var(--v-theme-on-surface),var(--v-disabled-opacity)) 0px,rgba(var(--v-theme-on-surface),var(--v-disabled-opacity)) 2px,transparent 2px,transparent 4px) 1 repeat}.v-field--loading .v-field__outline:after,.v-field--loading .v-field__outline:before{opacity:0}@media(forced-colors:active){.v-field .v-progress-linear{border:none}}
@@ -1 +0,0 @@
1
- import{I as Z,J as z,a7 as P,a as i,L as ie,am as ce,e as a,a1 as K,y as U,ao as ye,ac as xe,aA as fe,i as h,h as D,z as Ce,ay as he,a2 as Ve,F as G,v as H,ap as _e,a3 as te,M as ne,av as Ie,a6 as ke,O as Pe,aj as Se,P as Fe,bL as Be,a0 as oe,bC as we}from"./index-BjibLozh.js";import{M as Re,Q as Ae,X as Te,v as Le,n as $e,L as De,W as Ee,o as Me,U as Ne,e as Oe,I as se}from"./VAvatar-BsHplcRP.js";import{u as p,b as ue}from"./tag-CvrHE14f.js";import{c as Ue,m as ze,u as ve,d as We,V as re,b as je}from"./VInput-DhzSMFXh.js";import{u as qe,b as Xe}from"./VProgressCircular-viI3jDXe.js";import{s as Je,i as Qe,g as Ye}from"./VMenu-B53a3gm6.js";const Ge=z({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...ue(),...Ae({transition:{component:Te}})},"VCounter"),He=Z()({name:"VCounter",functional:!0,props:Ge(),setup(e,d){let{slots:n}=d;const s=P(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return p(()=>i(Re,{transition:e.transition},{default:()=>[ie(a("div",{class:U(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:K(e.style)},[n.default?n.default({counter:s.value,max:e.max,value:e.value}):s.value]),[[ce,e.active]])]})),{}}}),Ke=z({floating:Boolean,...ue()},"VFieldLabel"),Y=Z()({name:"VFieldLabel",props:Ke(),setup(e,d){let{slots:n}=d;return p(()=>i(Ue,{class:U(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:K(e.style)},n)),{}}}),Ze=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],me=z({appendInnerIcon:ne,bgColor:String,clearable:Boolean,clearIcon:{type:ne,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ne,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>Ze.includes(e)},"onClick:clear":te(),"onClick:appendInner":te(),"onClick:prependInner":te(),...ue(),...Ne(),...Me(),..._e()},"VField"),de=Z()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,...ze(),...me()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,d){let{attrs:n,emit:s,slots:l}=d;const{themeClasses:u}=ye(e),{loaderClasses:S}=Le(e),{focusClasses:W,isFocused:E,focus:B,blur:w}=ve(e),{InputIcon:M}=We(e),{roundedClasses:j}=$e(e),{rtlClasses:q}=xe(),m=P(()=>e.dirty||e.active),V=P(()=>!!(e.label||l.label)),g=P(()=>!e.singleLine&&V.value),ee=fe(),c=h(()=>e.id||`input-${ee}`),X=P(()=>e.details?`${c.value}-messages`:void 0),J=D(),R=D(),Q=D(),t=h(()=>["plain","underlined"].includes(e.variant)),o=h(()=>e.error||e.disabled?void 0:m.value&&E.value?e.color:e.baseColor),b=h(()=>{if(!(!e.iconColor||e.glow&&!E.value))return e.iconColor===!0?o.value:e.iconColor}),{backgroundColorClasses:A,backgroundColorStyles:N}=qe(()=>e.bgColor),{textColorClasses:F,textColorStyles:_}=Xe(o);Ce(m,y=>{if(g.value&&!he()){const v=J.value.$el,x=R.value.$el;requestAnimationFrame(()=>{const C=Je(v),r=x.getBoundingClientRect(),L=r.x-C.x,I=r.y-C.y-(C.height/2-r.height/2),k=r.width/.75,$=Math.abs(k-C.width)>1?{maxWidth:Ve(k)}:void 0,le=getComputedStyle(v),O=getComputedStyle(x),ae=parseFloat(le.transitionDuration)*1e3||150,ge=parseFloat(O.getPropertyValue("--v-field-label-scale")),be=O.getPropertyValue("color");v.style.visibility="visible",x.style.visibility="hidden",Qe(v,{transform:`translate(${L}px, ${I}px) scale(${ge})`,color:be,...$},{duration:ae,easing:Ie,direction:y?"normal":"reverse"}).finished.then(()=>{v.style.removeProperty("visibility"),x.style.removeProperty("visibility")})})}},{flush:"post"});const f=h(()=>({isActive:m,isFocused:E,controlRef:Q,blur:w,focus:B}));function T(y){y.target!==document.activeElement&&y.preventDefault()}return p(()=>{var L,I,k;const y=e.variant==="outlined",v=!!(l["prepend-inner"]||e.prependInnerIcon),x=!!(e.clearable||l.clear)&&!e.disabled,C=!!(l["append-inner"]||e.appendInnerIcon||x),r=()=>l.label?l.label({...f.value,label:e.label,props:{for:c.value}}):e.label;return a("div",H({class:["v-field",{"v-field--active":m.value,"v-field--appended":C,"v-field--center-affix":e.centerAffix??!t.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":v,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!r(),[`v-field--variant-${e.variant}`]:!0},u.value,A.value,W.value,S.value,j.value,q.value,e.class],style:[N.value,e.style],onClick:T},n),[a("div",{class:"v-field__overlay"},null),i(De,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),v&&a("div",{key:"prepend",class:"v-field__prepend-inner"},[e.prependInnerIcon&&i(M,{key:"prepend-icon",name:"prependInner",color:b.value},null),(L=l["prepend-inner"])==null?void 0:L.call(l,f.value)]),a("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&g.value&&i(Y,{key:"floating-label",ref:R,class:U([F.value]),floating:!0,for:c.value,"aria-hidden":!m.value,style:K(_.value)},{default:()=>[r()]}),V.value&&i(Y,{key:"label",ref:J,for:c.value},{default:()=>[r()]}),((I=l.default)==null?void 0:I.call(l,{...f.value,props:{id:c.value,class:"v-field__input","aria-describedby":X.value},focus:B,blur:w}))??a("div",{id:c.value,class:"v-field__input","aria-describedby":X.value},null)]),x&&i(Ee,{key:"clear"},{default:()=>[ie(a("div",{class:"v-field__clearable",onMousedown:$=>{$.preventDefault(),$.stopPropagation()}},[i(Oe,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({...f.value,props:{onFocus:B,onBlur:w,onClick:e["onClick:clear"],tabindex:-1}}):i(M,{name:"clear",onFocus:B,onBlur:w,tabindex:-1},null)]})]),[[ce,e.dirty]])]}),C&&a("div",{key:"append",class:"v-field__append-inner"},[(k=l["append-inner"])==null?void 0:k.call(l,f.value),e.appendInnerIcon&&i(M,{key:"append-icon",name:"appendInner",color:b.value},null)]),a("div",{class:U(["v-field__outline",F.value]),style:K(_.value)},[y&&a(G,null,[a("div",{class:"v-field__outline__start"},null),g.value&&a("div",{class:"v-field__outline__notch"},[i(Y,{ref:R,floating:!0,for:c.value,"aria-hidden":!m.value},{default:()=>[r()]})]),a("div",{class:"v-field__outline__end"},null)]),t.value&&g.value&&i(Y,{ref:R,floating:!0,for:c.value,"aria-hidden":!m.value},{default:()=>[r()]})])])}),{controlRef:Q,fieldIconColor:b}}}),pe=z({autocomplete:String},"autocomplete");function el(e){const d=fe(),n=ke(0),s=P(()=>e.autocomplete==="suppress"),l=P(()=>s.value?`${e.name}-${d}-${n.value}`:e.name),u=P(()=>s.value?"off":e.autocomplete);return{isSuppressing:s,fieldAutocomplete:u,fieldName:l,update:()=>n.value=new Date().getTime()}}function ll(e){function d(n,s){var l,u;!e.autofocus||!n||(u=(l=s[0].target)==null?void 0:l.focus)==null||u.call(l)}return{onIntersect:d}}const al=["color","file","time","date","datetime-local","week","month"],tl=z({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...pe(),...je(),...me()},"VTextField"),dl=Z()({name:"VTextField",directives:{vIntersect:se},inheritAttrs:!1,props:tl(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,d){let{attrs:n,emit:s,slots:l}=d;const u=Pe(e,"modelValue"),{isFocused:S,focus:W,blur:E}=ve(e),{onIntersect:B}=ll(e),w=h(()=>typeof e.counterValue=="function"?e.counterValue(u.value):typeof e.counterValue=="number"?e.counterValue:(u.value??"").toString().length),M=h(()=>{if(n.maxlength)return n.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),j=h(()=>["plain","underlined"].includes(e.variant)),q=D(),m=D(),V=D(),g=el(e),ee=h(()=>al.includes(e.type)||e.persistentPlaceholder||S.value||e.active);function c(){g.isSuppressing.value&&g.update(),S.value||W(),oe(()=>{var t;V.value!==document.activeElement&&((t=V.value)==null||t.focus())})}function X(t){s("mousedown:control",t),t.target!==V.value&&(c(),t.preventDefault())}function J(t){s("click:control",t)}function R(t,o){t.stopPropagation(),c(),oe(()=>{o(),we(e["onClick:clear"],t)})}function Q(t){var F;const o=t.target;if(!((F=e.modelModifiers)!=null&&F.trim&&["text","search","password","tel","url"].includes(e.type))){u.value=o.value;return}const b=o.value,A=o.selectionStart,N=o.selectionEnd;u.value=b,oe(()=>{let _=0;b.trimStart().length===o.value.length&&(_=b.length-o.value.length),A!=null&&(o.selectionStart=A-_),N!=null&&(o.selectionEnd=N-_)})}return p(()=>{const t=!!(l.counter||e.counter!==!1&&e.counter!=null),o=!!(t||l.details),[b,A]=Se(n),{modelValue:N,...F}=re.filterProps(e),_=de.filterProps(e);return i(re,H({ref:q,modelValue:u.value,"onUpdate:modelValue":f=>u.value=f,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":j.value},e.class],style:e.style},b,F,{centerAffix:!j.value,focused:S.value}),{...l,default:f=>{let{id:T,isDisabled:y,isDirty:v,isReadonly:x,isValid:C,hasDetails:r,reset:L}=f;return i(de,H({ref:m,onMousedown:X,onClick:J,"onClick:clear":I=>R(I,L),role:e.role},Fe(_,["onClick:clear"]),{id:T.value,active:ee.value||v.value,dirty:v.value||e.dirty,disabled:y.value,focused:S.value,details:r.value,error:C.value===!1}),{...l,default:I=>{let{props:{class:k,...$},controlRef:le}=I;const O=ie(a("input",H({ref:ae=>V.value=le.value=ae,value:u.value,onInput:Q,autofocus:e.autofocus,readonly:x.value,disabled:y.value,name:g.fieldName.value,autocomplete:g.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:W,onBlur:E},$,A),null),[[se,{handler:B},null,{once:!0}]]);return a(G,null,[e.prefix&&a("span",{class:"v-text-field__prefix"},[a("span",{class:"v-text-field__prefix__text"},[e.prefix])]),l.default?a("div",{class:U(k),"data-no-activator":""},[l.default(),O]):Be(O,{class:k}),e.suffix&&a("span",{class:"v-text-field__suffix"},[a("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:o?f=>{var T;return a(G,null,[(T=l.details)==null?void 0:T.call(l,f),t&&a(G,null,[a("span",null,null),i(He,{active:e.persistentCounter||S.value,value:w.value,max:M.value,disabled:e.disabled},l.counter)])])}:void 0})}),Ye({},q,m,V)}});export{dl as V,de as a,tl as b,He as c,pe as d,ll as e,me as m,el as u};
@@ -1 +0,0 @@
1
- import{I as re,J as se,O as ce,i as P,h as g,a6 as de,Q as fe,aa as ve,d as me,z as h,aB as xe,aj as ge,a as A,v as B,a2 as G,a0 as b,aE as he,e as r,F as M,L as U,bP as we,y as Ve,bC as ye}from"./index-BjibLozh.js";import{u as Ce,a as O,m as Fe,d as Pe,c as be,e as Ie}from"./VTextField-DvvH1ciR.js";import{u as ke,V as W,b as Re}from"./VInput-DhzSMFXh.js";import{g as Se}from"./VMenu-B53a3gm6.js";import{I as j}from"./VAvatar-BsHplcRP.js";import{u as pe}from"./tag-CvrHE14f.js";const Ne=se({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Pe(),...Re(),...Fe()},"VTextarea"),_e=re()({name:"VTextarea",directives:{vIntersect:j},inheritAttrs:!1,props:Ne(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,$){let{attrs:I,emit:k,slots:o}=$;const l=ce(e,"modelValue"),{isFocused:w,focus:J,blur:L}=ke(e),{onIntersect:Q}=Ie(e),q=P(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),K=P(()=>{if(I.maxlength)return I.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),z=g(),y=g(),H=de(""),d=g(),R=g(0),{platform:X}=fe(),C=Ce(e),Y=P(()=>e.persistentPlaceholder||w.value||e.active);function S(){var t;C.isSuppressing.value&&C.update(),d.value!==document.activeElement&&((t=d.value)==null||t.focus()),w.value||J()}function Z(t){S(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),S(),b(()=>{l.value="",ye(e["onClick:clear"],t)})}function ae(t){var x;const a=t.target;if(!((x=e.modelModifiers)!=null&&x.trim)){l.value=a.value;return}const n=a.value,m=a.selectionStart,s=a.selectionEnd;l.value=n,b(()=>{let c=0;n.trimStart().length===a.value.length&&(c=n.length-a.value.length),m!=null&&(a.selectionStart=m-c),s!=null&&(a.selectionEnd=s-c)})}const f=g(),V=g(Number(e.rows)),p=P(()=>["plain","underlined"].includes(e.variant));ve(()=>{e.autoGrow||(V.value=Number(e.rows))});function v(){b(()=>{if(!d.value)return;if(X.value.firefox){R.value=12;return}const{offsetWidth:t,clientWidth:a}=d.value;R.value=Math.max(0,t-a)}),e.autoGrow&&b(()=>{if(!f.value||!y.value)return;const t=getComputedStyle(f.value),a=getComputedStyle(y.value.$el),n=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),m=f.value.scrollHeight,s=parseFloat(t.lineHeight),x=Math.max(parseFloat(e.rows)*s+n,parseFloat(a.getPropertyValue("--v-input-control-height"))),c=parseFloat(e.maxRows)*s+n||1/0,i=he(m??0,x,c);V.value=Math.floor((i-n)/s),H.value=G(i)})}me(v),h(l,v),h(()=>e.rows,v),h(()=>e.maxRows,v),h(()=>e.density,v),h(V,t=>{k("update:rows",t)});let u;return h(f,t=>{t?(u=new ResizeObserver(v),u.observe(f.value)):u==null||u.disconnect()}),xe(()=>{u==null||u.disconnect()}),pe(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,m]=ge(I),{modelValue:s,...x}=W.filterProps(e),c={...O.filterProps(e),"onClick:clear":te};return A(W,B({ref:z,modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":p.value},e.class],style:[{"--v-textarea-scroll-bar-width":G(R.value)},e.style]},n,x,{centerAffix:V.value===1&&!p.value,focused:w.value}),{...o,default:i=>{let{id:F,isDisabled:T,isDirty:_,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(O,B({ref:y,style:{"--v-textarea-control-height":H.value},onClick:Z,onMousedown:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},c,{id:F.value,active:Y.value||_.value,centerAffix:V.value===1&&!p.value,dirty:_.value||e.dirty,disabled:T.value,focused:w.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:D,...E},controlRef:ie}=ue;return r(M,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),U(r("textarea",B({ref:N=>d.value=ie.value=N,class:D,value:l.value,onInput:ae,autofocus:e.autofocus,readonly:le.value,disabled:T.value,placeholder:e.placeholder,rows:e.rows,name:C.fieldName.value,autocomplete:C.fieldAutocomplete.value,onFocus:S,onBlur:L},E,m),null),[[j,{handler:Q},null,{once:!0}]]),e.autoGrow&&U(r("textarea",{class:Ve([D,"v-textarea__sizer"]),id:`${E.id}-sizer`,"onUpdate:modelValue":N=>l.value=N,ref:f,readonly:!0,"aria-hidden":"true"},null),[[we,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var F;return r(M,null,[(F=o.details)==null?void 0:F.call(o,i),t&&r(M,null,[r("span",null,null),A(be,{active:e.persistentCounter||w.value,value:q.value,max:K.value,disabled:e.disabled},o.counter)])])}:void 0})}),Se({},z,y,d)}});export{_e as V};
@@ -1 +0,0 @@
1
- .v-textarea .v-field{--v-textarea-control-height: var(--v-input-control-height)}.v-textarea .v-field__field{--v-input-control-height: var(--v-textarea-control-height)}.v-textarea .v-field__input{flex:1 1 auto;outline:none;-webkit-mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)),linear-gradient(to right,transparent,transparent calc(100% - var(--v-textarea-scroll-bar-width, 16px)),black calc(100% - var(--v-textarea-scroll-bar-width, 16px)));mask-image:linear-gradient(to bottom,transparent,transparent calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) - 6px),black calc(var(--v-field-padding-top, 0) + var(--v-input-padding-top, 0) + 4px)),linear-gradient(to right,transparent,transparent calc(100% - var(--v-textarea-scroll-bar-width, 16px)),black calc(100% - var(--v-textarea-scroll-bar-width, 16px)))}.v-textarea .v-field__input.v-textarea__sizer{visibility:hidden;position:absolute;top:0;left:0;height:0!important;min-height:0!important;pointer-events:none}.v-textarea--no-resize .v-field__input{resize:none}.v-textarea .v-field--no-label textarea,.v-textarea .v-field--active textarea{opacity:1}.v-textarea textarea{opacity:0;flex:1;min-width:0;height:100%;transition:.15s opacity cubic-bezier(.4,0,.2,1)}.v-textarea textarea:focus,.v-textarea textarea:active{outline:none}.v-textarea textarea:invalid{box-shadow:none}
@@ -1 +0,0 @@
1
- .v-toolbar{align-items:flex-start;display:flex;flex:none;flex-direction:column;justify-content:space-between;max-width:100%;position:relative;transition:.2s cubic-bezier(.4,0,.2,1);transition-property:height,width,transform,max-width,left,right,top,bottom,box-shadow;width:100%}@media(prefers-reduced-motion:reduce){.v-toolbar{transition-property:box-shadow}}.v-toolbar{border-color:rgba(var(--v-border-color),var(--v-border-opacity));border-style:solid;border-width:0}.v-toolbar--border{border-width:thin;box-shadow:none}.v-toolbar{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar{border-radius:0}.v-toolbar{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-toolbar--absolute{position:absolute}.v-toolbar--collapse{max-width:112px;overflow:hidden;border-end-end-radius:24px}.v-toolbar--collapse .v-toolbar-title{display:none}.v-toolbar--flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-toolbar--floating{display:inline-flex;width:auto}.v-toolbar--rounded{border-radius:4px}.v-toolbar__content,.v-toolbar__extension{align-items:center;display:flex;flex:0 0 auto;position:relative;transition:inherit;width:100%}.v-toolbar__content{overflow:hidden}.v-toolbar__content>.v-btn:first-child{margin-inline-start:4px}.v-toolbar__content>.v-btn:last-child{margin-inline-end:4px}.v-toolbar__content>.v-toolbar-title{margin-inline-start:20px}.v-toolbar--density-prominent .v-toolbar__content{align-items:flex-start}.v-toolbar__image{display:flex;opacity:var(--v-toolbar-image-opacity, 1);transition-property:opacity}.v-toolbar__image{position:absolute;top:0;left:0;width:100%;height:100%}.v-toolbar__prepend,.v-toolbar__append{align-items:center;align-self:stretch;display:flex}.v-toolbar__prepend{margin-inline:4px auto}.v-toolbar__append{margin-inline:auto 4px}.v-toolbar-title{flex:1 1;font-size:1.25rem;min-width:0}.v-toolbar-title{font-size:1.25rem;font-weight:400;letter-spacing:0;line-height:1.75rem;text-transform:none}.v-toolbar--density-prominent .v-toolbar-title{align-self:flex-end;padding-bottom:6px}.v-toolbar--density-prominent .v-toolbar-title{font-size:1.5rem;font-weight:400;letter-spacing:0;line-height:2.25rem;text-transform:none}.v-toolbar-title__placeholder{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v-toolbar-items{display:flex;height:inherit;align-self:stretch}.v-toolbar-items>.v-btn{border-radius:0}
@@ -1 +0,0 @@
1
- import{u as y,c as T,b as V}from"./tag-CvrHE14f.js";import{I as k,J as C,a,a1 as _,y as B,e as l,ao as D,ac as w,a6 as z,i as x,T as j,ap as A,a2 as o}from"./index-BjibLozh.js";import{x as F,l as J,n as U,o as $,p as q,A as G,j as K,e as c,k as L}from"./VAvatar-BsHplcRP.js";import{u as M}from"./VProgressCircular-viI3jDXe.js";const O=C({text:String,...V(),...T()},"VToolbarTitle"),Q=k()({name:"VToolbarTitle",props:O(),setup(e,s){let{slots:t}=s;return y(()=>{const i=!!(t.default||t.text||e.text);return a(e.tag,{class:B(["v-toolbar-title",e.class]),style:_(e.style)},{default:()=>{var n;return[i&&l("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),W=[null,"prominent","default","comfortable","compact"],X=C({absolute:Boolean,collapse:Boolean,color:String,density:{type:String,default:"default",validator:e=>W.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...G(),...V(),...q(),...$(),...T({tag:"header"}),...A()},"VToolbar"),te=k()({name:"VToolbar",props:X(),setup(e,s){var m;let{slots:t}=s;const{backgroundColorClasses:i,backgroundColorStyles:n}=M(()=>e.color),{borderClasses:P}=F(e),{elevationClasses:S}=J(e),{roundedClasses:N}=U(e),{themeClasses:I}=D(e),{rtlClasses:H}=w(),d=z(e.extended===null?!!((m=t.extension)!=null&&m.call(t)):e.extended),r=x(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),u=x(()=>d.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return j({VBtn:{variant:"text"}}),y(()=>{var v;const R=!!(e.title||t.title),E=!!(t.image||e.image),g=(v=t.extension)==null?void 0:v.call(t);return d.value=e.extended===null?!!g:e.extended,a(e.tag,{class:B(["v-toolbar",{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},i.value,P.value,S.value,N.value,I.value,H.value,e.class]),style:_([n.value,e.style])},{default:()=>[E&&l("div",{key:"image",class:"v-toolbar__image"},[t.image?a(c,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):a(K,{key:"image-img",cover:!0,src:e.image},null)]),a(c,{defaults:{VTabs:{height:o(r.value)}}},{default:()=>{var b,f,h;return[l("div",{class:"v-toolbar__content",style:{height:o(r.value)}},[t.prepend&&l("div",{class:"v-toolbar__prepend"},[(b=t.prepend)==null?void 0:b.call(t)]),R&&a(Q,{key:"title",text:e.title},{text:t.title}),(f=t.default)==null?void 0:f.call(t),t.append&&l("div",{class:"v-toolbar__append"},[(h=t.append)==null?void 0:h.call(t)])])]}}),a(c,{defaults:{VTabs:{height:o(u.value)}}},{default:()=>[a(L,null,{default:()=>[d.value&&l("div",{class:"v-toolbar__extension",style:{height:o(u.value)}},[g])]})]})]})}),{contentHeight:r,extensionHeight:u}}});export{te as V,Q as a};
@@ -1 +0,0 @@
1
- import{ax as A,J as L,ap as q,I as P,ao as U,ac as J,K,h as k,i as h,a6 as E,z as Q,aq as H,a0 as $,a7 as V,a as S,e as y,L as M,a1 as O,y as _,a2 as I,ay as Z,an as p,N as tt,am as et}from"./index-BjibLozh.js";import{c as nt,b as D,u as z}from"./tag-CvrHE14f.js";import{h as ot,V as W,u as st,M as it,m as at}from"./VAvatar-BsHplcRP.js";import{k as ut,u as lt,m as ct}from"./VMenu-B53a3gm6.js";import{u as rt}from"./ssrBoot-ChTB-PYP.js";const vt=t=>{const{touchstartX:o,touchendX:e,touchstartY:n,touchendY:a}=t,l=.5,s=16;t.offsetX=e-o,t.offsetY=a-n,Math.abs(t.offsetY)<l*Math.abs(t.offsetX)&&(t.left&&e<o-s&&t.left(t),t.right&&e>o+s&&t.right(t)),Math.abs(t.offsetX)<l*Math.abs(t.offsetY)&&(t.up&&a<n-s&&t.up(t),t.down&&a>n+s&&t.down(t))};function dt(t,o){var n;const e=t.changedTouches[0];o.touchstartX=e.clientX,o.touchstartY=e.clientY,(n=o.start)==null||n.call(o,{originalEvent:t,...o})}function ft(t,o){var n;const e=t.changedTouches[0];o.touchendX=e.clientX,o.touchendY=e.clientY,(n=o.end)==null||n.call(o,{originalEvent:t,...o}),vt(o)}function ht(t,o){var n;const e=t.changedTouches[0];o.touchmoveX=e.clientX,o.touchmoveY=e.clientY,(n=o.move)==null||n.call(o,{originalEvent:t,...o})}function mt(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const o={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:t.left,right:t.right,up:t.up,down:t.down,start:t.start,move:t.move,end:t.end};return{touchstart:e=>dt(e,o),touchend:e=>ft(e,o),touchmove:e=>ht(e,o)}}function gt(t,o){var v;const e=o.value,n=e!=null&&e.parent?t.parentElement:t,a=(e==null?void 0:e.options)??{passive:!0},l=(v=o.instance)==null?void 0:v.$.uid;if(!n||l===void 0)return;const s=mt(o.value);n._touchHandlers=n._touchHandlers??Object.create(null),n._touchHandlers[l]=s,A(s).forEach(d=>{n.addEventListener(d,s[d],a)})}function yt(t,o){var l,s;const e=(l=o.value)!=null&&l.parent?t.parentElement:t,n=(s=o.instance)==null?void 0:s.$.uid;if(!(e!=null&&e._touchHandlers)||n===void 0)return;const a=e._touchHandlers[n];A(a).forEach(v=>{e.removeEventListener(v,a[v])}),delete e._touchHandlers[n]}const x={mounted:gt,unmounted:yt},F=Symbol.for("vuetify:v-window"),j=Symbol.for("vuetify:v-window-group"),wt=L({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:t=>typeof t=="boolean"||t==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...D(),...nt(),...q()},"VWindow"),Yt=P()({name:"VWindow",directives:{vTouch:x},props:wt(),emits:{"update:modelValue":t=>!0},setup(t,o){let{slots:e}=o;const{themeClasses:n}=U(t),{isRtl:a}=J(),{t:l}=K(),s=ot(t,j),v=k(),d=h(()=>a.value?!t.reverse:t.reverse),f=E(!1),w=h(()=>{if(t.crossfade)return"v-window-crossfade-transition";const u=t.direction==="vertical"?"y":"x",i=(d.value?!f.value:f.value)?"-reverse":"";return`v-window-${u}${i}-transition`}),B=E(0),T=k(void 0),g=h(()=>s.items.value.findIndex(u=>s.selected.value.includes(u.id)));Q(g,(u,c)=>{let i;const m={left:0,top:0};H&&c>=0&&(i=ut(v.value),m.left=i==null?void 0:i.scrollLeft,m.top=i==null?void 0:i.scrollTop);const R=s.items.value.length,X=R-1;R<=2?f.value=u<c:u===X&&c===0?f.value=!1:u===0&&c===X?f.value=!0:f.value=u<c,$(()=>{if(!H||!i)return;i.scrollTop!==m.top&&i.scrollTo({...m,behavior:"instant"}),requestAnimationFrame(()=>{if(!i)return;i.scrollTop!==m.top&&i.scrollTo({...m,behavior:"instant"})})})},{flush:"sync"}),p(F,{transition:w,isReversed:f,transitionCount:B,transitionHeight:T,rootRef:v});const r=V(()=>t.continuous||g.value!==0),C=V(()=>t.continuous||g.value!==s.items.value.length-1);function Y(){r.value&&s.prev()}function b(){C.value&&s.next()}const G=h(()=>{const u=[],c={icon:a.value?t.nextIcon:t.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:s.prev,"aria-label":l("$vuetify.carousel.prev")};u.push(r.value?e.prev?e.prev({props:c}):S(W,c,null):y("div",null,null));const i={icon:a.value?t.prevIcon:t.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:s.next,"aria-label":l("$vuetify.carousel.next")};return u.push(C.value?e.next?e.next({props:i}):S(W,i,null):y("div",null,null)),u}),N=h(()=>t.touch===!1?t.touch:{...{left:()=>{d.value?Y():b()},right:()=>{d.value?b():Y()},start:c=>{let{originalEvent:i}=c;i.stopPropagation()}},...t.touch===!0?{}:t.touch});return z(()=>M(S(t.tag,{ref:v,class:_(["v-window",{"v-window--show-arrows-on-hover":t.showArrows==="hover","v-window--vertical-arrows":!!t.verticalArrows,"v-window--crossfade":!!t.crossfade},n.value,t.class]),style:O([t.style,t.transitionDuration&&!Z?{"--v-window-transition-duration":I(t.transitionDuration,"ms")}:void 0])},{default:()=>{var u,c;return[y("div",{class:"v-window__container",style:{height:T.value}},[(u=e.default)==null?void 0:u.call(e,{group:s}),t.showArrows!==!1&&y("div",{class:_(["v-window__controls",{"v-window__controls--left":t.verticalArrows==="left"||t.verticalArrows===!0},{"v-window__controls--right":t.verticalArrows==="right"}])},[G.value])]),(c=e.additional)==null?void 0:c.call(e,{group:s})]}}),[[x,N.value]])),{group:s}}}),Tt=L({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...D(),...at(),...ct()},"VWindowItem"),bt=P()({name:"VWindowItem",directives:{vTouch:x},props:Tt(),emits:{"group:selected":t=>!0},setup(t,o){let{slots:e}=o;const n=tt(F),a=st(t,j),{isBooted:l}=rt();if(!n||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const s=E(!1),v=h(()=>l.value&&(n.isReversed.value?t.reverseTransition!==!1:t.transition!==!1));function d(){!s.value||!n||(s.value=!1,n.transitionCount.value>0&&(n.transitionCount.value-=1,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function f(){var r;s.value||!n||(s.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=I((r=n.rootRef.value)==null?void 0:r.clientHeight)),n.transitionCount.value+=1)}function w(){d()}function B(r){s.value&&$(()=>{!v.value||!s.value||!n||(n.transitionHeight.value=I(r.clientHeight))})}const T=h(()=>{const r=n.isReversed.value?t.reverseTransition:t.transition;return v.value?{name:typeof r!="string"?n.transition.value:r,onBeforeEnter:f,onAfterEnter:d,onEnterCancelled:w,onBeforeLeave:f,onAfterLeave:d,onLeaveCancelled:w,onEnter:B}:!1}),{hasContent:g}=lt(t,a.isSelected);return z(()=>S(it,{transition:T.value,disabled:!l.value},{default:()=>{var r;return[M(y("div",{class:_(["v-window-item",a.selectedClass.value,t.class]),style:O(t.style)},[g.value&&((r=e.default)==null?void 0:r.call(e))]),[[et,a.isSelected.value]])]}})),{groupItem:a}}});export{Yt as V,bt as a,Tt as b,wt as m};
@@ -1 +0,0 @@
1
- .mailbox[data-v-ed7f2de1]{cursor:pointer}.mailbox[data-v-ed7f2de1]:hover{border-radius:5px}.mailbox[data-v-ed7f2de1] *{pointer-events:none}
@@ -1 +0,0 @@
1
- import{_ as ne,H,A as ie,B as J,b as Q,n as K,h as u,z as P,r as se,l as C,o as d,F as O,s as re,y as G,e as N,c as R,m as j,a,f as y,t as U,p as E,i as I,w as v,g as Y,q as ue}from"./index-BjibLozh.js";import{u as me}from"./logos-CMmd0hOG.js";import{_ as de}from"./ConfirmDialog-BMIg94-U.js";import{_ as ce,V as pe}from"./ConnectedLayout-CSXdVJtV.js";import{a as w}from"./webmail-HVg3ZHC0.js";import{u as ve}from"./webmail.store-D-d88s4w.js";import{c as Z,V as L,a as fe,j as be}from"./VAvatar-BsHplcRP.js";import{V as ee}from"./VSpacer-CBqB9uSt.js";import{V as xe,r as ge}from"./VForm-ClJU5x_v.js";import{V as ye,b as Me,a as Ve}from"./VCard-D7AwBs4w.js";import{V as _e}from"./VTextField-DvvH1ciR.js";import{V as he}from"./VDialog-CUMh3paI.js";import{V as Ce,a as we,b as F}from"./VMenu-B53a3gm6.js";import"./VToolbar-pvLQtmbU.js";import"./tag-CvrHE14f.js";import"./VProgressCircular-viI3jDXe.js";import"./theme-DFzlhSh5.js";import"./VContainer-DY9021j4.js";/* empty css */import"./VApp-CiIBWB_Q.js";import"./layout-5PvsmkGR.js";import"./ssrBoot-ChTB-PYP.js";import"./layout.store-DJVcXtxk.js";import"./global.store-Bha4Z76j.js";import"./VBadge-CavP_E2g.js";import"./VRow-DyK_Mj7R.js";import"./VSheet-DQkh_hsX.js";import"./VInput-DhzSMFXh.js";const ke=["onClick","onMouseover","onMouseleave","onDragenter","onDragleave","onDrop"],$e={key:0,class:"font-weight-bold"},Ue={key:1},Be={key:0,class:"font-weight-bold"},Ne={key:1},Le={__name:"MailboxList",props:H({mailboxes:{type:Array,default:null},lightMode:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},unseenCounters:{type:Boolean,default:!0},allowUnselect:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:H(["update:modelValue"],["update:modelValue"]),setup(S,{emit:M}){const l=S,n=ie(S,"modelValue"),s=M,V=J(),{$gettext:r}=Q(),k=K(),f=ve(),B={inbox:"mdi-inbox",draft:"mdi-file",junk:"mdi-fire",sent:"mdi-email-fast-outline",trash:"mdi-trash-can-outline",normal:"mdi-folder-outline"},c=u(null),_=u({}),b=u({});function i(e){return e.label.split("/").pop()}function o(e){return c.value===null&&(c.value=e.unseen),c.value}function m(e,x){_.value[e.name]=x}function D(e){return n.value===e.name?"bg-primary-lighten-1":l.lightMode?_.value[e.name]?"bg-primary":"bg-white":_.value[e.name]?"bg-primary-lighten-1":"bg-primary"}function q(e){return b.value[e.name]}function X(e){b.value[e.name]||(b.value[e.name]=!1),b.value[e.name]=!b.value[e.name],b.value[e.name]&&!e.sub.length&&w.getUserMailboxes(e.name).then(x=>{e.sub=x.data.mailboxes})}function z(e){l.allowUnselect&&e===n.value?s("update:modelValue",null):s("update:modelValue",e)}async function A(e){try{k.displayNotification({msg:r("Moving selection..."),type:"info",timeout:0});const x=await w.moveSelection(V.query.mailbox||"INBOX",e.name,f.selection);f.listingKey++,f.selection=[]}finally{k.hideNotification()}}return P(()=>k.mbCounterKey,()=>{w.getUserMailboxUnseen(V.query.mailbox).then(e=>{c.value=e.data.counter})}),(e,x)=>{const T=se("MailboxList",!0);return d(),C("div",null,[(d(!0),C(O,null,re(l.mailboxes,t=>(d(),C("div",{key:t.name,class:G(["pl-3 text-body-2",{"py-1":!l.compact}])},[N("div",{class:G([D(t),"d-flex mailbox pa-1 align-center"]),onClick:h=>z(t.name),onMouseover:h=>m(t,!0),onMouseleave:h=>m(t,!1),onDragover:x[0]||(x[0]=E(()=>{},["prevent"])),onDragenter:h=>m(t,!0),onDragleave:h=>m(t,!1),onDrop:h=>A(t)},[a(Z,{icon:B[t.type],class:"mr-4"},null,8,["icon"]),t.name===y(V).query.mailbox?(d(),C(O,{key:0},[c.value>0?(d(),C("span",$e,U(i(t))+" ("+U(o(t))+") ",1)):(d(),C("span",Ue,U(i(t)),1))],64)):(d(),C(O,{key:1},[t.unseen>0?(d(),C("span",Be,U(i(t))+" ("+U(t.unseen)+") ",1)):(d(),C("span",Ne,U(i(t)),1))],64)),a(ee),t.sub?(d(),R(L,{key:2,icon:q(t)?"mdi-minus":"mdi-plus",size:"xsmall",variant:"flat",color:"transparent",onClick:E(h=>X(t),["stop"])},null,8,["icon","onClick"])):j("",!0)],42,ke),q(t)&&t.sub&&t.sub.length?(d(),R(T,{key:0,modelValue:n.value,"onUpdate:modelValue":x[1]||(x[1]=h=>n.value=h),mailboxes:t.sub,class:"mt-1","light-mode":l.lightMode,compact:l.compact},null,8,["modelValue","mailboxes","light-mode","compact"])):j("",!0)],2))),128))])}}},ae=ne(Le,[["__scopeId","data-v-ed7f2de1"]]),Se={class:"mb-2 rounded-lg"},De={__name:"MailboxForm",props:{userMailboxes:Array,mailbox:{type:String,default:null},hdelimiter:{type:String,default:null}},emits:["close","mailboxRenamed"],setup(S,{emit:M}){const l=S,n=M,{$gettext:s}=Q(),{displayNotification:V}=K(),r=u({}),k=u(),f=u(!1),B=I(()=>l.mailbox?s("Edit mailbox"):s("Create new mailbox")),c=I(()=>l.mailbox?s("Update"):s("Create")),_=()=>{r.value={},n("close")},b=async()=>{const{valid:i}=await k.value.validate();if(i){f.value=!0;try{const o={...r.value};l.mailbox?(o.oldname=l.mailbox,await w.renameUserMailbox(o),V({msg:s("Mailbox renamed")}),n("mailboxRenamed",`${o.parent_mailbox}${l.hdelimiter}${o.name}`)):(await w.createUserMailbox(o),V({msg:s("Mailbox created")})),_()}finally{f.value=!1}}};return P(()=>l.mailbox,i=>{if(i){const o=l.mailbox.split(l.hdelimiter);r.value.name=o.slice(-1)[0],r.value.parent_mailbox=o.slice(0,-1).join(l.hdelimiter)}else r.value={}},{immediate:!0}),(i,o)=>(d(),R(Ve,{title:B.value},{default:v(()=>[a(ye,null,{default:v(()=>[a(xe,{ref_key:"formRef",ref:k},{default:v(()=>[a(_e,{modelValue:r.value.name,"onUpdate:modelValue":o[0]||(o[0]=m=>r.value.name=m),label:y(s)("Name"),variant:"outlined",density:"compact",rules:[y(ge).required]},null,8,["modelValue","label","rules"]),N("div",Se,[N("h4",null,U(y(s)("Parent mailbox")),1),a(ae,{modelValue:r.value.parent_mailbox,"onUpdate:modelValue":o[1]||(o[1]=m=>r.value.parent_mailbox=m),"active-mailbox":l.parent,mailboxes:l.userMailboxes,"light-mode":"",compact:"","unseen-counters":!1,"allow-unselect":""},null,8,["modelValue","active-mailbox","mailboxes"])])]),_:1},512)]),_:1}),a(Me,null,{default:v(()=>[a(ee),a(L,{text:y(s)("Close"),variant:"flat",loading:f.value,onClick:_},null,8,["text","loading"]),a(L,{text:c.value,variant:"tonal",color:"primary",loading:f.value,onClick:b},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},qe={class:"d-flex align-center"},Ie={class:"d-flex justify-center mb-4"},Fe={class:"border-t-sm d-flex align-center bg-grey"},da={__name:"WebmailLayout",async setup(S){let M,l;const{$gettext:n}=Q(),s=J(),V=ue(),r=K(),{menuLogoPath:k}=me(),f=u(),B=u(!0),c=u(!1),_=u(null),b=u(null),i=u(null),o=u(s.query.mailbox||"INBOX"),m=u(!1),D=u([]),q=I(()=>["INBOX"].includes(s.query.mailbox||"INBOX")),X=I(()=>i.value.usage<50?"info":i.value.usage<80?"warning":"error"),z=I(()=>`${i.value.current} / ${i.value.limit} (${i.value.usage}%)`);function A(g){V.push({name:"MailboxView",query:{mailbox:g}}),w.getUserMailboxQuota(g).then(p=>{i.value=p.data})}const e=async()=>{const g=await w.getUserMailboxes();D.value=g.data.mailboxes,b.value=g.data.hdelimiter},x=()=>{V.push({name:"ComposeEmailView"})},T=()=>{m.value=!1,_.value=null,e()},t=()=>{m.value=!0},h=()=>{_.value=o.value,m.value=!0},W=g=>{o.value=g,V.push({name:"MailboxView",query:{mailbox:g}})},te=async()=>{await w.compressUserMailbox({name:o.value}),r.displayNotification({msg:n("Mailbox compressed")})},le=async()=>{await f.value.open(n("Warning"),n("Delete this mailbox?"),{color:"warning",agreeLabel:n("Yes"),cancelLabel:n("No")})&&(await w.deleteUserMailbox({name:o.value}),r.displayNotification({msg:n("Mailbox deleted")}),W("INBOX"))};P(()=>r.dataKey,()=>{e()}),[M,l]=Y(()=>e()),await M,l();const oe=([M,l]=Y(()=>w.getUserMailboxQuota(s.query.mailbox||"INBOX")),M=await M,l(),M);return i.value=oe.data,(g,p)=>(d(),C(O,null,[a(ce,null,{navbar:v(()=>[a(pe,{modelValue:B.value,"onUpdate:modelValue":p[2]||(p[2]=$=>B.value=$),rail:c.value,permanent:"",color:"primary",app:""},{prepend:v(()=>[N("div",qe,[a(be,{src:y(k),"max-width":"190",class:"logo"},null,8,["src"]),a(L,{icon:c.value?"mdi-chevron-right":"mdi-chevron-left",variant:"text",onClick:p[0]||(p[0]=E($=>c.value=!c.value,["stop"]))},null,8,["icon"])]),N("div",Ie,[a(L,{text:y(n)("Compose"),color:"secondary",variant:"flat","prepend-icon":"mdi-pencil",onClick:x},null,8,["text"])])]),append:v(()=>[N("div",Fe,[a(L,{class:"ml-2",variant:"text",icon:"",size:"small"},{default:v(()=>[a(Z,{icon:"mdi-cog"}),a(Ce,{activator:"parent"},{default:v(()=>[a(we,{density:"compact"},{default:v(()=>[a(F,{title:y(n)("Create a new mailbox"),"prepend-icon":"mdi-plus",onClick:t},null,8,["title"]),a(F,{title:y(n)("Edit this mailbox"),"prepend-icon":"mdi-pencil",disabled:q.value,onClick:h},null,8,["title","disabled"]),a(F,{title:y(n)("Delete this mailbox"),"prepend-icon":"mdi-trash-can",disabled:q.value,onClick:le},null,8,["title","disabled"]),a(F,{title:y(n)("Compress this mailbox"),"prepend-icon":"mdi-folder-zip-outline",onClick:te},null,8,["title"])]),_:1})]),_:1})]),_:1}),i.value?(d(),R(fe,{key:0,color:X.value,"model-value":i.value.usage,title:z.value},null,8,["color","model-value","title"])):j("",!0)])]),default:v(()=>[a(ae,{modelValue:o.value,"onUpdate:modelValue":[p[1]||(p[1]=$=>o.value=$),A],mailboxes:D.value,class:"mr-2"},null,8,["modelValue","mailboxes"])]),_:1},8,["modelValue","rail"])]),_:1}),a(he,{modelValue:m.value,"onUpdate:modelValue":p[4]||(p[4]=$=>m.value=$),"max-width":"800"},{default:v(()=>[a(De,{"user-mailboxes":D.value,mailbox:_.value,hdelimiter:b.value,onMailboxRenamed:W,onClose:p[3]||(p[3]=$=>T())},null,8,["user-mailboxes","mailbox","hdelimiter"])]),_:1},8,["modelValue"]),a(de,{ref_key:"confirm",ref:f},null,512)],64))}};export{da as default};
@@ -1 +0,0 @@
1
- import{J as S,a6 as v,i as x,f as m,aa as C,a5 as I,S as A,e as k,y as w,F as $}from"./index-BjibLozh.js";const B=(t,l,e)=>{if(t==null||l==null)return-1;if(!l.length)return 0;t=t.toString().toLocaleLowerCase(),l=l.toString().toLocaleLowerCase();const r=[];let n=t.indexOf(l);for(;~n;)r.push([n,n+l.length]),n=t.indexOf(l,n+l.length);return r.length?r:-1};function O(t,l){if(!(t==null||typeof t=="boolean"||t===-1))return typeof t=="number"?[[t,t+l.length]]:Array.isArray(t[0])?t:[t]}const R=S({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function E(t,l,e){var s;const r=[],n=(e==null?void 0:e.default)??B,i=e!=null&&e.filterKeys?I(e.filterKeys):!1,c=Object.keys((e==null?void 0:e.customKeyFilter)??{}).length;if(!(t!=null&&t.length))return r;let u=null;e:for(let d=0;d<t.length;d++){const[f,M=f]=I(t[d]),h={},g={};let a=-1;if((l||c>0)&&!(e!=null&&e.noFilter)){let K=!1;if(typeof f=="object"){if(f.type==="divider"||f.type==="subheader"){(u==null?void 0:u.type)==="divider"&&f.type==="subheader"&&r.push(u),u={index:d,matches:{},type:f.type};continue}const L=i||Object.keys(M);K=L.length===c;for(const b of L){const j=A(M,b),_=(s=e==null?void 0:e.customKeyFilter)==null?void 0:s[b];if(a=_?_(j,l,f):n(j,l,f),a!==-1&&a!==!1)_?h[b]=O(a,l):g[b]=O(a,l);else if((e==null?void 0:e.filterMode)==="every")continue e}}else a=n(f,l,f),a!==-1&&a!==!1&&(g.title=O(a,l));const F=Object.keys(g).length,y=Object.keys(h).length;if(!F&&!y||(e==null?void 0:e.filterMode)==="union"&&y!==c&&!F||(e==null?void 0:e.filterMode)==="intersection"&&(y!==c||!F&&c>0&&!K))continue}u&&(r.push(u),u=null),r.push({index:d,matches:{...g,...h}})}return r}function z(t,l,e,r){const n=v([]),i=v(new Map),c=x(()=>r!=null&&r.transform?m(l).map(s=>[s,r.transform(s)]):m(l));C(()=>{const s=typeof e=="function"?e():m(e),d=typeof s!="string"&&typeof s!="number"?"":String(s),f=E(c.value,d,{customKeyFilter:{...t.customKeyFilter,...m(r==null?void 0:r.customKeyFilter)},default:t.customFilter,filterKeys:t.filterKeys,filterMode:t.filterMode,noFilter:t.noFilter}),M=m(l),h=[],g=new Map;f.forEach(a=>{let{index:K,matches:F}=a;const y=M[K];h.push(y),g.set(y.value,F)}),n.value=h,i.value=g});function u(s){return i.value.get(s.value)}return{filteredItems:n,filteredMatches:i,getMatches:u}}function J(t,l,e){return e==null||!e.length?l:e.map((r,n)=>{const i=n===0?0:e[n-1][1],c=[k("span",{class:w(`${t}__unmask`)},[l.slice(i,r[0])]),k("span",{class:w(`${t}__mask`)},[l.slice(r[0],r[1])])];return n===e.length-1&&c.push(k("span",{class:w(`${t}__unmask`)},[l.slice(r[1])])),k($,null,[c])})}export{J as h,R as m,z as u};
@@ -1 +0,0 @@
1
- import{C as o,E as g,h as e,i as n}from"./index-BjibLozh.js";const b={getCapabilities(){return o.get("/capabilities/")}},d={getNotifications(){return o.get("/notifications/")}},N=g("global",()=>{const a=e([]),i=e([]);async function s(){const t=await b.getCapabilities();a.value=t.data.capabilities}async function c(){const t=await d.getNotifications();i.value=t.data}function r(t){return i.value.find(p=>p.id===t)}async function f(){a.value=[],i.value=[]}const l=n(()=>i.value.length!==0),u=n(()=>i.value.filter(t=>t.target==="admin"));return{capabilities:a,notifications:i,fetchCapabilities:s,fetchNotifications:c,getNotificationById:r,activeNotifications:l,adminNotifications:u,$reset:f}});export{N as u};
@@ -1 +0,0 @@
1
- import{h,b as g,c as C,o as w,w as l,a as o,p as k,e as v,t as r,x as _,k as p,f as s,n as b}from"./index-BjibLozh.js";import{V as N,r as y}from"./VForm-ClJU5x_v.js";import{c as F,V as U,b as B,a as T}from"./VCard-D7AwBs4w.js";import{V as L}from"./VAlert-Buv8Z5G4.js";import{V as R}from"./VFileInput-D5qlksIG.js";import{V as $}from"./VTextField-DvvH1ciR.js";import{V as j}from"./VSwitch-D4xdR9jz.js";import{V as q}from"./VSpacer-CBqB9uSt.js";import{V as x}from"./VAvatar-BsHplcRP.js";const D={class:"headline"},I={class:"m-label"},A={class:"m-label"},K={__name:"ImportForm",props:{helpText:{type:String,default:""},title:{type:String,default:""}},emits:["close","submit"],setup(f,{expose:V,emit:i}){const n=i,t=h({}),u=h(),{$gettext:e}=g();function c(){t.value={},n("close")}async function S(){const{valid:d}=await u.value.validate();if(!d)return;const a=new FormData;a.append("sourcefile",t.value.sourcefile),t.value.sepchar&&a.append("sepchar",t.value.sepchar),t.value.continue_if_exists&&a.append("continue_if_exists",t.value.continue_if_exists),n("submit",a,t.value)}return V({close:c}),(d,a)=>(w(),C(T,null,{default:l(()=>[o(N,{ref_key:"vform",ref:u,onSubmit:k(S,["prevent"])},{default:l(()=>[o(F,null,{default:l(()=>[v("span",D,r(f.title),1)]),_:1}),o(U,null,{default:l(()=>[o(L,{variant:"tonal",type:"info",class:"mb-2"},{default:l(()=>[p(r(s(e)("Provide a CSV file where lines respect one of the following formats:"))+" ",1),_(d.$slots,"help"),p(" "+r(s(e)("The first element of each line is mandatory and must be equal to one of the previous values."))+" "+r(s(e)("You can use a different character as separator.")),1)]),_:3}),v("label",I,r(s(e)("Select file")),1),o(R,{modelValue:t.value.sourcefile,"onUpdate:modelValue":a[0]||(a[0]=m=>t.value.sourcefile=m),accept:"text/csv","truncate-length":"15",variant:"outlined",density:"compact",rules:[s(y).required]},null,8,["modelValue","rules"]),v("label",A,r(s(e)("Separator")),1),o($,{modelValue:t.value.sepchar,"onUpdate:modelValue":a[1]||(a[1]=m=>t.value.sepchar=m),rules:[s(y).required],variant:"outlined",density:"compact"},null,8,["modelValue","rules"]),o(j,{modelValue:t.value.continue_if_exists,"onUpdate:modelValue":a[2]||(a[2]=m=>t.value.continue_if_exists=m),label:s(e)("Continue on error"),color:"primary",density:"compact",hint:s(e)("Don't treat duplicated objects as errors"),"persistent-hint":""},null,8,["modelValue","label","hint"]),_(d.$slots,"extraFields",{form:t.value})]),_:3}),o(B,null,{default:l(()=>[o(q),o(x,{onClick:c},{default:l(()=>[p(r(s(e)("Close")),1)]),_:1}),o(x,{color:"primary",type:"submit"},{default:l(()=>[p(r(s(e)("Import")),1)]),_:1})]),_:1})]),_:3},512)]),_:3}))}},Q=()=>{function f(i,n,t){if(!i&&!i.length){b().displayNotification({msg:t("No data to export"),type:"warning"});return}const u=new Blob([i],{type:"text/csv"}),e=document.createElement("a");e.href=URL.createObjectURL(u),e.download=`modoboa-${n}.csv`,e.click(),URL.revokeObjectURL(e.href)}function V(i,n,t,u){i.importFromCSV(n).then(e=>{const c=b();e.data.status?(c.displayNotification({msg:e.data.message}),t.value.close()):c.displayNotification({msg:e.data.message,type:"error"})}).catch(()=>{b().displayNotification({msg:u("CSV seems to be badly formatted"),type:"error"})})}return{exportContent:f,importContent:V}};export{K as _,Q as i};
@@ -1 +0,0 @@
1
- import{C as e}from"./index-BjibLozh.js";const s="languages",o={getAll(){return e.get(`/${s}/`)}};export{o as l};
@@ -1 +0,0 @@
1
- import{C as t}from"./index-BjibLozh.js";const r="transports",s={getAll(){return t.get(`/${r}/`)}};export{s as t};
@@ -1 +0,0 @@
1
- import{C as t}from"./index-BjibLozh.js";const r={getUserMailboxes(e){const s={};return e&&(s.mailbox=e),t.get("/webmail/mailboxes/",{params:s})},getUserMailboxQuota(e){const s={mailbox:e};return t.get("/webmail/mailboxes/quota/",{params:s})},getUserMailboxUnseen(e){const s={mailbox:e};return t.get("webmail/mailboxes/unseen/",{params:s})},createUserMailbox(e){return t.post("/webmail/mailboxes/",e)},renameUserMailbox(e){return t.post("/webmail/mailboxes/rename/",e)},compressUserMailbox(e){return t.post("/webmail/mailboxes/compress/",e)},deleteUserMailbox(e){return t.post("/webmail/mailboxes/delete/",e)},emptyUserMailbox(e){const s={name:e};return t.post("/webmail/mailboxes/empty/",s)},getMailboxEmails(e,s){const o={mailbox:e,...s};return t.get("/webmail/emails/",{params:o})},getEmailContent(e,s,o){const a={mailbox:e,mailid:s,...o};return t.get("/webmail/emails/content/",{params:a})},getEmailSource(e,s){const o={mailbox:e,mailid:s};return t.get("/webmail/emails/source/",{params:o})},getEmailAttachment(e,s,o){const a={mailbox:e,mailid:s,partnum:o};return t.get("/webmail/emails/attachment/",{params:a,responseType:"blob"})},moveSelection(e,s,o){const a={source:e,destination:s,selection:o};return t.post("/webmail/emails/move/",a)},deleteSelection(e,s){const o={source:e,selection:s};return t.post("/webmail/emails/delete/",o)},markSelectionAsJunk(e,s){const o={source:e,selection:s};return t.post("/webmail/emails/mark_as_junk/",o)},markSelectionAsNotJunk(e,s){const o={source:e,selection:s};return t.post("/webmail/emails/mark_as_not_junk/",o)},flagSelection(e,s,o){const a={mailbox:e,selection:s,status:o};return t.post("/webmail/emails/flag/",a)},sendEmailFromComposeSession(e,s){return t.post(`/webmail/compose-sessions/${e}/send/`,s)},getComposeSession(e){return t.get(`/webmail/compose-sessions/${e}/`)},createComposeSession(){return t.post("/webmail/compose-sessions/")},getAllowedSenders(){return t.get("/webmail/compose-sessions/allowed_senders/")},uploadAttachment(e,s){return t.post(`/webmail/compose-sessions/${e}/attachments/`,s,{headers:{"Content-Type":"multipart/form-data"}})},removeAttachment(e,s){return t.delete(`/webmail/compose-sessions/${e}/attachments/${s}/`)}};export{r as a};
@@ -1 +0,0 @@
1
- import{E as s,h as e}from"./index-BjibLozh.js";const i=s("webmail",()=>{const t=e([]),o=e(0);return{selection:t,listingKey:o}});export{i as u};