modoboa 2.4.11__py3-none-any.whl → 2.5.1__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 (318) hide show
  1. modoboa/admin/api/v2/serializers.py +14 -0
  2. modoboa/amavis/__init__.py +3 -0
  3. modoboa/amavis/app_settings.py +276 -0
  4. modoboa/amavis/apps.py +18 -0
  5. modoboa/amavis/checks/__init__.py +2 -0
  6. modoboa/amavis/checks/settings_checks.py +59 -0
  7. modoboa/amavis/dbrouter.py +35 -0
  8. modoboa/amavis/factories.py +164 -0
  9. modoboa/amavis/handlers.py +146 -0
  10. modoboa/amavis/lib.py +381 -0
  11. modoboa/amavis/management/__init__.py +0 -0
  12. modoboa/amavis/management/commands/__init__.py +0 -0
  13. modoboa/amavis/management/commands/amnotify.py +99 -0
  14. modoboa/amavis/management/commands/qcleanup.py +84 -0
  15. modoboa/amavis/migrations/0001_initial.py +340 -0
  16. modoboa/amavis/migrations/__init__.py +0 -0
  17. modoboa/amavis/models.py +226 -0
  18. modoboa/amavis/serializers.py +139 -0
  19. modoboa/amavis/sql_connector.py +240 -0
  20. modoboa/amavis/sql_email.py +66 -0
  21. modoboa/amavis/tasks.py +33 -0
  22. modoboa/amavis/templates/amavis/notifications/pending_requests.html +16 -0
  23. modoboa/amavis/tests/__init__.py +0 -0
  24. modoboa/amavis/tests/sa-learn +3 -0
  25. modoboa/amavis/tests/sample_messages/quarantined-input.txt +80 -0
  26. modoboa/amavis/tests/sample_messages/quarantined-output-plain_nolinks.txt +17 -0
  27. modoboa/amavis/tests/spamc +3 -0
  28. modoboa/amavis/tests/test_checks.py +25 -0
  29. modoboa/amavis/tests/test_handlers.py +214 -0
  30. modoboa/amavis/tests/test_lib.py +90 -0
  31. modoboa/amavis/tests/test_management_commands.py +45 -0
  32. modoboa/amavis/tests/test_sql_email.py +67 -0
  33. modoboa/amavis/tests/test_utils.py +19 -0
  34. modoboa/amavis/tests/test_viewsets.py +319 -0
  35. modoboa/amavis/urls.py +11 -0
  36. modoboa/amavis/utils.py +105 -0
  37. modoboa/amavis/viewsets.py +265 -0
  38. modoboa/core/api/v1/serializers.py +7 -5
  39. modoboa/core/api/v2/serializers.py +4 -2
  40. modoboa/core/api/v2/tests.py +16 -4
  41. modoboa/core/api/v2/urls.py +5 -5
  42. modoboa/core/api/v2/views.py +6 -2
  43. modoboa/core/api/v2/viewsets.py +24 -3
  44. modoboa/core/commands/deploy.py +3 -0
  45. modoboa/core/commands/templates/settings.py.tpl +12 -11
  46. modoboa/core/handlers.py +6 -2
  47. modoboa/core/management/commands/add_allowed_hosts.py +33 -0
  48. modoboa/core/management/commands/load_initial_data.py +10 -0
  49. modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +23 -5
  50. modoboa/core/tests/test_core.py +24 -0
  51. modoboa/core/utils.py +3 -0
  52. modoboa/frontend_dist/assets/AccountAliasForm-C0oHHyZL.js +1 -0
  53. modoboa/frontend_dist/assets/AccountEditView-lgSJ2Se8.js +1 -0
  54. modoboa/frontend_dist/assets/AccountLayout-U386K8zy.js +1 -0
  55. modoboa/frontend_dist/assets/AccountPasswordSubForm-YsaE_cDx.js +1 -0
  56. modoboa/frontend_dist/assets/AccountView-1jfKFDwb.js +1 -0
  57. modoboa/frontend_dist/assets/AddressBook-CwN64Zls.js +1 -0
  58. modoboa/frontend_dist/assets/AdminLayout-Cxm1lggg.js +1 -0
  59. modoboa/frontend_dist/assets/AlarmsView-9yKGbmkC.css +1 -0
  60. modoboa/frontend_dist/assets/AlarmsView-Bcjsicac.js +1 -0
  61. modoboa/frontend_dist/assets/AliasEditView-k3rVt1tG.js +1 -0
  62. modoboa/frontend_dist/assets/{AliasRecipientForm-IOae6sjF.js → AliasRecipientForm-IehUzKok.js} +1 -1
  63. modoboa/frontend_dist/assets/AliasView-DMzA10eD.js +1 -0
  64. modoboa/frontend_dist/assets/AuditTrailView-5dnGX5El.js +1 -0
  65. modoboa/frontend_dist/assets/CalendarView-DZONeDA9.js +1 -0
  66. modoboa/frontend_dist/assets/{ChoiceField-DJ_c78Cm.js → ChoiceField-DnwXRkht.js} +1 -1
  67. modoboa/frontend_dist/assets/ComposeEmailForm-kghmfNuE.js +1 -0
  68. modoboa/frontend_dist/assets/ComposeEmailView-DLv3wk1k.js +1 -0
  69. modoboa/frontend_dist/assets/ConfirmDialog-CcPrCKuI.js +1 -0
  70. modoboa/frontend_dist/assets/{ConnectedLayout-Dvwmicnc.css → ConnectedLayout-Bxh21hcH.css} +1 -1
  71. modoboa/frontend_dist/assets/ConnectedLayout-CWlBK7Hf.js +1 -0
  72. modoboa/frontend_dist/assets/CreationForm-CW4lxnPg.js +1 -0
  73. modoboa/frontend_dist/assets/DashboardView-DXVZMbMo.js +1 -0
  74. modoboa/frontend_dist/assets/DomainAdminList-C3jcDDc3.js +1 -0
  75. modoboa/frontend_dist/assets/DomainEditView-ph8AaElX.js +1 -0
  76. modoboa/frontend_dist/assets/{DomainTransportForm-C2xo0Yd7.js → DomainTransportForm-NCz6Bl-h.js} +1 -1
  77. modoboa/frontend_dist/assets/DomainView-BgMSSuU-.js +5 -0
  78. modoboa/frontend_dist/assets/{DomainView-BDKoBFYr.css → DomainView-CCLYXPHx.css} +1 -1
  79. modoboa/frontend_dist/assets/DomainsView-CEEU9btK.js +1 -0
  80. modoboa/frontend_dist/assets/DomainsView-DZ-ss9bI.css +1 -0
  81. modoboa/frontend_dist/assets/EmailField-DeqDPm5j.js +1 -0
  82. modoboa/frontend_dist/assets/EmailView-DczVhVO0.js +1 -0
  83. modoboa/frontend_dist/assets/EmptyLayout-BXgcfMLH.js +1 -0
  84. modoboa/frontend_dist/assets/FiltersView-nJj_gSCx.js +1 -0
  85. modoboa/frontend_dist/assets/ForwardEmailView-Bgv3JQb6.js +1 -0
  86. modoboa/frontend_dist/assets/{HtmlEditor-CJ9umKeO.js → HtmlEditor-BWRdelVw.js} +1 -1
  87. modoboa/frontend_dist/assets/{IdentitiesView-0ziuQ5s-.css → IdentitiesView-DPrrRMS5.css} +1 -1
  88. modoboa/frontend_dist/assets/IdentitiesView-Dld9IloZ.js +1 -0
  89. modoboa/frontend_dist/assets/InformationView-BBWKSX8D.js +1 -0
  90. modoboa/frontend_dist/assets/InformationView-C9vvvQhJ.css +1 -0
  91. modoboa/frontend_dist/assets/{LoadingData-CYwX3Jpn.js → LoadingData-G57nJ_JV.js} +1 -1
  92. modoboa/frontend_dist/assets/{LoginCallbackView-E01qkKn0.js → LoginCallbackView-DjyE2SG_.js} +1 -1
  93. modoboa/frontend_dist/assets/{LoginView-Cy4uFV9h.js → LoginView-CqCCXYLo.js} +1 -1
  94. modoboa/frontend_dist/assets/{MailboxView-B-aI4XBq.css → MailboxView-CfStlWhk.css} +1 -1
  95. modoboa/frontend_dist/assets/MailboxView-DRrs9eLO.js +1 -0
  96. modoboa/frontend_dist/assets/MenuItems-BqIZW5av.js +1 -0
  97. modoboa/frontend_dist/assets/MessageView-D_6tx_gd.js +1 -0
  98. modoboa/frontend_dist/assets/MessagesView-BH7JIR03.js +1 -0
  99. modoboa/frontend_dist/assets/MigrationsView-Cv_So9T-.js +1 -0
  100. modoboa/frontend_dist/assets/{ParametersForm-BZM0QSvg.js → ParametersForm-3qXttTuQ.js} +1 -1
  101. modoboa/frontend_dist/assets/ParametersView-3Ns04cpQ.js +1 -0
  102. modoboa/frontend_dist/assets/ParametersView-B5B5Dt6K.js +1 -0
  103. modoboa/frontend_dist/assets/ProviderEditView-zh7CY832.js +1 -0
  104. modoboa/frontend_dist/assets/ProviderGeneralForm-BQU7t3ma.js +1 -0
  105. modoboa/frontend_dist/assets/ProvidersView-CoF_ZkZA.js +1 -0
  106. modoboa/frontend_dist/assets/QuarantineLayout-CYBsrbJM.js +1 -0
  107. modoboa/frontend_dist/assets/QuarantineView-D4gOE4EQ.css +1 -0
  108. modoboa/frontend_dist/assets/QuarantineView-DNvpoycb.js +1 -0
  109. modoboa/frontend_dist/assets/ReplyEmailView-D1XTcglu.js +1 -0
  110. modoboa/frontend_dist/assets/ResourcesForm-BW8rUGgZ.js +1 -0
  111. modoboa/frontend_dist/assets/SelfServiceLayout-DfDHiYeX.js +1 -0
  112. modoboa/frontend_dist/assets/{SettingsView-BxLJBFY0.js → SettingsView-gQiJ2NVb.js} +2 -2
  113. modoboa/frontend_dist/assets/StatisticsView-DYalet_q.js +1 -0
  114. modoboa/frontend_dist/assets/TimeSerieChart-BZ2htbFk.js +1 -0
  115. modoboa/frontend_dist/assets/UserLayout-zUtHi-z-.js +1 -0
  116. modoboa/frontend_dist/assets/VAlert-4r6LxKtg.js +1 -0
  117. modoboa/frontend_dist/assets/VApp-CX_C7AUN.js +1 -0
  118. modoboa/frontend_dist/assets/VAutocomplete-DNKmBvyZ.js +1 -0
  119. modoboa/frontend_dist/assets/VAvatar-DbuoZWmf.js +1 -0
  120. modoboa/frontend_dist/assets/VBadge-BQrRJ9S0.css +1 -0
  121. modoboa/frontend_dist/assets/VBadge-Bv2nvUmC.js +1 -0
  122. modoboa/frontend_dist/assets/VCard-DzjUT5OP.js +1 -0
  123. modoboa/frontend_dist/assets/VCheckbox-dr7UFjl4.js +1 -0
  124. modoboa/frontend_dist/assets/{VCheckboxBtn-Dt810gWf.js → VCheckboxBtn-CpFdBnTv.js} +1 -1
  125. modoboa/frontend_dist/assets/VChip-CaQvfmkw.js +1 -0
  126. modoboa/frontend_dist/assets/VColorPicker-ByGpCW5O.js +1 -0
  127. modoboa/frontend_dist/assets/{VContainer-DvTbsotR.js → VContainer-74Dnn8Ux.js} +1 -1
  128. modoboa/frontend_dist/assets/VDataTable-CL7yHvG7.js +1 -0
  129. modoboa/frontend_dist/assets/VDataTableServer-BqvNcIdw.js +1 -0
  130. modoboa/frontend_dist/assets/VDataTableVirtual--KsOP8i6.js +1 -0
  131. modoboa/frontend_dist/assets/{VDialog-Bk6EWNhz.js → VDialog-DmTGCGR0.js} +1 -1
  132. modoboa/frontend_dist/assets/VExpansionPanels-B7sSTCwd.js +1 -0
  133. modoboa/frontend_dist/assets/VFileInput-SULIc6F3.js +1 -0
  134. modoboa/frontend_dist/assets/VForm-DsRLc-sa.js +1 -0
  135. modoboa/frontend_dist/assets/VInput-CcxkaOXT.css +1 -0
  136. modoboa/frontend_dist/assets/VInput-DVKUObZe.js +1 -0
  137. modoboa/frontend_dist/assets/VMenu-nv0XOgg0.js +1 -0
  138. modoboa/frontend_dist/assets/VPicker-DnDSWJHJ.js +1 -0
  139. modoboa/frontend_dist/assets/VProgressCircular-qK6p5X_Y.js +1 -0
  140. modoboa/frontend_dist/assets/VRadioGroup-CbiPLy0t.js +1 -0
  141. modoboa/frontend_dist/assets/{VRow-BF35mT1S.js → VRow-DJ0NB63-.js} +1 -1
  142. modoboa/frontend_dist/assets/VSelect-CxCFMHyF.js +1 -0
  143. modoboa/frontend_dist/assets/VSelectionControl-C-6A4us5.js +1 -0
  144. modoboa/frontend_dist/assets/VSheet-DI6SxLnG.js +1 -0
  145. modoboa/frontend_dist/assets/VSpacer-CoJVmx8k.js +1 -0
  146. modoboa/frontend_dist/assets/VSwitch-DPnjPQuU.js +1 -0
  147. modoboa/frontend_dist/assets/VTable-ldTxgQPW.js +1 -0
  148. modoboa/frontend_dist/assets/VTabs-aS8WSL9I.js +1 -0
  149. modoboa/frontend_dist/assets/VTextField-BzBVKKob.css +1 -0
  150. modoboa/frontend_dist/assets/VTextField-DKbr4H5w.js +1 -0
  151. modoboa/frontend_dist/assets/VTextarea-BttkFsM4.js +1 -0
  152. modoboa/frontend_dist/assets/VToolbar-BxX3W2kR.js +1 -0
  153. modoboa/frontend_dist/assets/VWindowItem-Cvqvdegd.js +1 -0
  154. modoboa/frontend_dist/assets/WebmailLayout-BT2k6U7q.js +1 -0
  155. modoboa/frontend_dist/assets/accounts-CC2F0a0c.js +1 -0
  156. modoboa/frontend_dist/assets/{admin-o-HRGnmT.js → admin-CHCHFGI6.js} +1 -1
  157. modoboa/frontend_dist/assets/{aliases-DDVeehyg.js → aliases-C9bUD4Ws.js} +1 -1
  158. modoboa/frontend_dist/assets/amavis-BhzV4rgf.js +1 -0
  159. modoboa/frontend_dist/assets/amavis-DCVJxuui.js +1 -0
  160. modoboa/frontend_dist/assets/{contacts-C84DY-Q1.js → contacts-Dxz6eWpf.js} +1 -1
  161. modoboa/frontend_dist/assets/{domains-Bgn4ixHL.js → domains-C2cornvL.js} +1 -1
  162. modoboa/frontend_dist/assets/{domains.store-DTE-V7Y1.js → domains.store-BLKRipG8.js} +1 -1
  163. modoboa/frontend_dist/assets/{filter-CnffiQAW.js → filter-rmxrcjKk.js} +1 -1
  164. modoboa/frontend_dist/assets/forwardRefs-CpzzjgpX.js +1 -0
  165. modoboa/frontend_dist/assets/global.store-DndbMXYb.js +1 -0
  166. modoboa/frontend_dist/assets/{importExport-BlQYb0NO.js → importExport-C3uqrcok.js} +1 -1
  167. modoboa/frontend_dist/assets/index-LhNzkzAh.js +984 -0
  168. modoboa/frontend_dist/assets/layout-DbjDe3Wl.js +1 -0
  169. modoboa/frontend_dist/assets/{layout.store-DkjrAoXt.js → layout.store-Vq5mvIp7.js} +1 -1
  170. modoboa/frontend_dist/assets/{logos-q8SEyAa4.js → logos-Bvcy0usu.js} +1 -1
  171. modoboa/frontend_dist/assets/{logs-B7IJ7LBa.js → logs-BuItINky.js} +1 -1
  172. modoboa/frontend_dist/assets/{parameters-A6iBEYQq.js → parameters-C8IYEP7q.js} +1 -1
  173. modoboa/frontend_dist/assets/{parameters.store-BiXS4_6w.js → parameters.store-1cwSP2JP.js} +1 -1
  174. modoboa/frontend_dist/assets/permissions-DQjAcO9S.js +1 -0
  175. modoboa/frontend_dist/assets/{ssrBoot-AzTdjPjk.js → ssrBoot-BxIQ9ccA.js} +1 -1
  176. modoboa/frontend_dist/assets/{tag-BnSYRTcD.js → tag-3cfI1_f7.js} +1 -1
  177. modoboa/frontend_dist/assets/transports-D4Jk4-AP.js +1 -0
  178. modoboa/frontend_dist/assets/{webmail-CSH_3l6R.js → webmail-B2IUjaxM.js} +1 -1
  179. modoboa/frontend_dist/index.html +1 -1
  180. modoboa/lib/email_utils.py +2 -2
  181. modoboa/lib/permissions.py +7 -0
  182. modoboa/lib/test_runners.py +29 -0
  183. modoboa/lib/tests/__init__.py +5 -1
  184. modoboa/locale/br/LC_MESSAGES/django.po +87 -75
  185. modoboa/locale/cs/LC_MESSAGES/django.po +82 -74
  186. modoboa/locale/cs_CZ/LC_MESSAGES/django.po +145 -121
  187. modoboa/locale/de/LC_MESSAGES/django.mo +0 -0
  188. modoboa/locale/de/LC_MESSAGES/django.po +339 -651
  189. modoboa/locale/de_DE/LC_MESSAGES/django.po +87 -75
  190. modoboa/locale/el_GR/LC_MESSAGES/django.po +160 -135
  191. modoboa/locale/en/LC_MESSAGES/django.po +82 -74
  192. modoboa/locale/es/LC_MESSAGES/django.po +158 -131
  193. modoboa/locale/es_MX/LC_MESSAGES/django.po +82 -74
  194. modoboa/locale/fi/LC_MESSAGES/django.po +87 -75
  195. modoboa/locale/fr/LC_MESSAGES/django.mo +0 -0
  196. modoboa/locale/fr/LC_MESSAGES/django.po +469 -201
  197. modoboa/locale/hu/LC_MESSAGES/django.po +82 -74
  198. modoboa/locale/it/LC_MESSAGES/django.mo +0 -0
  199. modoboa/locale/it/LC_MESSAGES/django.po +148 -122
  200. modoboa/locale/ja_JP/LC_MESSAGES/django.mo +0 -0
  201. modoboa/locale/ja_JP/LC_MESSAGES/django.po +80 -72
  202. modoboa/locale/ka/LC_MESSAGES/django.po +82 -74
  203. modoboa/locale/nl_NL/LC_MESSAGES/django.po +160 -132
  204. modoboa/locale/no/LC_MESSAGES/django.po +82 -74
  205. modoboa/locale/pl_PL/LC_MESSAGES/django.mo +0 -0
  206. modoboa/locale/pl_PL/LC_MESSAGES/django.po +172 -149
  207. modoboa/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  208. modoboa/locale/pt_BR/LC_MESSAGES/django.po +172 -144
  209. modoboa/locale/pt_PT/LC_MESSAGES/django.po +135 -112
  210. modoboa/locale/ro_RO/LC_MESSAGES/django.po +87 -75
  211. modoboa/locale/ru/LC_MESSAGES/django.po +142 -118
  212. modoboa/locale/si/LC_MESSAGES/django.po +82 -74
  213. modoboa/locale/sk/LC_MESSAGES/django.po +82 -74
  214. modoboa/locale/sk_SK/LC_MESSAGES/django.po +84 -76
  215. modoboa/locale/sl_SI/LC_MESSAGES/django.po +90 -76
  216. modoboa/locale/sv/LC_MESSAGES/django.mo +0 -0
  217. modoboa/locale/sv/LC_MESSAGES/django.po +172 -139
  218. modoboa/locale/tr/LC_MESSAGES/django.po +87 -75
  219. modoboa/locale/tr_TR/LC_MESSAGES/django.po +84 -74
  220. modoboa/locale/uk/LC_MESSAGES/django.po +82 -74
  221. modoboa/locale/zh/LC_MESSAGES/django.po +82 -74
  222. modoboa/locale/zh_CN/LC_MESSAGES/django.po +82 -74
  223. modoboa/locale/zh_TW/LC_MESSAGES/django.po +87 -75
  224. modoboa/parameters/api/v2/tests.py +2 -2
  225. modoboa/parameters/api/v2/viewsets.py +2 -0
  226. modoboa/policyd/tests.py +2 -0
  227. modoboa/urls_api_v2.py +6 -0
  228. modoboa/webmail/lib/imaputils.py +2 -2
  229. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/METADATA +6 -4
  230. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/RECORD +235 -185
  231. modoboa/frontend_dist/assets/AccountAliasForm-BV6KvTu6.js +0 -1
  232. modoboa/frontend_dist/assets/AccountEditView-DDOFyfBD.js +0 -1
  233. modoboa/frontend_dist/assets/AccountLayout-rX51xgxT.js +0 -1
  234. modoboa/frontend_dist/assets/AccountPasswordSubForm-D9S6LaeH.js +0 -1
  235. modoboa/frontend_dist/assets/AccountView-cmvaZNq3.js +0 -1
  236. modoboa/frontend_dist/assets/AddressBook-DCJxL8SU.js +0 -1
  237. modoboa/frontend_dist/assets/AdminLayout-r0wfG2lO.js +0 -1
  238. modoboa/frontend_dist/assets/AlarmsView-Bheey-gp.css +0 -1
  239. modoboa/frontend_dist/assets/AlarmsView-C0bqC4PA.js +0 -1
  240. modoboa/frontend_dist/assets/AliasEditView-DVoWoCGY.js +0 -1
  241. modoboa/frontend_dist/assets/AliasView-DrONZXOh.js +0 -1
  242. modoboa/frontend_dist/assets/AuditTrailView-OTkoZaMU.js +0 -1
  243. modoboa/frontend_dist/assets/CalendarView-CqF4_Ui9.js +0 -1
  244. modoboa/frontend_dist/assets/ComposeEmailForm-DO5_GB3e.js +0 -1
  245. modoboa/frontend_dist/assets/ComposeEmailView-A91HCBsN.js +0 -1
  246. modoboa/frontend_dist/assets/ConfirmDialog-BBcgdAnO.js +0 -1
  247. modoboa/frontend_dist/assets/ConnectedLayout-1oRW-Rql.js +0 -1
  248. modoboa/frontend_dist/assets/CreationForm-71YJbjsA.js +0 -1
  249. modoboa/frontend_dist/assets/DashboardView-CdLpSfUl.js +0 -1
  250. modoboa/frontend_dist/assets/DomainAdminList-BjC4KsqI.js +0 -1
  251. modoboa/frontend_dist/assets/DomainEditView-CQjKwYxl.js +0 -1
  252. modoboa/frontend_dist/assets/DomainView-BhhuZI_N.js +0 -5
  253. modoboa/frontend_dist/assets/DomainsView-Cft4BP8Z.js +0 -1
  254. modoboa/frontend_dist/assets/DomainsView-DasJ0NdZ.css +0 -1
  255. modoboa/frontend_dist/assets/EmailField-C8umy0EU.js +0 -1
  256. modoboa/frontend_dist/assets/EmailView-ki7uEQPD.js +0 -1
  257. modoboa/frontend_dist/assets/EmptyLayout-DaA1XH9n.js +0 -1
  258. modoboa/frontend_dist/assets/FiltersView-FYFZxG4B.js +0 -1
  259. modoboa/frontend_dist/assets/ForwardEmailView-cUbnSYCF.js +0 -1
  260. modoboa/frontend_dist/assets/IdentitiesView-njNo8N5n.js +0 -1
  261. modoboa/frontend_dist/assets/InformationView-D1h38POt.js +0 -1
  262. modoboa/frontend_dist/assets/InformationView-U5Ww-Sx1.css +0 -1
  263. modoboa/frontend_dist/assets/MailboxView-IlrLWm_H.js +0 -1
  264. modoboa/frontend_dist/assets/MenuItems-BAtHWzAE.js +0 -1
  265. modoboa/frontend_dist/assets/MessagesView-OSpjixFq.js +0 -1
  266. modoboa/frontend_dist/assets/MigrationsView-DKNOsVzF.js +0 -1
  267. modoboa/frontend_dist/assets/ParametersView-C4bXASiq.js +0 -1
  268. modoboa/frontend_dist/assets/ParametersView-CYXgNmc1.js +0 -1
  269. modoboa/frontend_dist/assets/ProviderEditView-CyxCWTST.js +0 -1
  270. modoboa/frontend_dist/assets/ProviderGeneralForm-BYPjNHqB.js +0 -1
  271. modoboa/frontend_dist/assets/ProvidersView-CxrMkRyk.js +0 -1
  272. modoboa/frontend_dist/assets/ReplyEmailView-Dkw9-N26.js +0 -1
  273. modoboa/frontend_dist/assets/ResourcesForm-CuUvrOdY.js +0 -1
  274. modoboa/frontend_dist/assets/StatisticsView-BN7QsZMT.js +0 -1
  275. modoboa/frontend_dist/assets/TimeSerieChart-BMN8BeFZ.js +0 -1
  276. modoboa/frontend_dist/assets/UserLayout-B6-JQg4F.js +0 -1
  277. modoboa/frontend_dist/assets/VAlert-DIQTrRif.js +0 -1
  278. modoboa/frontend_dist/assets/VApp-CpkYA7js.js +0 -1
  279. modoboa/frontend_dist/assets/VAutocomplete-C4IpXyl8.js +0 -1
  280. modoboa/frontend_dist/assets/VAvatar-Lpb-Dion.js +0 -1
  281. modoboa/frontend_dist/assets/VCard-er_isjE_.js +0 -1
  282. modoboa/frontend_dist/assets/VCheckbox-D-u8JXP1.js +0 -1
  283. modoboa/frontend_dist/assets/VChip-B4iSpj8_.js +0 -1
  284. modoboa/frontend_dist/assets/VColorPicker-BAjGDsXv.js +0 -1
  285. modoboa/frontend_dist/assets/VDataTable-4JRjbtgF.js +0 -1
  286. modoboa/frontend_dist/assets/VDataTableServer-tIDT1m3-.js +0 -1
  287. modoboa/frontend_dist/assets/VDataTableVirtual-BlnO18u_.js +0 -1
  288. modoboa/frontend_dist/assets/VExpansionPanels-CwGtXDhr.js +0 -1
  289. modoboa/frontend_dist/assets/VFileInput-D1_7ZkO_.js +0 -1
  290. modoboa/frontend_dist/assets/VForm-DAkW4nfy.js +0 -1
  291. modoboa/frontend_dist/assets/VMenu-BPFJwj2f.js +0 -1
  292. modoboa/frontend_dist/assets/VPicker-CfT82M8N.js +0 -1
  293. modoboa/frontend_dist/assets/VProgressCircular-w75-3ogi.js +0 -1
  294. modoboa/frontend_dist/assets/VRadioGroup-0j6DNC_k.js +0 -1
  295. modoboa/frontend_dist/assets/VSelect-Cs4ARbAS.js +0 -1
  296. modoboa/frontend_dist/assets/VSelectionControl-Dg-XyRRS.js +0 -1
  297. modoboa/frontend_dist/assets/VSheet-Btq_Mu4s.js +0 -1
  298. modoboa/frontend_dist/assets/VSpacer-C7xukQmu.js +0 -1
  299. modoboa/frontend_dist/assets/VSwitch-Cs1NQrmk.js +0 -1
  300. modoboa/frontend_dist/assets/VTable-CNz2SGk4.js +0 -1
  301. modoboa/frontend_dist/assets/VTabs-B1fyVn4M.js +0 -1
  302. modoboa/frontend_dist/assets/VTextField-BdyvgvkG.js +0 -1
  303. modoboa/frontend_dist/assets/VTextField-C-J20yj_.css +0 -1
  304. modoboa/frontend_dist/assets/VTextarea-DnOMpe0Q.js +0 -1
  305. modoboa/frontend_dist/assets/VToolbar-BiCiBxBJ.js +0 -1
  306. modoboa/frontend_dist/assets/VWindowItem-ChWm_kz3.js +0 -1
  307. modoboa/frontend_dist/assets/WebmailLayout-o4uEkp9e.js +0 -1
  308. modoboa/frontend_dist/assets/forwardRefs-Dvjn_Xq4.js +0 -1
  309. modoboa/frontend_dist/assets/global.store-BaiD63EN.js +0 -1
  310. modoboa/frontend_dist/assets/index-I1VDlN4g.js +0 -984
  311. modoboa/frontend_dist/assets/layout-D8ZJPiJ_.js +0 -1
  312. modoboa/frontend_dist/assets/permissions-CITHLHVg.js +0 -1
  313. modoboa/frontend_dist/assets/transports-Dz7c6kIy.js +0 -1
  314. {modoboa-2.4.11.data → modoboa-2.5.1.data}/scripts/modoboa-admin.py +0 -0
  315. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/WHEEL +0 -0
  316. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/entry_points.txt +0 -0
  317. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/licenses/LICENSE +0 -0
  318. {modoboa-2.4.11.dist-info → modoboa-2.5.1.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- import{am as Jo,ab as Ko,d as qo,az as Qi,an as Uo,g as Jn,af as _o,bH as Go,bL as Yo,a5 as Xo,f as A,bM as Zo,L as Qo,m as el,o as Cn,e as tl,a as ee,H as nl,c as zr,n as Lr,w as Fr,J as be}from"./index-I1VDlN4g.js";import{V as ue,X as rl,Y as il}from"./VAvatar-Lpb-Dion.js";import{c as Vr}from"./forwardRefs-Dvjn_Xq4.js";function H(n){this.content=n}H.prototype={constructor:H,find:function(n){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===n)return e;return-1},get:function(n){var e=this.find(n);return e==-1?void 0:this.content[e+1]},update:function(n,e,t){var r=t&&t!=n?this.remove(t):this,i=r.find(n),s=r.content.slice();return i==-1?s.push(t||n,e):(s[i+1]=e,t&&(s[i]=t)),new H(s)},remove:function(n){var e=this.find(n);if(e==-1)return this;var t=this.content.slice();return t.splice(e,2),new H(t)},addToStart:function(n,e){return new H([n,e].concat(this.remove(n).content))},addToEnd:function(n,e){var t=this.remove(n).content.slice();return t.push(n,e),new H(t)},addBefore:function(n,e,t){var r=this.remove(e),i=r.content.slice(),s=r.find(n);return i.splice(s==-1?i.length:s,0,e,t),new H(i)},forEach:function(n){for(var e=0;e<this.content.length;e+=2)n(this.content[e],this.content[e+1])},prepend:function(n){return n=H.from(n),n.size?new H(n.content.concat(this.subtract(n).content)):this},append:function(n){return n=H.from(n),n.size?new H(this.subtract(n).content.concat(n.content)):this},subtract:function(n){var e=this;n=H.from(n);for(var t=0;t<n.content.length;t+=2)e=e.remove(n.content[t]);return e},toObject:function(){var n={};return this.forEach(function(e,t){n[e]=t}),n},get size(){return this.content.length>>1}};H.from=function(n){if(n instanceof H)return n;var e=[];if(n)for(var t in n)e.push(t,n[t]);return new H(e)};function es(n,e,t){for(let r=0;;r++){if(r==n.childCount||r==e.childCount)return n.childCount==e.childCount?null:t;let i=n.child(r),s=e.child(r);if(i==s){t+=i.nodeSize;continue}if(!i.sameMarkup(s))return t;if(i.isText&&i.text!=s.text){for(let o=0;i.text[o]==s.text[o];o++)t++;return t}if(i.content.size||s.content.size){let o=es(i.content,s.content,t+1);if(o!=null)return o}t+=i.nodeSize}}function ts(n,e,t,r){for(let i=n.childCount,s=e.childCount;;){if(i==0||s==0)return i==s?null:{a:t,b:r};let o=n.child(--i),l=e.child(--s),a=o.nodeSize;if(o==l){t-=a,r-=a;continue}if(!o.sameMarkup(l))return{a:t,b:r};if(o.isText&&o.text!=l.text){let c=0,u=Math.min(o.text.length,l.text.length);for(;c<u&&o.text[o.text.length-c-1]==l.text[l.text.length-c-1];)c++,t--,r--;return{a:t,b:r}}if(o.content.size||l.content.size){let c=ts(o.content,l.content,t-1,r-1);if(c)return c}t-=a,r-=a}}class b{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let r=0;r<e.length;r++)this.size+=e[r].nodeSize}nodesBetween(e,t,r,i=0,s){for(let o=0,l=0;l<t;o++){let a=this.content[o],c=l+a.nodeSize;if(c>e&&r(a,i+l,s||null,o)!==!1&&a.content.size){let u=l+1;a.nodesBetween(Math.max(0,e-u),Math.min(a.content.size,t-u),r,i+u)}l=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,r,i){let s="",o=!0;return this.nodesBetween(e,t,(l,a)=>{let c=l.isText?l.text.slice(Math.max(e,a)-a,t-a):l.isLeaf?i?typeof i=="function"?i(l):i:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&c||l.isTextblock)&&r&&(o?o=!1:s+=r),s+=c},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let t=this.lastChild,r=e.firstChild,i=this.content.slice(),s=0;for(t.isText&&t.sameMarkup(r)&&(i[i.length-1]=t.withText(t.text+r.text),s=1);s<e.content.length;s++)i.push(e.content[s]);return new b(i,this.size+e.size)}cut(e,t=this.size){if(e==0&&t==this.size)return this;let r=[],i=0;if(t>e)for(let s=0,o=0;o<t;s++){let l=this.content[s],a=o+l.nodeSize;a>e&&((o<e||a>t)&&(l.isText?l=l.cut(Math.max(0,e-o),Math.min(l.text.length,t-o)):l=l.cut(Math.max(0,e-o-1),Math.min(l.content.size,t-o-1))),r.push(l),i+=l.nodeSize),o=a}return new b(r,i)}cutByIndex(e,t){return e==t?b.empty:e==0&&t==this.content.length?this:new b(this.content.slice(e,t))}replaceChild(e,t){let r=this.content[e];if(r==t)return this;let i=this.content.slice(),s=this.size+t.nodeSize-r.nodeSize;return i[e]=t,new b(i,s)}addToStart(e){return new b([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new b(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw new RangeError("Index "+e+" out of range for "+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,r=0;t<this.content.length;t++){let i=this.content[t];e(i,r,t),r+=i.nodeSize}}findDiffStart(e,t=0){return es(this,e,t)}findDiffEnd(e,t=this.size,r=e.size){return ts(this,e,t,r)}findIndex(e,t=-1){if(e==0)return Ft(0,e);if(e==this.size)return Ft(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let r=0,i=0;;r++){let s=this.child(r),o=i+s.nodeSize;if(o>=e)return o==e||t>0?Ft(r+1,o):Ft(r,i);i=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,t){if(!t)return b.empty;if(!Array.isArray(t))throw new RangeError("Invalid input for Fragment.fromJSON");return new b(t.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return b.empty;let t,r=0;for(let i=0;i<e.length;i++){let s=e[i];r+=s.nodeSize,i&&s.isText&&e[i-1].sameMarkup(s)?(t||(t=e.slice(0,i)),t[t.length-1]=s.withText(t[t.length-1].text+s.text)):t&&t.push(s)}return new b(t||e,r)}static from(e){if(!e)return b.empty;if(e instanceof b)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new b([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}b.empty=new b([],0);const wn={index:0,offset:0};function Ft(n,e){return wn.index=n,wn.offset=e,wn}function Yt(n,e){if(n===e)return!0;if(!(n&&typeof n=="object")||!(e&&typeof e=="object"))return!1;let t=Array.isArray(n);if(Array.isArray(e)!=t)return!1;if(t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!Yt(n[r],e[r]))return!1}else{for(let r in n)if(!(r in e)||!Yt(n[r],e[r]))return!1;for(let r in e)if(!(r in n))return!1}return!0}let v=class Kn{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,r=!1;for(let i=0;i<e.length;i++){let s=e[i];if(this.eq(s))return e;if(this.type.excludes(s.type))t||(t=e.slice(0,i));else{if(s.type.excludes(this.type))return e;!r&&s.type.rank>this.type.rank&&(t||(t=e.slice(0,i)),t.push(this),r=!0),t&&t.push(s)}}return t||(t=e.slice()),r||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Yt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Mark.fromJSON");let r=e.marks[t.type];if(!r)throw new RangeError(`There is no mark type ${t.type} in this schema`);let i=r.create(t.attrs);return r.checkAttrs(i.attrs),i}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].eq(t[r]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return Kn.none;if(e instanceof Kn)return[e];let t=e.slice();return t.sort((r,i)=>r.type.rank-i.type.rank),t}};v.none=[];class Xt extends Error{}class k{constructor(e,t,r){this.content=e,this.openStart=t,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,t){let r=rs(this.content,e+this.openStart,t);return r&&new k(r,this.openStart,this.openEnd)}removeBetween(e,t){return new k(ns(this.content,e+this.openStart,t+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,t){if(!t)return k.empty;let r=t.openStart||0,i=t.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new k(b.fromJSON(e,t.content),r,i)}static maxOpen(e,t=!0){let r=0,i=0;for(let s=e.firstChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.firstChild)r++;for(let s=e.lastChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.lastChild)i++;return new k(e,r,i)}}k.empty=new k(b.empty,0,0);function ns(n,e,t){let{index:r,offset:i}=n.findIndex(e),s=n.maybeChild(r),{index:o,offset:l}=n.findIndex(t);if(i==e||s.isText){if(l!=t&&!n.child(o).isText)throw new RangeError("Removing non-flat range");return n.cut(0,e).append(n.cut(t))}if(r!=o)throw new RangeError("Removing non-flat range");return n.replaceChild(r,s.copy(ns(s.content,e-i-1,t-i-1)))}function rs(n,e,t,r){let{index:i,offset:s}=n.findIndex(e),o=n.maybeChild(i);if(s==e||o.isText)return n.cut(0,e).append(t).append(n.cut(e));let l=rs(o.content,e-s-1,t);return l&&n.replaceChild(i,o.copy(l))}function sl(n,e,t){if(t.openStart>n.depth)throw new Xt("Inserted content deeper than insertion position");if(n.depth-t.openStart!=e.depth-t.openEnd)throw new Xt("Inconsistent open depths");return is(n,e,t,0)}function is(n,e,t,r){let i=n.index(r),s=n.node(r);if(i==e.index(r)&&r<n.depth-t.openStart){let o=is(n,e,t,r+1);return s.copy(s.content.replaceChild(i,o))}else if(t.content.size)if(!t.openStart&&!t.openEnd&&n.depth==r&&e.depth==r){let o=n.parent,l=o.content;return Ue(o,l.cut(0,n.parentOffset).append(t.content).append(l.cut(e.parentOffset)))}else{let{start:o,end:l}=ol(t,n);return Ue(s,ls(n,o,l,e,r))}else return Ue(s,Zt(n,e,r))}function ss(n,e){if(!e.type.compatibleContent(n.type))throw new Xt("Cannot join "+e.type.name+" onto "+n.type.name)}function qn(n,e,t){let r=n.node(t);return ss(r,e.node(t)),r}function qe(n,e){let t=e.length-1;t>=0&&n.isText&&n.sameMarkup(e[t])?e[t]=n.withText(e[t].text+n.text):e.push(n)}function St(n,e,t,r){let i=(e||n).node(t),s=0,o=e?e.index(t):i.childCount;n&&(s=n.index(t),n.depth>t?s++:n.textOffset&&(qe(n.nodeAfter,r),s++));for(let l=s;l<o;l++)qe(i.child(l),r);e&&e.depth==t&&e.textOffset&&qe(e.nodeBefore,r)}function Ue(n,e){return n.type.checkContent(e),n.copy(e)}function ls(n,e,t,r,i){let s=n.depth>i&&qn(n,e,i+1),o=r.depth>i&&qn(t,r,i+1),l=[];return St(null,n,i,l),s&&o&&e.index(i)==t.index(i)?(ss(s,o),qe(Ue(s,ls(n,e,t,r,i+1)),l)):(s&&qe(Ue(s,Zt(n,e,i+1)),l),St(e,t,i,l),o&&qe(Ue(o,Zt(t,r,i+1)),l)),St(r,null,i,l),new b(l)}function Zt(n,e,t){let r=[];if(St(null,n,t,r),n.depth>t){let i=qn(n,e,t+1);qe(Ue(i,Zt(n,e,t+1)),r)}return St(e,null,t,r),new b(r)}function ol(n,e){let t=e.depth-n.openStart,i=e.node(t).copy(n.content);for(let s=t-1;s>=0;s--)i=e.node(s).copy(b.from(i));return{start:i.resolveNoCache(n.openStart+t),end:i.resolveNoCache(i.content.size-n.openEnd-t)}}class Tt{constructor(e,t,r){this.pos=e,this.path=t,this.parentOffset=r,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=e.child(t);return r?e.child(t).cut(r):i}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let r=this.path[t*3],i=t==0?0:this.path[t*3-1]+1;for(let s=0;s<e;s++)i+=r.child(s).nodeSize;return i}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return v.none;if(this.textOffset)return e.child(t).marks;let r=e.maybeChild(t-1),i=e.maybeChild(t);if(!r){let l=r;r=i,i=l}let s=r.marks;for(var o=0;o<s.length;o++)s[o].type.spec.inclusive===!1&&(!i||!s[o].isInSet(i.marks))&&(s=s[o--].removeFromSet(s));return s}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let r=t.marks,i=e.parent.maybeChild(e.index());for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!i||!r[s].isInSet(i.marks))&&(r=r[s--].removeFromSet(r));return r}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);r>=0;r--)if(e.pos<=this.end(r)&&(!t||t(this.node(r))))return new Qt(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let t=1;t<=this.depth;t++)e+=(e?"/":"")+this.node(t).type.name+"_"+this.index(t-1);return e+":"+this.parentOffset}static resolve(e,t){if(!(t>=0&&t<=e.content.size))throw new RangeError("Position "+t+" out of range");let r=[],i=0,s=t;for(let o=e;;){let{index:l,offset:a}=o.content.findIndex(s),c=s-a;if(r.push(o,l,i+a),!c||(o=o.child(l),o.isText))break;s=c-1,i+=a+1}return new Tt(t,r,s)}static resolveCached(e,t){let r=$r.get(e);if(r)for(let s=0;s<r.elts.length;s++){let o=r.elts[s];if(o.pos==t)return o}else $r.set(e,r=new ll);let i=r.elts[r.i]=Tt.resolve(e,t);return r.i=(r.i+1)%al,i}}class ll{constructor(){this.elts=[],this.i=0}}const al=12,$r=new WeakMap;class Qt{constructor(e,t,r){this.$from=e,this.$to=t,this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const cl=Object.create(null);let Ie=class Un{constructor(e,t,r,i=v.none){this.type=e,this.attrs=t,this.marks=i,this.content=r||b.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,r,i=0){this.content.nodesBetween(e,t,r,i,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,t,r,i){return this.content.textBetween(e,t,r,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,r){return this.type==e&&Yt(this.attrs,t||e.defaultAttrs||cl)&&v.sameSet(this.marks,r||v.none)}copy(e=null){return e==this.content?this:new Un(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new Un(this.type,this.attrs,this.content,e)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,r=!1){if(e==t)return k.empty;let i=this.resolve(e),s=this.resolve(t),o=r?0:i.sharedDepth(t),l=i.start(o),c=i.node(o).content.cut(i.pos-l,s.pos-l);return new k(c,i.depth-o,s.depth-o)}replace(e,t,r){return sl(this.resolve(e),this.resolve(t),r)}nodeAt(e){for(let t=this;;){let{index:r,offset:i}=t.content.findIndex(e);if(t=t.maybeChild(r),!t)return null;if(i==e||t.isText)return t;e-=i+1}}childAfter(e){let{index:t,offset:r}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:r}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:r}=this.content.findIndex(e);if(r<e)return{node:this.content.child(t),index:t,offset:r};let i=this.content.child(t-1);return{node:i,index:t-1,offset:r-i.nodeSize}}resolve(e){return Tt.resolveCached(this,e)}resolveNoCache(e){return Tt.resolve(this,e)}rangeHasMark(e,t,r){let i=!1;return t>e&&this.nodesBetween(e,t,s=>(r.isInSet(s.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),as(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw new Error("Called contentMatchAt on a node with invalid content");return t}canReplace(e,t,r=b.empty,i=0,s=r.childCount){let o=this.contentMatchAt(e).matchFragment(r,i,s),l=o&&o.matchFragment(this.content,t);if(!l||!l.validEnd)return!1;for(let a=i;a<s;a++)if(!this.type.allowsMarks(r.child(a).marks))return!1;return!0}canReplaceWith(e,t,r,i){if(i&&!this.type.allowsMarks(i))return!1;let s=this.contentMatchAt(e).matchType(r),o=s&&s.matchFragment(this.content,t);return o?o.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=v.none;for(let t=0;t<this.marks.length;t++){let r=this.marks[t];r.type.checkAttrs(r.attrs),e=r.addToSet(e)}if(!v.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(t=>t.type.name)}`);this.content.forEach(t=>t.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(t=>t.toJSON())),e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Node.fromJSON");let r;if(t.marks){if(!Array.isArray(t.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=t.marks.map(e.markFromJSON)}if(t.type=="text"){if(typeof t.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(t.text,r)}let i=b.fromJSON(e,t.content),s=e.nodeType(t.type).create(t.attrs,i,r);return s.type.checkAttrs(s.attrs),s}};Ie.prototype.text=void 0;class en extends Ie{constructor(e,t,r,i){if(super(e,t,null,i),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):as(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new en(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new en(this.type,this.attrs,e,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function as(n,e){for(let t=n.length-1;t>=0;t--)e=n[t].type.name+"("+e+")";return e}class Xe{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,t){let r=new ul(e,t);if(r.next==null)return Xe.empty;let i=cs(r);r.next&&r.err("Unexpected trailing text");let s=yl(gl(i));return bl(s,r),s}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,r=e.childCount){let i=this;for(let s=t;i&&s<r;s++)i=i.matchType(e.child(s).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let r=0;r<e.next.length;r++)if(this.next[t].type==e.next[r].type)return!0;return!1}fillBefore(e,t=!1,r=0){let i=[this];function s(o,l){let a=o.matchFragment(e,r);if(a&&(!t||a.validEnd))return b.from(l.map(c=>c.createAndFill()));for(let c=0;c<o.next.length;c++){let{type:u,next:d}=o.next[c];if(!(u.isText||u.hasRequiredAttrs())&&i.indexOf(d)==-1){i.push(d);let f=s(d,l.concat(u));if(f)return f}}return null}return s(this,[])}findWrapping(e){for(let r=0;r<this.wrapCache.length;r+=2)if(this.wrapCache[r]==e)return this.wrapCache[r+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),r=[{match:this,type:null,via:null}];for(;r.length;){let i=r.shift(),s=i.match;if(s.matchType(e)){let o=[];for(let l=i;l.type;l=l.via)o.push(l.type);return o.reverse()}for(let o=0;o<s.next.length;o++){let{type:l,next:a}=s.next[o];!l.isLeaf&&!l.hasRequiredAttrs()&&!(l.name in t)&&(!i.type||a.validEnd)&&(r.push({match:l.contentMatch,type:l,via:i}),t[l.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(r){e.push(r);for(let i=0;i<r.next.length;i++)e.indexOf(r.next[i].next)==-1&&t(r.next[i].next)}return t(this),e.map((r,i)=>{let s=i+(r.validEnd?"*":" ")+" ";for(let o=0;o<r.next.length;o++)s+=(o?", ":"")+r.next[o].type.name+"->"+e.indexOf(r.next[o].next);return s}).join(`
1
+ import{ae as Jo,a6 as Ko,d as qo,aw as Qi,af as Uo,g as Jn,aa as _o,bH as Go,bK as Yo,a0 as Xo,f as A,bL as Zo,z as Qo,l as el,o as Cn,e as tl,a as ee,x as nl,c as zr,m as Lr,w as Fr,y as be}from"./index-LhNzkzAh.js";import{V as ue,X as rl,Y as il}from"./VAvatar-DbuoZWmf.js";import{c as Vr}from"./forwardRefs-CpzzjgpX.js";function H(n){this.content=n}H.prototype={constructor:H,find:function(n){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===n)return e;return-1},get:function(n){var e=this.find(n);return e==-1?void 0:this.content[e+1]},update:function(n,e,t){var r=t&&t!=n?this.remove(t):this,i=r.find(n),s=r.content.slice();return i==-1?s.push(t||n,e):(s[i+1]=e,t&&(s[i]=t)),new H(s)},remove:function(n){var e=this.find(n);if(e==-1)return this;var t=this.content.slice();return t.splice(e,2),new H(t)},addToStart:function(n,e){return new H([n,e].concat(this.remove(n).content))},addToEnd:function(n,e){var t=this.remove(n).content.slice();return t.push(n,e),new H(t)},addBefore:function(n,e,t){var r=this.remove(e),i=r.content.slice(),s=r.find(n);return i.splice(s==-1?i.length:s,0,e,t),new H(i)},forEach:function(n){for(var e=0;e<this.content.length;e+=2)n(this.content[e],this.content[e+1])},prepend:function(n){return n=H.from(n),n.size?new H(n.content.concat(this.subtract(n).content)):this},append:function(n){return n=H.from(n),n.size?new H(this.subtract(n).content.concat(n.content)):this},subtract:function(n){var e=this;n=H.from(n);for(var t=0;t<n.content.length;t+=2)e=e.remove(n.content[t]);return e},toObject:function(){var n={};return this.forEach(function(e,t){n[e]=t}),n},get size(){return this.content.length>>1}};H.from=function(n){if(n instanceof H)return n;var e=[];if(n)for(var t in n)e.push(t,n[t]);return new H(e)};function es(n,e,t){for(let r=0;;r++){if(r==n.childCount||r==e.childCount)return n.childCount==e.childCount?null:t;let i=n.child(r),s=e.child(r);if(i==s){t+=i.nodeSize;continue}if(!i.sameMarkup(s))return t;if(i.isText&&i.text!=s.text){for(let o=0;i.text[o]==s.text[o];o++)t++;return t}if(i.content.size||s.content.size){let o=es(i.content,s.content,t+1);if(o!=null)return o}t+=i.nodeSize}}function ts(n,e,t,r){for(let i=n.childCount,s=e.childCount;;){if(i==0||s==0)return i==s?null:{a:t,b:r};let o=n.child(--i),l=e.child(--s),a=o.nodeSize;if(o==l){t-=a,r-=a;continue}if(!o.sameMarkup(l))return{a:t,b:r};if(o.isText&&o.text!=l.text){let c=0,u=Math.min(o.text.length,l.text.length);for(;c<u&&o.text[o.text.length-c-1]==l.text[l.text.length-c-1];)c++,t--,r--;return{a:t,b:r}}if(o.content.size||l.content.size){let c=ts(o.content,l.content,t-1,r-1);if(c)return c}t-=a,r-=a}}class b{constructor(e,t){if(this.content=e,this.size=t||0,t==null)for(let r=0;r<e.length;r++)this.size+=e[r].nodeSize}nodesBetween(e,t,r,i=0,s){for(let o=0,l=0;l<t;o++){let a=this.content[o],c=l+a.nodeSize;if(c>e&&r(a,i+l,s||null,o)!==!1&&a.content.size){let u=l+1;a.nodesBetween(Math.max(0,e-u),Math.min(a.content.size,t-u),r,i+u)}l=c}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,t,r,i){let s="",o=!0;return this.nodesBetween(e,t,(l,a)=>{let c=l.isText?l.text.slice(Math.max(e,a)-a,t-a):l.isLeaf?i?typeof i=="function"?i(l):i:l.type.spec.leafText?l.type.spec.leafText(l):"":"";l.isBlock&&(l.isLeaf&&c||l.isTextblock)&&r&&(o?o=!1:s+=r),s+=c},0),s}append(e){if(!e.size)return this;if(!this.size)return e;let t=this.lastChild,r=e.firstChild,i=this.content.slice(),s=0;for(t.isText&&t.sameMarkup(r)&&(i[i.length-1]=t.withText(t.text+r.text),s=1);s<e.content.length;s++)i.push(e.content[s]);return new b(i,this.size+e.size)}cut(e,t=this.size){if(e==0&&t==this.size)return this;let r=[],i=0;if(t>e)for(let s=0,o=0;o<t;s++){let l=this.content[s],a=o+l.nodeSize;a>e&&((o<e||a>t)&&(l.isText?l=l.cut(Math.max(0,e-o),Math.min(l.text.length,t-o)):l=l.cut(Math.max(0,e-o-1),Math.min(l.content.size,t-o-1))),r.push(l),i+=l.nodeSize),o=a}return new b(r,i)}cutByIndex(e,t){return e==t?b.empty:e==0&&t==this.content.length?this:new b(this.content.slice(e,t))}replaceChild(e,t){let r=this.content[e];if(r==t)return this;let i=this.content.slice(),s=this.size+t.nodeSize-r.nodeSize;return i[e]=t,new b(i,s)}addToStart(e){return new b([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new b(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let t=0;t<this.content.length;t++)if(!this.content[t].eq(e.content[t]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let t=this.content[e];if(!t)throw new RangeError("Index "+e+" out of range for "+this);return t}maybeChild(e){return this.content[e]||null}forEach(e){for(let t=0,r=0;t<this.content.length;t++){let i=this.content[t];e(i,r,t),r+=i.nodeSize}}findDiffStart(e,t=0){return es(this,e,t)}findDiffEnd(e,t=this.size,r=e.size){return ts(this,e,t,r)}findIndex(e,t=-1){if(e==0)return Ft(0,e);if(e==this.size)return Ft(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let r=0,i=0;;r++){let s=this.child(r),o=i+s.nodeSize;if(o>=e)return o==e||t>0?Ft(r+1,o):Ft(r,i);i=o}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,t){if(!t)return b.empty;if(!Array.isArray(t))throw new RangeError("Invalid input for Fragment.fromJSON");return new b(t.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return b.empty;let t,r=0;for(let i=0;i<e.length;i++){let s=e[i];r+=s.nodeSize,i&&s.isText&&e[i-1].sameMarkup(s)?(t||(t=e.slice(0,i)),t[t.length-1]=s.withText(t[t.length-1].text+s.text)):t&&t.push(s)}return new b(t||e,r)}static from(e){if(!e)return b.empty;if(e instanceof b)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new b([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}b.empty=new b([],0);const wn={index:0,offset:0};function Ft(n,e){return wn.index=n,wn.offset=e,wn}function Yt(n,e){if(n===e)return!0;if(!(n&&typeof n=="object")||!(e&&typeof e=="object"))return!1;let t=Array.isArray(n);if(Array.isArray(e)!=t)return!1;if(t){if(n.length!=e.length)return!1;for(let r=0;r<n.length;r++)if(!Yt(n[r],e[r]))return!1}else{for(let r in n)if(!(r in e)||!Yt(n[r],e[r]))return!1;for(let r in e)if(!(r in n))return!1}return!0}let v=class Kn{constructor(e,t){this.type=e,this.attrs=t}addToSet(e){let t,r=!1;for(let i=0;i<e.length;i++){let s=e[i];if(this.eq(s))return e;if(this.type.excludes(s.type))t||(t=e.slice(0,i));else{if(s.type.excludes(this.type))return e;!r&&s.type.rank>this.type.rank&&(t||(t=e.slice(0,i)),t.push(this),r=!0),t&&t.push(s)}}return t||(t=e.slice()),r||t.push(this),t}removeFromSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return e.slice(0,t).concat(e.slice(t+1));return e}isInSet(e){for(let t=0;t<e.length;t++)if(this.eq(e[t]))return!0;return!1}eq(e){return this==e||this.type==e.type&&Yt(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Mark.fromJSON");let r=e.marks[t.type];if(!r)throw new RangeError(`There is no mark type ${t.type} in this schema`);let i=r.create(t.attrs);return r.checkAttrs(i.attrs),i}static sameSet(e,t){if(e==t)return!0;if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!e[r].eq(t[r]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return Kn.none;if(e instanceof Kn)return[e];let t=e.slice();return t.sort((r,i)=>r.type.rank-i.type.rank),t}};v.none=[];class Xt extends Error{}class k{constructor(e,t,r){this.content=e,this.openStart=t,this.openEnd=r}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,t){let r=rs(this.content,e+this.openStart,t);return r&&new k(r,this.openStart,this.openEnd)}removeBetween(e,t){return new k(ns(this.content,e+this.openStart,t+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,t){if(!t)return k.empty;let r=t.openStart||0,i=t.openEnd||0;if(typeof r!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new k(b.fromJSON(e,t.content),r,i)}static maxOpen(e,t=!0){let r=0,i=0;for(let s=e.firstChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.firstChild)r++;for(let s=e.lastChild;s&&!s.isLeaf&&(t||!s.type.spec.isolating);s=s.lastChild)i++;return new k(e,r,i)}}k.empty=new k(b.empty,0,0);function ns(n,e,t){let{index:r,offset:i}=n.findIndex(e),s=n.maybeChild(r),{index:o,offset:l}=n.findIndex(t);if(i==e||s.isText){if(l!=t&&!n.child(o).isText)throw new RangeError("Removing non-flat range");return n.cut(0,e).append(n.cut(t))}if(r!=o)throw new RangeError("Removing non-flat range");return n.replaceChild(r,s.copy(ns(s.content,e-i-1,t-i-1)))}function rs(n,e,t,r){let{index:i,offset:s}=n.findIndex(e),o=n.maybeChild(i);if(s==e||o.isText)return n.cut(0,e).append(t).append(n.cut(e));let l=rs(o.content,e-s-1,t);return l&&n.replaceChild(i,o.copy(l))}function sl(n,e,t){if(t.openStart>n.depth)throw new Xt("Inserted content deeper than insertion position");if(n.depth-t.openStart!=e.depth-t.openEnd)throw new Xt("Inconsistent open depths");return is(n,e,t,0)}function is(n,e,t,r){let i=n.index(r),s=n.node(r);if(i==e.index(r)&&r<n.depth-t.openStart){let o=is(n,e,t,r+1);return s.copy(s.content.replaceChild(i,o))}else if(t.content.size)if(!t.openStart&&!t.openEnd&&n.depth==r&&e.depth==r){let o=n.parent,l=o.content;return Ue(o,l.cut(0,n.parentOffset).append(t.content).append(l.cut(e.parentOffset)))}else{let{start:o,end:l}=ol(t,n);return Ue(s,ls(n,o,l,e,r))}else return Ue(s,Zt(n,e,r))}function ss(n,e){if(!e.type.compatibleContent(n.type))throw new Xt("Cannot join "+e.type.name+" onto "+n.type.name)}function qn(n,e,t){let r=n.node(t);return ss(r,e.node(t)),r}function qe(n,e){let t=e.length-1;t>=0&&n.isText&&n.sameMarkup(e[t])?e[t]=n.withText(e[t].text+n.text):e.push(n)}function St(n,e,t,r){let i=(e||n).node(t),s=0,o=e?e.index(t):i.childCount;n&&(s=n.index(t),n.depth>t?s++:n.textOffset&&(qe(n.nodeAfter,r),s++));for(let l=s;l<o;l++)qe(i.child(l),r);e&&e.depth==t&&e.textOffset&&qe(e.nodeBefore,r)}function Ue(n,e){return n.type.checkContent(e),n.copy(e)}function ls(n,e,t,r,i){let s=n.depth>i&&qn(n,e,i+1),o=r.depth>i&&qn(t,r,i+1),l=[];return St(null,n,i,l),s&&o&&e.index(i)==t.index(i)?(ss(s,o),qe(Ue(s,ls(n,e,t,r,i+1)),l)):(s&&qe(Ue(s,Zt(n,e,i+1)),l),St(e,t,i,l),o&&qe(Ue(o,Zt(t,r,i+1)),l)),St(r,null,i,l),new b(l)}function Zt(n,e,t){let r=[];if(St(null,n,t,r),n.depth>t){let i=qn(n,e,t+1);qe(Ue(i,Zt(n,e,t+1)),r)}return St(e,null,t,r),new b(r)}function ol(n,e){let t=e.depth-n.openStart,i=e.node(t).copy(n.content);for(let s=t-1;s>=0;s--)i=e.node(s).copy(b.from(i));return{start:i.resolveNoCache(n.openStart+t),end:i.resolveNoCache(i.content.size-n.openEnd-t)}}class Tt{constructor(e,t,r){this.pos=e,this.path=t,this.parentOffset=r,this.depth=t.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,t=this.index(this.depth);if(t==e.childCount)return null;let r=this.pos-this.path[this.path.length-1],i=e.child(t);return r?e.child(t).cut(r):i}get nodeBefore(){let e=this.index(this.depth),t=this.pos-this.path[this.path.length-1];return t?this.parent.child(e).cut(0,t):e==0?null:this.parent.child(e-1)}posAtIndex(e,t){t=this.resolveDepth(t);let r=this.path[t*3],i=t==0?0:this.path[t*3-1]+1;for(let s=0;s<e;s++)i+=r.child(s).nodeSize;return i}marks(){let e=this.parent,t=this.index();if(e.content.size==0)return v.none;if(this.textOffset)return e.child(t).marks;let r=e.maybeChild(t-1),i=e.maybeChild(t);if(!r){let l=r;r=i,i=l}let s=r.marks;for(var o=0;o<s.length;o++)s[o].type.spec.inclusive===!1&&(!i||!s[o].isInSet(i.marks))&&(s=s[o--].removeFromSet(s));return s}marksAcross(e){let t=this.parent.maybeChild(this.index());if(!t||!t.isInline)return null;let r=t.marks,i=e.parent.maybeChild(e.index());for(var s=0;s<r.length;s++)r[s].type.spec.inclusive===!1&&(!i||!r[s].isInSet(i.marks))&&(r=r[s--].removeFromSet(r));return r}sharedDepth(e){for(let t=this.depth;t>0;t--)if(this.start(t)<=e&&this.end(t)>=e)return t;return 0}blockRange(e=this,t){if(e.pos<this.pos)return e.blockRange(this);for(let r=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);r>=0;r--)if(e.pos<=this.end(r)&&(!t||t(this.node(r))))return new Qt(this,e,r);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let t=1;t<=this.depth;t++)e+=(e?"/":"")+this.node(t).type.name+"_"+this.index(t-1);return e+":"+this.parentOffset}static resolve(e,t){if(!(t>=0&&t<=e.content.size))throw new RangeError("Position "+t+" out of range");let r=[],i=0,s=t;for(let o=e;;){let{index:l,offset:a}=o.content.findIndex(s),c=s-a;if(r.push(o,l,i+a),!c||(o=o.child(l),o.isText))break;s=c-1,i+=a+1}return new Tt(t,r,s)}static resolveCached(e,t){let r=$r.get(e);if(r)for(let s=0;s<r.elts.length;s++){let o=r.elts[s];if(o.pos==t)return o}else $r.set(e,r=new ll);let i=r.elts[r.i]=Tt.resolve(e,t);return r.i=(r.i+1)%al,i}}class ll{constructor(){this.elts=[],this.i=0}}const al=12,$r=new WeakMap;class Qt{constructor(e,t,r){this.$from=e,this.$to=t,this.depth=r}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const cl=Object.create(null);let Ie=class Un{constructor(e,t,r,i=v.none){this.type=e,this.attrs=t,this.marks=i,this.content=r||b.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,t,r,i=0){this.content.nodesBetween(e,t,r,i,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,t,r,i){return this.content.textBetween(e,t,r,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,t,r){return this.type==e&&Yt(this.attrs,t||e.defaultAttrs||cl)&&v.sameSet(this.marks,r||v.none)}copy(e=null){return e==this.content?this:new Un(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new Un(this.type,this.attrs,this.content,e)}cut(e,t=this.content.size){return e==0&&t==this.content.size?this:this.copy(this.content.cut(e,t))}slice(e,t=this.content.size,r=!1){if(e==t)return k.empty;let i=this.resolve(e),s=this.resolve(t),o=r?0:i.sharedDepth(t),l=i.start(o),c=i.node(o).content.cut(i.pos-l,s.pos-l);return new k(c,i.depth-o,s.depth-o)}replace(e,t,r){return sl(this.resolve(e),this.resolve(t),r)}nodeAt(e){for(let t=this;;){let{index:r,offset:i}=t.content.findIndex(e);if(t=t.maybeChild(r),!t)return null;if(i==e||t.isText)return t;e-=i+1}}childAfter(e){let{index:t,offset:r}=this.content.findIndex(e);return{node:this.content.maybeChild(t),index:t,offset:r}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:t,offset:r}=this.content.findIndex(e);if(r<e)return{node:this.content.child(t),index:t,offset:r};let i=this.content.child(t-1);return{node:i,index:t-1,offset:r-i.nodeSize}}resolve(e){return Tt.resolveCached(this,e)}resolveNoCache(e){return Tt.resolve(this,e)}rangeHasMark(e,t,r){let i=!1;return t>e&&this.nodesBetween(e,t,s=>(r.isInSet(s.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),as(this.marks,e)}contentMatchAt(e){let t=this.type.contentMatch.matchFragment(this.content,0,e);if(!t)throw new Error("Called contentMatchAt on a node with invalid content");return t}canReplace(e,t,r=b.empty,i=0,s=r.childCount){let o=this.contentMatchAt(e).matchFragment(r,i,s),l=o&&o.matchFragment(this.content,t);if(!l||!l.validEnd)return!1;for(let a=i;a<s;a++)if(!this.type.allowsMarks(r.child(a).marks))return!1;return!0}canReplaceWith(e,t,r,i){if(i&&!this.type.allowsMarks(i))return!1;let s=this.contentMatchAt(e).matchType(r),o=s&&s.matchFragment(this.content,t);return o?o.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=v.none;for(let t=0;t<this.marks.length;t++){let r=this.marks[t];r.type.checkAttrs(r.attrs),e=r.addToSet(e)}if(!v.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(t=>t.type.name)}`);this.content.forEach(t=>t.check())}toJSON(){let e={type:this.type.name};for(let t in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(t=>t.toJSON())),e}static fromJSON(e,t){if(!t)throw new RangeError("Invalid input for Node.fromJSON");let r;if(t.marks){if(!Array.isArray(t.marks))throw new RangeError("Invalid mark data for Node.fromJSON");r=t.marks.map(e.markFromJSON)}if(t.type=="text"){if(typeof t.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(t.text,r)}let i=b.fromJSON(e,t.content),s=e.nodeType(t.type).create(t.attrs,i,r);return s.type.checkAttrs(s.attrs),s}};Ie.prototype.text=void 0;class en extends Ie{constructor(e,t,r,i){if(super(e,t,null,i),!r)throw new RangeError("Empty text nodes are not allowed");this.text=r}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):as(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,t){return this.text.slice(e,t)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new en(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new en(this.type,this.attrs,e,this.marks)}cut(e=0,t=this.text.length){return e==0&&t==this.text.length?this:this.withText(this.text.slice(e,t))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}}function as(n,e){for(let t=n.length-1;t>=0;t--)e=n[t].type.name+"("+e+")";return e}class Xe{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,t){let r=new ul(e,t);if(r.next==null)return Xe.empty;let i=cs(r);r.next&&r.err("Unexpected trailing text");let s=yl(gl(i));return bl(s,r),s}matchType(e){for(let t=0;t<this.next.length;t++)if(this.next[t].type==e)return this.next[t].next;return null}matchFragment(e,t=0,r=e.childCount){let i=this;for(let s=t;i&&s<r;s++)i=i.matchType(e.child(s).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:t}=this.next[e];if(!(t.isText||t.hasRequiredAttrs()))return t}return null}compatible(e){for(let t=0;t<this.next.length;t++)for(let r=0;r<e.next.length;r++)if(this.next[t].type==e.next[r].type)return!0;return!1}fillBefore(e,t=!1,r=0){let i=[this];function s(o,l){let a=o.matchFragment(e,r);if(a&&(!t||a.validEnd))return b.from(l.map(c=>c.createAndFill()));for(let c=0;c<o.next.length;c++){let{type:u,next:d}=o.next[c];if(!(u.isText||u.hasRequiredAttrs())&&i.indexOf(d)==-1){i.push(d);let f=s(d,l.concat(u));if(f)return f}}return null}return s(this,[])}findWrapping(e){for(let r=0;r<this.wrapCache.length;r+=2)if(this.wrapCache[r]==e)return this.wrapCache[r+1];let t=this.computeWrapping(e);return this.wrapCache.push(e,t),t}computeWrapping(e){let t=Object.create(null),r=[{match:this,type:null,via:null}];for(;r.length;){let i=r.shift(),s=i.match;if(s.matchType(e)){let o=[];for(let l=i;l.type;l=l.via)o.push(l.type);return o.reverse()}for(let o=0;o<s.next.length;o++){let{type:l,next:a}=s.next[o];!l.isLeaf&&!l.hasRequiredAttrs()&&!(l.name in t)&&(!i.type||a.validEnd)&&(r.push({match:l.contentMatch,type:l,via:i}),t[l.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function t(r){e.push(r);for(let i=0;i<r.next.length;i++)e.indexOf(r.next[i].next)==-1&&t(r.next[i].next)}return t(this),e.map((r,i)=>{let s=i+(r.validEnd?"*":" ")+" ";for(let o=0;o<r.next.length;o++)s+=(o?", ":"")+r.next[o].type.name+"->"+e.indexOf(r.next[o].next);return s}).join(`
2
2
  `)}}Xe.empty=new Xe(!0);class ul{constructor(e,t){this.string=e,this.nodeTypes=t,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function cs(n){let e=[];do e.push(dl(n));while(n.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function dl(n){let e=[];do e.push(fl(n));while(n.next&&n.next!=")"&&n.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function fl(n){let e=ml(n);for(;;)if(n.eat("+"))e={type:"plus",expr:e};else if(n.eat("*"))e={type:"star",expr:e};else if(n.eat("?"))e={type:"opt",expr:e};else if(n.eat("{"))e=hl(n,e);else break;return e}function Hr(n){/\D/.test(n.next)&&n.err("Expected number, got '"+n.next+"'");let e=Number(n.next);return n.pos++,e}function hl(n,e){let t=Hr(n),r=t;return n.eat(",")&&(n.next!="}"?r=Hr(n):r=-1),n.eat("}")||n.err("Unclosed braced range"),{type:"range",min:t,max:r,expr:e}}function pl(n,e){let t=n.nodeTypes,r=t[e];if(r)return[r];let i=[];for(let s in t){let o=t[s];o.isInGroup(e)&&i.push(o)}return i.length==0&&n.err("No node type or group '"+e+"' found"),i}function ml(n){if(n.eat("(")){let e=cs(n);return n.eat(")")||n.err("Missing closing paren"),e}else if(/\W/.test(n.next))n.err("Unexpected token '"+n.next+"'");else{let e=pl(n,n.next).map(t=>(n.inline==null?n.inline=t.isInline:n.inline!=t.isInline&&n.err("Mixing inline and block content"),{type:"name",value:t}));return n.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function gl(n){let e=[[]];return i(s(n,0),t()),e;function t(){return e.push([])-1}function r(o,l,a){let c={term:a,to:l};return e[o].push(c),c}function i(o,l){o.forEach(a=>a.to=l)}function s(o,l){if(o.type=="choice")return o.exprs.reduce((a,c)=>a.concat(s(c,l)),[]);if(o.type=="seq")for(let a=0;;a++){let c=s(o.exprs[a],l);if(a==o.exprs.length-1)return c;i(c,l=t())}else if(o.type=="star"){let a=t();return r(l,a),i(s(o.expr,a),a),[r(a)]}else if(o.type=="plus"){let a=t();return i(s(o.expr,l),a),i(s(o.expr,a),a),[r(a)]}else{if(o.type=="opt")return[r(l)].concat(s(o.expr,l));if(o.type=="range"){let a=l;for(let c=0;c<o.min;c++){let u=t();i(s(o.expr,a),u),a=u}if(o.max==-1)i(s(o.expr,a),a);else for(let c=o.min;c<o.max;c++){let u=t();r(a,u),i(s(o.expr,a),u),a=u}return[r(a)]}else{if(o.type=="name")return[r(l,void 0,o.value)];throw new Error("Unknown expr type")}}}}function us(n,e){return e-n}function Wr(n,e){let t=[];return r(e),t.sort(us);function r(i){let s=n[i];if(s.length==1&&!s[0].term)return r(s[0].to);t.push(i);for(let o=0;o<s.length;o++){let{term:l,to:a}=s[o];!l&&t.indexOf(a)==-1&&r(a)}}}function yl(n){let e=Object.create(null);return t(Wr(n,0));function t(r){let i=[];r.forEach(o=>{n[o].forEach(({term:l,to:a})=>{if(!l)return;let c;for(let u=0;u<i.length;u++)i[u][0]==l&&(c=i[u][1]);Wr(n,a).forEach(u=>{c||i.push([l,c=[]]),c.indexOf(u)==-1&&c.push(u)})})});let s=e[r.join(",")]=new Xe(r.indexOf(n.length-1)>-1);for(let o=0;o<i.length;o++){let l=i[o][1].sort(us);s.next.push({type:i[o][0],next:e[l.join(",")]||t(l)})}return s}}function bl(n,e){for(let t=0,r=[n];t<r.length;t++){let i=r[t],s=!i.validEnd,o=[];for(let l=0;l<i.next.length;l++){let{type:a,next:c}=i.next[l];o.push(a.name),s&&!(a.isText||a.hasRequiredAttrs())&&(s=!1),r.indexOf(c)==-1&&r.push(c)}s&&e.err("Only non-generatable nodes ("+o.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function ds(n){let e=Object.create(null);for(let t in n){let r=n[t];if(!r.hasDefault)return null;e[t]=r.default}return e}function fs(n,e){let t=Object.create(null);for(let r in n){let i=e&&e[r];if(i===void 0){let s=n[r];if(s.hasDefault)i=s.default;else throw new RangeError("No value supplied for attribute "+r)}t[r]=i}return t}function hs(n,e,t,r){for(let i in e)if(!(i in n))throw new RangeError(`Unsupported attribute ${i} for ${t} of type ${i}`);for(let i in n){let s=n[i];s.validate&&s.validate(e[i])}}function ps(n,e){let t=Object.create(null);if(e)for(let r in e)t[r]=new xl(n,r,e[r]);return t}let jr=class ms{constructor(e,t,r){this.name=e,this.schema=t,this.spec=r,this.markSet=null,this.groups=r.group?r.group.split(" "):[],this.attrs=ps(e,r.attrs),this.defaultAttrs=ds(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(r.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==Xe.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:fs(this.attrs,e)}create(e=null,t,r){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new Ie(this,this.computeAttrs(e),b.from(t),v.setFrom(r))}createChecked(e=null,t,r){return t=b.from(t),this.checkContent(t),new Ie(this,this.computeAttrs(e),t,v.setFrom(r))}createAndFill(e=null,t,r){if(e=this.computeAttrs(e),t=b.from(t),t.size){let o=this.contentMatch.fillBefore(t);if(!o)return null;t=o.append(t)}let i=this.contentMatch.matchFragment(t),s=i&&i.fillBefore(b.empty,!0);return s?new Ie(this,e,t.append(s),v.setFrom(r)):null}validContent(e){let t=this.contentMatch.matchFragment(e);if(!t||!t.validEnd)return!1;for(let r=0;r<e.childCount;r++)if(!this.allowsMarks(e.child(r).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){hs(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let t=0;t<e.length;t++)if(!this.allowsMarkType(e[t].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let t;for(let r=0;r<e.length;r++)this.allowsMarkType(e[r].type)?t&&t.push(e[r]):t||(t=e.slice(0,r));return t?t.length?t:v.none:e}static compile(e,t){let r=Object.create(null);e.forEach((s,o)=>r[s]=new ms(s,t,o));let i=t.spec.topNode||"doc";if(!r[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!r.text)throw new RangeError("Every schema needs a 'text' type");for(let s in r.text.attrs)throw new RangeError("The text node type should not have attributes");return r}};function kl(n,e,t){let r=t.split("|");return i=>{let s=i===null?"null":typeof i;if(r.indexOf(s)<0)throw new RangeError(`Expected value of type ${r} for attribute ${e} on type ${n}, got ${s}`)}}class xl{constructor(e,t,r){this.hasDefault=Object.prototype.hasOwnProperty.call(r,"default"),this.default=r.default,this.validate=typeof r.validate=="string"?kl(e,t,r.validate):r.validate}get isRequired(){return!this.hasDefault}}class un{constructor(e,t,r,i){this.name=e,this.rank=t,this.schema=r,this.spec=i,this.attrs=ps(e,i.attrs),this.excluded=null;let s=ds(this.attrs);this.instance=s?new v(this,s):null}create(e=null){return!e&&this.instance?this.instance:new v(this,fs(this.attrs,e))}static compile(e,t){let r=Object.create(null),i=0;return e.forEach((s,o)=>r[s]=new un(s,i++,t,o)),r}removeFromSet(e){for(var t=0;t<e.length;t++)e[t].type==this&&(e=e.slice(0,t).concat(e.slice(t+1)),t--);return e}isInSet(e){for(let t=0;t<e.length;t++)if(e[t].type==this)return e[t]}checkAttrs(e){hs(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class gs{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let t=this.spec={};for(let i in e)t[i]=e[i];t.nodes=H.from(e.nodes),t.marks=H.from(e.marks||{}),this.nodes=jr.compile(this.spec.nodes,this),this.marks=un.compile(this.spec.marks,this);let r=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let s=this.nodes[i],o=s.spec.content||"",l=s.spec.marks;if(s.contentMatch=r[o]||(r[o]=Xe.parse(o,this.nodes)),s.inlineContent=s.contentMatch.inlineContent,s.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!s.isInline||!s.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=s}s.markSet=l=="_"?null:l?Jr(this,l.split(" ")):l==""||!s.inlineContent?[]:null}for(let i in this.marks){let s=this.marks[i],o=s.spec.excludes;s.excluded=o==null?[s]:o==""?[]:Jr(this,o.split(" "))}this.nodeFromJSON=this.nodeFromJSON.bind(this),this.markFromJSON=this.markFromJSON.bind(this),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,t=null,r,i){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof jr){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(t,r,i)}text(e,t){let r=this.nodes.text;return new en(r,r.defaultAttrs,e,v.setFrom(t))}mark(e,t){return typeof e=="string"&&(e=this.marks[e]),e.create(t)}nodeFromJSON(e){return Ie.fromJSON(this,e)}markFromJSON(e){return v.fromJSON(this,e)}nodeType(e){let t=this.nodes[e];if(!t)throw new RangeError("Unknown node type: "+e);return t}}function Jr(n,e){let t=[];for(let r=0;r<e.length;r++){let i=e[r],s=n.marks[i],o=s;if(s)t.push(s);else for(let l in n.marks){let a=n.marks[l];(i=="_"||a.spec.group&&a.spec.group.split(" ").indexOf(i)>-1)&&t.push(o=a)}if(!o)throw new SyntaxError("Unknown mark type: '"+e[r]+"'")}return t}function Sl(n){return n.tag!=null}function Ml(n){return n.style!=null}class Re{constructor(e,t){this.schema=e,this.rules=t,this.tags=[],this.styles=[];let r=this.matchedStyles=[];t.forEach(i=>{if(Sl(i))this.tags.push(i);else if(Ml(i)){let s=/[^=]*/.exec(i.style)[0];r.indexOf(s)<0&&r.push(s),this.styles.push(i)}}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let s=e.nodes[i.node];return s.contentMatch.matchType(s)})}parse(e,t={}){let r=new qr(this,t,!1);return r.addAll(e,v.none,t.from,t.to),r.finish()}parseSlice(e,t={}){let r=new qr(this,t,!0);return r.addAll(e,v.none,t.from,t.to),k.maxOpen(r.finish())}matchTag(e,t,r){for(let i=r?this.tags.indexOf(r)+1:0;i<this.tags.length;i++){let s=this.tags[i];if(Tl(e,s.tag)&&(s.namespace===void 0||e.namespaceURI==s.namespace)&&(!s.context||t.matchesContext(s.context))){if(s.getAttrs){let o=s.getAttrs(e);if(o===!1)continue;s.attrs=o||void 0}return s}}}matchStyle(e,t,r,i){for(let s=i?this.styles.indexOf(i)+1:0;s<this.styles.length;s++){let o=this.styles[s],l=o.style;if(!(l.indexOf(e)!=0||o.context&&!r.matchesContext(o.context)||l.length>e.length&&(l.charCodeAt(e.length)!=61||l.slice(e.length+1)!=t))){if(o.getAttrs){let a=o.getAttrs(t);if(a===!1)continue;o.attrs=a||void 0}return o}}}static schemaRules(e){let t=[];function r(i){let s=i.priority==null?50:i.priority,o=0;for(;o<t.length;o++){let l=t[o];if((l.priority==null?50:l.priority)<s)break}t.splice(o,0,i)}for(let i in e.marks){let s=e.marks[i].spec.parseDOM;s&&s.forEach(o=>{r(o=Ur(o)),o.mark||o.ignore||o.clearMark||(o.mark=i)})}for(let i in e.nodes){let s=e.nodes[i].spec.parseDOM;s&&s.forEach(o=>{r(o=Ur(o)),o.node||o.ignore||o.mark||(o.node=i)})}return t}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new Re(e,Re.schemaRules(e)))}}const ys={address:!0,article:!0,aside:!0,blockquote:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},Cl={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},bs={ol:!0,ul:!0},Ot=1,_n=2,Mt=4;function Kr(n,e,t){return e!=null?(e?Ot:0)|(e==="full"?_n:0):n&&n.whitespace=="pre"?Ot|_n:t&~Mt}class Vt{constructor(e,t,r,i,s,o){this.type=e,this.attrs=t,this.marks=r,this.solid=i,this.options=o,this.content=[],this.activeMarks=v.none,this.match=s||(o&Mt?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let t=this.type.contentMatch.fillBefore(b.from(e));if(t)this.match=this.type.contentMatch.matchFragment(t);else{let r=this.type.contentMatch,i;return(i=r.findWrapping(e.type))?(this.match=r,i):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&Ot)){let r=this.content[this.content.length-1],i;if(r&&r.isText&&(i=/[ \t\r\n\u000c]+$/.exec(r.text))){let s=r;r.text.length==i[0].length?this.content.pop():this.content[this.content.length-1]=s.withText(s.text.slice(0,s.text.length-i[0].length))}}let t=b.from(this.content);return!e&&this.match&&(t=t.append(this.match.fillBefore(b.empty,!0))),this.type?this.type.create(this.attrs,t,this.marks):t}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!ys.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class qr{constructor(e,t,r){this.parser=e,this.options=t,this.isOpen=r,this.open=0,this.localPreserveWS=!1;let i=t.topNode,s,o=Kr(null,t.preserveWhitespace,0)|(r?Mt:0);i?s=new Vt(i.type,i.attrs,v.none,!0,t.topMatch||i.type.contentMatch,o):r?s=new Vt(null,null,v.none,!0,null,o):s=new Vt(e.schema.topNodeType,null,v.none,!0,null,o),this.nodes=[s],this.find=t.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,t){e.nodeType==3?this.addTextNode(e,t):e.nodeType==1&&this.addElement(e,t)}addTextNode(e,t){let r=e.nodeValue,i=this.top,s=i.options&_n?"full":this.localPreserveWS||(i.options&Ot)>0;if(s==="full"||i.inlineContext(e)||/[^ \t\r\n\u000c]/.test(r)){if(s)s!=="full"?r=r.replace(/\r?\n|\r/g," "):r=r.replace(/\r\n?/g,`
3
3
  `);else if(r=r.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(r)&&this.open==this.nodes.length-1){let o=i.content[i.content.length-1],l=e.previousSibling;(!o||l&&l.nodeName=="BR"||o.isText&&/[ \t\r\n\u000c]$/.test(o.text))&&(r=r.slice(1))}r&&this.insertNode(this.parser.schema.text(r),t,!/\S/.test(r)),this.findInText(e)}else this.findInside(e)}addElement(e,t,r){let i=this.localPreserveWS,s=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let o=e.nodeName.toLowerCase(),l;bs.hasOwnProperty(o)&&this.parser.normalizeLists&&wl(e);let a=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(l=this.parser.matchTag(e,this,r));e:if(a?a.ignore:Cl.hasOwnProperty(o))this.findInside(e),this.ignoreFallback(e,t);else if(!a||a.skip||a.closeParent){a&&a.closeParent?this.open=Math.max(0,this.open-1):a&&a.skip.nodeType&&(e=a.skip);let c,u=this.needsBlock;if(ys.hasOwnProperty(o))s.content.length&&s.content[0].isInline&&this.open&&(this.open--,s=this.top),c=!0,s.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,t);break e}let d=a&&a.skip?t:this.readStyles(e,t);d&&this.addAll(e,d),c&&this.sync(s),this.needsBlock=u}else{let c=this.readStyles(e,t);c&&this.addElementByRule(e,a,c,a.consuming===!1?l:void 0)}this.localPreserveWS=i}leafFallback(e,t){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
4
4
  `),t)}ignoreFallback(e,t){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),t,!0)}readStyles(e,t){let r=e.style;if(r&&r.length)for(let i=0;i<this.parser.matchedStyles.length;i++){let s=this.parser.matchedStyles[i],o=r.getPropertyValue(s);if(o)for(let l=void 0;;){let a=this.parser.matchStyle(s,o,this,l);if(!a)break;if(a.ignore)return null;if(a.clearMark?t=t.filter(c=>!a.clearMark(c)):t=t.concat(this.parser.schema.marks[a.mark].create(a.attrs)),a.consuming===!1)l=a;else break}}return t}addElementByRule(e,t,r,i){let s,o;if(t.node)if(o=this.parser.schema.nodes[t.node],o.isLeaf)this.insertNode(o.create(t.attrs),r,e.nodeName=="BR")||this.leafFallback(e,r);else{let a=this.enter(o,t.attrs||null,r,t.preserveWhitespace);a&&(s=!0,r=a)}else{let a=this.parser.schema.marks[t.mark];r=r.concat(a.create(t.attrs))}let l=this.top;if(o&&o.isLeaf)this.findInside(e);else if(i)this.addElement(e,r,i);else if(t.getContent)this.findInside(e),t.getContent(e,this.parser.schema).forEach(a=>this.insertNode(a,r,!1));else{let a=e;typeof t.contentElement=="string"?a=e.querySelector(t.contentElement):typeof t.contentElement=="function"?a=t.contentElement(e):t.contentElement&&(a=t.contentElement),this.findAround(e,a,!0),this.addAll(a,r),this.findAround(e,a,!1)}s&&this.sync(l)&&this.open--}addAll(e,t,r,i){let s=r||0;for(let o=r?e.childNodes[r]:e.firstChild,l=i==null?null:e.childNodes[i];o!=l;o=o.nextSibling,++s)this.findAtPoint(e,s),this.addDOM(o,t);this.findAtPoint(e,s)}findPlace(e,t,r){let i,s;for(let o=this.open,l=0;o>=0;o--){let a=this.nodes[o],c=a.findWrapping(e);if(c&&(!i||i.length>c.length+l)&&(i=c,s=a,!c.length))break;if(a.solid){if(r)break;l+=2}}if(!i)return null;this.sync(s);for(let o=0;o<i.length;o++)t=this.enterInner(i[o],null,t,!1);return t}insertNode(e,t,r){if(e.isInline&&this.needsBlock&&!this.top.type){let s=this.textblockFromContext();s&&(t=this.enterInner(s,null,t))}let i=this.findPlace(e,t,r);if(i){this.closeExtra();let s=this.top;s.match&&(s.match=s.match.matchType(e.type));let o=v.none;for(let l of i.concat(e.marks))(s.type?s.type.allowsMarkType(l.type):_r(l.type,e.type))&&(o=l.addToSet(o));return s.content.push(e.mark(o)),!0}return!1}enter(e,t,r,i){let s=this.findPlace(e.create(t),r,!1);return s&&(s=this.enterInner(e,t,r,!0,i)),s}enterInner(e,t,r,i=!1,s){this.closeExtra();let o=this.top;o.match=o.match&&o.match.matchType(e);let l=Kr(e,s,o.options);o.options&Mt&&o.content.length==0&&(l|=Mt);let a=v.none;return r=r.filter(c=>(o.type?o.type.allowsMarkType(c.type):_r(c.type,e))?(a=c.addToSet(a),!1):!0),this.nodes.push(new Vt(e,t,a,i,null,l)),this.open++,r}closeExtra(e=!1){let t=this.nodes.length-1;if(t>this.open){for(;t>this.open;t--)this.nodes[t-1].content.push(this.nodes[t].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let t=this.open;t>=0;t--){if(this.nodes[t]==e)return this.open=t,!0;this.localPreserveWS&&(this.nodes[t].options|=Ot)}return!1}get currentPos(){this.closeExtra();let e=0;for(let t=this.open;t>=0;t--){let r=this.nodes[t].content;for(let i=r.length-1;i>=0;i--)e+=r[i].nodeSize;t&&e++}return e}findAtPoint(e,t){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==e&&this.find[r].offset==t&&(this.find[r].pos=this.currentPos)}findInside(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].pos==null&&e.nodeType==1&&e.contains(this.find[t].node)&&(this.find[t].pos=this.currentPos)}findAround(e,t,r){if(e!=t&&this.find)for(let i=0;i<this.find.length;i++)this.find[i].pos==null&&e.nodeType==1&&e.contains(this.find[i].node)&&t.compareDocumentPosition(this.find[i].node)&(r?2:4)&&(this.find[i].pos=this.currentPos)}findInText(e){if(this.find)for(let t=0;t<this.find.length;t++)this.find[t].node==e&&(this.find[t].pos=this.currentPos-(e.nodeValue.length-this.find[t].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let t=e.split("/"),r=this.options.context,i=!this.isOpen&&(!r||r.parent.type==this.nodes[0].type),s=-(r?r.depth+1:0)+(i?0:1),o=(l,a)=>{for(;l>=0;l--){let c=t[l];if(c==""){if(l==t.length-1||l==0)continue;for(;a>=s;a--)if(o(l-1,a))return!0;return!1}else{let u=a>0||a==0&&i?this.nodes[a].type:r&&a>=s?r.node(a-s).type:null;if(!u||u.name!=c&&!u.isInGroup(c))return!1;a--}}return!0};return o(t.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let t=e.depth;t>=0;t--){let r=e.node(t).contentMatchAt(e.indexAfter(t)).defaultType;if(r&&r.isTextblock&&r.defaultAttrs)return r}for(let t in this.parser.schema.nodes){let r=this.parser.schema.nodes[t];if(r.isTextblock&&r.defaultAttrs)return r}}}function wl(n){for(let e=n.firstChild,t=null;e;e=e.nextSibling){let r=e.nodeType==1?e.nodeName.toLowerCase():null;r&&bs.hasOwnProperty(r)&&t?(t.appendChild(e),e=t):r=="li"?t=e:r&&(t=null)}}function Tl(n,e){return(n.matches||n.msMatchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector).call(n,e)}function Ur(n){let e={};for(let t in n)e[t]=n[t];return e}function _r(n,e){let t=e.schema.nodes;for(let r in t){let i=t[r];if(!i.allowsMarkType(n))continue;let s=[],o=l=>{s.push(l);for(let a=0;a<l.edgeCount;a++){let{type:c,next:u}=l.edge(a);if(c==e||s.indexOf(u)<0&&o(u))return!0}};if(o(i.contentMatch))return!0}}class rt{constructor(e,t){this.nodes=e,this.marks=t}serializeFragment(e,t={},r){r||(r=Tn(t).createDocumentFragment());let i=r,s=[];return e.forEach(o=>{if(s.length||o.marks.length){let l=0,a=0;for(;l<s.length&&a<o.marks.length;){let c=o.marks[a];if(!this.marks[c.type.name]){a++;continue}if(!c.eq(s[l][0])||c.type.spec.spanning===!1)break;l++,a++}for(;l<s.length;)i=s.pop()[1];for(;a<o.marks.length;){let c=o.marks[a++],u=this.serializeMark(c,o.isInline,t);u&&(s.push([c,i]),i.appendChild(u.dom),i=u.contentDOM||u.dom)}}i.appendChild(this.serializeNodeInner(o,t))}),r}serializeNodeInner(e,t){let{dom:r,contentDOM:i}=qt(Tn(t),this.nodes[e.type.name](e),null,e.attrs);if(i){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,t,i)}return r}serializeNode(e,t={}){let r=this.serializeNodeInner(e,t);for(let i=e.marks.length-1;i>=0;i--){let s=this.serializeMark(e.marks[i],e.isInline,t);s&&((s.contentDOM||s.dom).appendChild(r),r=s.dom)}return r}serializeMark(e,t,r={}){let i=this.marks[e.type.name];return i&&qt(Tn(r),i(e,t),null,e.attrs)}static renderSpec(e,t,r=null,i){return qt(e,t,r,i)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new rt(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let t=Gr(e.nodes);return t.text||(t.text=r=>r.text),t}static marksFromSchema(e){return Gr(e.marks)}}function Gr(n){let e={};for(let t in n){let r=n[t].spec.toDOM;r&&(e[t]=r)}return e}function Tn(n){return n.document||window.document}const Yr=new WeakMap;function Ol(n){let e=Yr.get(n);return e===void 0&&Yr.set(n,e=Nl(n)),e}function Nl(n){let e=null;function t(r){if(r&&typeof r=="object")if(Array.isArray(r))if(typeof r[0]=="string")e||(e=[]),e.push(r);else for(let i=0;i<r.length;i++)t(r[i]);else for(let i in r)t(r[i])}return t(n),e}function qt(n,e,t,r){if(typeof e=="string")return{dom:n.createTextNode(e)};if(e.nodeType!=null)return{dom:e};if(e.dom&&e.dom.nodeType!=null)return e;let i=e[0],s;if(typeof i!="string")throw new RangeError("Invalid array passed to renderSpec");if(r&&(s=Ol(r))&&s.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let o=i.indexOf(" ");o>0&&(t=i.slice(0,o),i=i.slice(o+1));let l,a=t?n.createElementNS(t,i):n.createElement(i),c=e[1],u=1;if(c&&typeof c=="object"&&c.nodeType==null&&!Array.isArray(c)){u=2;for(let d in c)if(c[d]!=null){let f=d.indexOf(" ");f>0?a.setAttributeNS(d.slice(0,f),d.slice(f+1),c[d]):a.setAttribute(d,c[d])}}for(let d=u;d<e.length;d++){let f=e[d];if(f===0){if(d<e.length-1||d>u)throw new RangeError("Content hole must be the only child of its parent node");return{dom:a,contentDOM:a}}else{let{dom:h,contentDOM:p}=qt(n,f,t,r);if(a.appendChild(h),p){if(l)throw new RangeError("Multiple content holes");l=p}}}return{dom:a,contentDOM:l}}const ks=65535,xs=Math.pow(2,16);function El(n,e){return n+e*xs}function Xr(n){return n&ks}function Al(n){return(n-(n&ks))/xs}const Ss=1,Ms=2,Ut=4,Cs=8;class Gn{constructor(e,t,r){this.pos=e,this.delInfo=t,this.recover=r}get deleted(){return(this.delInfo&Cs)>0}get deletedBefore(){return(this.delInfo&(Ss|Ut))>0}get deletedAfter(){return(this.delInfo&(Ms|Ut))>0}get deletedAcross(){return(this.delInfo&Ut)>0}}class ie{constructor(e,t=!1){if(this.ranges=e,this.inverted=t,!e.length&&ie.empty)return ie.empty}recover(e){let t=0,r=Xr(e);if(!this.inverted)for(let i=0;i<r;i++)t+=this.ranges[i*3+2]-this.ranges[i*3+1];return this.ranges[r*3]+t+Al(e)}mapResult(e,t=1){return this._map(e,t,!1)}map(e,t=1){return this._map(e,t,!0)}_map(e,t,r){let i=0,s=this.inverted?2:1,o=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let a=this.ranges[l]-(this.inverted?i:0);if(a>e)break;let c=this.ranges[l+s],u=this.ranges[l+o],d=a+c;if(e<=d){let f=c?e==a?-1:e==d?1:t:t,h=a+i+(f<0?0:u);if(r)return h;let p=e==(t<0?a:d)?null:El(l/3,e-a),m=e==a?Ms:e==d?Ss:Ut;return(t<0?e!=a:e!=d)&&(m|=Cs),new Gn(h,m,p)}i+=u-c}return r?e+i:new Gn(e+i,0,null)}touches(e,t){let r=0,i=Xr(t),s=this.inverted?2:1,o=this.inverted?1:2;for(let l=0;l<this.ranges.length;l+=3){let a=this.ranges[l]-(this.inverted?r:0);if(a>e)break;let c=this.ranges[l+s],u=a+c;if(e<=u&&l==i*3)return!0;r+=this.ranges[l+o]-c}return!1}forEach(e){let t=this.inverted?2:1,r=this.inverted?1:2;for(let i=0,s=0;i<this.ranges.length;i+=3){let o=this.ranges[i],l=o-(this.inverted?s:0),a=o+(this.inverted?0:s),c=this.ranges[i+t],u=this.ranges[i+r];e(l,l+c,a,a+u),s+=u-c}}invert(){return new ie(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?ie.empty:new ie(e<0?[0,-e,0]:[0,0,e])}}ie.empty=new ie([]);class Nt{constructor(e,t,r=0,i=e?e.length:0){this.mirror=t,this.from=r,this.to=i,this._maps=e||[],this.ownData=!(e||t)}get maps(){return this._maps}slice(e=0,t=this.maps.length){return new Nt(this._maps,this.mirror,e,t)}appendMap(e,t){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(e),t!=null&&this.setMirror(this._maps.length-1,t)}appendMapping(e){for(let t=0,r=this._maps.length;t<e._maps.length;t++){let i=e.getMirror(t);this.appendMap(e._maps[t],i!=null&&i<t?r+i:void 0)}}getMirror(e){if(this.mirror){for(let t=0;t<this.mirror.length;t++)if(this.mirror[t]==e)return this.mirror[t+(t%2?-1:1)]}}setMirror(e,t){this.mirror||(this.mirror=[]),this.mirror.push(e,t)}appendMappingInverted(e){for(let t=e.maps.length-1,r=this._maps.length+e._maps.length;t>=0;t--){let i=e.getMirror(t);this.appendMap(e._maps[t].invert(),i!=null&&i>t?r-i-1:void 0)}}invert(){let e=new Nt;return e.appendMappingInverted(this),e}map(e,t=1){if(this.mirror)return this._map(e,t,!0);for(let r=this.from;r<this.to;r++)e=this._maps[r].map(e,t);return e}mapResult(e,t=1){return this._map(e,t,!1)}_map(e,t,r){let i=0;for(let s=this.from;s<this.to;s++){let o=this._maps[s],l=o.mapResult(e,t);if(l.recover!=null){let a=this.getMirror(s);if(a!=null&&a>s&&a<this.to){s=a,e=this._maps[a].recover(l.recover);continue}}i|=l.delInfo,e=l.pos}return r?e:new Gn(e,i,null)}}const On=Object.create(null);class _{getMap(){return ie.empty}merge(e){return null}static fromJSON(e,t){if(!t||!t.stepType)throw new RangeError("Invalid input for Step.fromJSON");let r=On[t.stepType];if(!r)throw new RangeError(`No step type ${t.stepType} defined`);return r.fromJSON(e,t)}static jsonID(e,t){if(e in On)throw new RangeError("Duplicate use of step JSON ID "+e);return On[e]=t,t.prototype.jsonID=e,t}}class P{constructor(e,t){this.doc=e,this.failed=t}static ok(e){return new P(e,null)}static fail(e){return new P(null,e)}static fromReplace(e,t,r,i){try{return P.ok(e.replace(t,r,i))}catch(s){if(s instanceof Xt)return P.fail(s.message);throw s}}}function dr(n,e,t){let r=[];for(let i=0;i<n.childCount;i++){let s=n.child(i);s.content.size&&(s=s.copy(dr(s.content,e,s))),s.isInline&&(s=e(s,t,i)),r.push(s)}return b.fromArray(r)}class Ae extends _{constructor(e,t,r){super(),this.from=e,this.to=t,this.mark=r}apply(e){let t=e.slice(this.from,this.to),r=e.resolve(this.from),i=r.node(r.sharedDepth(this.to)),s=new k(dr(t.content,(o,l)=>!o.isAtom||!l.type.allowsMarkType(this.mark.type)?o:o.mark(this.mark.addToSet(o.marks)),i),t.openStart,t.openEnd);return P.fromReplace(e,this.from,this.to,s)}invert(){return new pe(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deleted&&r.deleted||t.pos>=r.pos?null:new Ae(t.pos,r.pos,this.mark)}merge(e){return e instanceof Ae&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new Ae(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new Ae(t.from,t.to,e.markFromJSON(t.mark))}}_.jsonID("addMark",Ae);class pe extends _{constructor(e,t,r){super(),this.from=e,this.to=t,this.mark=r}apply(e){let t=e.slice(this.from,this.to),r=new k(dr(t.content,i=>i.mark(this.mark.removeFromSet(i.marks)),e),t.openStart,t.openEnd);return P.fromReplace(e,this.from,this.to,r)}invert(){return new Ae(this.from,this.to,this.mark)}map(e){let t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deleted&&r.deleted||t.pos>=r.pos?null:new pe(t.pos,r.pos,this.mark)}merge(e){return e instanceof pe&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new pe(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new pe(t.from,t.to,e.markFromJSON(t.mark))}}_.jsonID("removeMark",pe);class ve extends _{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return P.fail("No node at mark step's position");let r=t.type.create(t.attrs,null,this.mark.addToSet(t.marks));return P.fromReplace(e,this.pos,this.pos+1,new k(b.from(r),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);if(t){let r=this.mark.addToSet(t.marks);if(r.length==t.marks.length){for(let i=0;i<t.marks.length;i++)if(!t.marks[i].isInSet(r))return new ve(this.pos,t.marks[i]);return new ve(this.pos,this.mark)}}return new Ze(this.pos,this.mark)}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new ve(t.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new ve(t.pos,e.markFromJSON(t.mark))}}_.jsonID("addNodeMark",ve);class Ze extends _{constructor(e,t){super(),this.pos=e,this.mark=t}apply(e){let t=e.nodeAt(this.pos);if(!t)return P.fail("No node at mark step's position");let r=t.type.create(t.attrs,null,this.mark.removeFromSet(t.marks));return P.fromReplace(e,this.pos,this.pos+1,new k(b.from(r),0,t.isLeaf?0:1))}invert(e){let t=e.nodeAt(this.pos);return!t||!this.mark.isInSet(t.marks)?this:new ve(this.pos,this.mark)}map(e){let t=e.mapResult(this.pos,1);return t.deletedAfter?null:new Ze(t.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,t){if(typeof t.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new Ze(t.pos,e.markFromJSON(t.mark))}}_.jsonID("removeNodeMark",Ze);class L extends _{constructor(e,t,r,i=!1){super(),this.from=e,this.to=t,this.slice=r,this.structure=i}apply(e){return this.structure&&Yn(e,this.from,this.to)?P.fail("Structure replace would overwrite content"):P.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new ie([this.from,this.to-this.from,this.slice.size])}invert(e){return new L(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1);return t.deletedAcross&&r.deletedAcross?null:new L(t.pos,Math.max(t.pos,r.pos),this.slice,this.structure)}merge(e){if(!(e instanceof L)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let t=this.slice.size+e.slice.size==0?k.empty:new k(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new L(this.from,this.to+(e.to-e.from),t,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let t=this.slice.size+e.slice.size==0?k.empty:new k(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new L(e.from,this.to,t,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new L(t.from,t.to,k.fromJSON(e,t.slice),!!t.structure)}}_.jsonID("replace",L);class F extends _{constructor(e,t,r,i,s,o,l=!1){super(),this.from=e,this.to=t,this.gapFrom=r,this.gapTo=i,this.slice=s,this.insert=o,this.structure=l}apply(e){if(this.structure&&(Yn(e,this.from,this.gapFrom)||Yn(e,this.gapTo,this.to)))return P.fail("Structure gap-replace would overwrite content");let t=e.slice(this.gapFrom,this.gapTo);if(t.openStart||t.openEnd)return P.fail("Gap is not a flat range");let r=this.slice.insertAt(this.insert,t.content);return r?P.fromReplace(e,this.from,this.to,r):P.fail("Content does not fit in gap")}getMap(){return new ie([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let t=this.gapTo-this.gapFrom;return new F(this.from,this.from+this.slice.size+t,this.from+this.insert,this.from+this.insert+t,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let t=e.mapResult(this.from,1),r=e.mapResult(this.to,-1),i=this.from==this.gapFrom?t.pos:e.map(this.gapFrom,-1),s=this.to==this.gapTo?r.pos:e.map(this.gapTo,1);return t.deletedAcross&&r.deletedAcross||i<t.pos||s>r.pos?null:new F(t.pos,r.pos,i,s,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,t){if(typeof t.from!="number"||typeof t.to!="number"||typeof t.gapFrom!="number"||typeof t.gapTo!="number"||typeof t.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new F(t.from,t.to,t.gapFrom,t.gapTo,k.fromJSON(e,t.slice),t.insert,!!t.structure)}}_.jsonID("replaceAround",F);function Yn(n,e,t){let r=n.resolve(e),i=t-e,s=r.depth;for(;i>0&&s>0&&r.indexAfter(s)==r.node(s).childCount;)s--,i--;if(i>0){let o=r.node(s).maybeChild(r.indexAfter(s));for(;i>0;){if(!o||o.isLeaf)return!0;o=o.firstChild,i--}}return!1}function vl(n,e,t,r){let i=[],s=[],o,l;n.doc.nodesBetween(e,t,(a,c,u)=>{if(!a.isInline)return;let d=a.marks;if(!r.isInSet(d)&&u.type.allowsMarkType(r.type)){let f=Math.max(c,e),h=Math.min(c+a.nodeSize,t),p=r.addToSet(d);for(let m=0;m<d.length;m++)d[m].isInSet(p)||(o&&o.to==f&&o.mark.eq(d[m])?o.to=h:i.push(o=new pe(f,h,d[m])));l&&l.to==f?l.to=h:s.push(l=new Ae(f,h,r))}}),i.forEach(a=>n.step(a)),s.forEach(a=>n.step(a))}function Dl(n,e,t,r){let i=[],s=0;n.doc.nodesBetween(e,t,(o,l)=>{if(!o.isInline)return;s++;let a=null;if(r instanceof un){let c=o.marks,u;for(;u=r.isInSet(c);)(a||(a=[])).push(u),c=u.removeFromSet(c)}else r?r.isInSet(o.marks)&&(a=[r]):a=o.marks;if(a&&a.length){let c=Math.min(l+o.nodeSize,t);for(let u=0;u<a.length;u++){let d=a[u],f;for(let h=0;h<i.length;h++){let p=i[h];p.step==s-1&&d.eq(i[h].style)&&(f=p)}f?(f.to=c,f.step=s):i.push({style:d,from:Math.max(l,e),to:c,step:s})}}}),i.forEach(o=>n.step(new pe(o.from,o.to,o.style)))}function fr(n,e,t,r=t.contentMatch,i=!0){let s=n.doc.nodeAt(e),o=[],l=e+1;for(let a=0;a<s.childCount;a++){let c=s.child(a),u=l+c.nodeSize,d=r.matchType(c.type);if(!d)o.push(new L(l,u,k.empty));else{r=d;for(let f=0;f<c.marks.length;f++)t.allowsMarkType(c.marks[f].type)||n.step(new pe(l,u,c.marks[f]));if(i&&c.isText&&t.whitespace!="pre"){let f,h=/\r?\n|\r/g,p;for(;f=h.exec(c.text);)p||(p=new k(b.from(t.schema.text(" ",t.allowedMarks(c.marks))),0,0)),o.push(new L(l+f.index,l+f.index+f[0].length,p))}}l=u}if(!r.validEnd){let a=r.fillBefore(b.empty,!0);n.replace(l,l,new k(a,0,0))}for(let a=o.length-1;a>=0;a--)n.step(o[a])}function Il(n,e,t){return(e==0||n.canReplace(e,n.childCount))&&(t==n.childCount||n.canReplace(0,t))}function gt(n){let t=n.parent.content.cutByIndex(n.startIndex,n.endIndex);for(let r=n.depth;;--r){let i=n.$from.node(r),s=n.$from.index(r),o=n.$to.indexAfter(r);if(r<n.depth&&i.canReplace(s,o,t))return r;if(r==0||i.type.spec.isolating||!Il(i,s,o))break}return null}function Rl(n,e,t){let{$from:r,$to:i,depth:s}=e,o=r.before(s+1),l=i.after(s+1),a=o,c=l,u=b.empty,d=0;for(let p=s,m=!1;p>t;p--)m||r.index(p)>0?(m=!0,u=b.from(r.node(p).copy(u)),d++):a--;let f=b.empty,h=0;for(let p=s,m=!1;p>t;p--)m||i.after(p+1)<i.end(p)?(m=!0,f=b.from(i.node(p).copy(f)),h++):c++;n.step(new F(a,c,o,l,new k(u.append(f),d,h),u.size-d,!0))}function hr(n,e,t=null,r=n){let i=Pl(n,e),s=i&&Bl(r,e);return s?i.map(Zr).concat({type:e,attrs:t}).concat(s.map(Zr)):null}function Zr(n){return{type:n,attrs:null}}function Pl(n,e){let{parent:t,startIndex:r,endIndex:i}=n,s=t.contentMatchAt(r).findWrapping(e);if(!s)return null;let o=s.length?s[0]:e;return t.canReplaceWith(r,i,o)?s:null}function Bl(n,e){let{parent:t,startIndex:r,endIndex:i}=n,s=t.child(r),o=e.contentMatch.findWrapping(s.type);if(!o)return null;let a=(o.length?o[o.length-1]:e).contentMatch;for(let c=r;a&&c<i;c++)a=a.matchType(t.child(c).type);return!a||!a.validEnd?null:o}function zl(n,e,t){let r=b.empty;for(let o=t.length-1;o>=0;o--){if(r.size){let l=t[o].type.contentMatch.matchFragment(r);if(!l||!l.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}r=b.from(t[o].type.create(t[o].attrs,r))}let i=e.start,s=e.end;n.step(new F(i,s,i,s,new k(r,0,0),t.length,!0))}function Ll(n,e,t,r,i){if(!r.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let s=n.steps.length;n.doc.nodesBetween(e,t,(o,l)=>{let a=typeof i=="function"?i(o):i;if(o.isTextblock&&!o.hasMarkup(r,a)&&Fl(n.doc,n.mapping.slice(s).map(l),r)){let c=null;if(r.schema.linebreakReplacement){let h=r.whitespace=="pre",p=!!r.contentMatch.matchType(r.schema.linebreakReplacement);h&&!p?c=!1:!h&&p&&(c=!0)}c===!1&&Ts(n,o,l,s),fr(n,n.mapping.slice(s).map(l,1),r,void 0,c===null);let u=n.mapping.slice(s),d=u.map(l,1),f=u.map(l+o.nodeSize,1);return n.step(new F(d,f,d+1,f-1,new k(b.from(r.create(a,null,o.marks)),0,0),1,!0)),c===!0&&ws(n,o,l,s),!1}})}function ws(n,e,t,r){e.forEach((i,s)=>{if(i.isText){let o,l=/\r?\n|\r/g;for(;o=l.exec(i.text);){let a=n.mapping.slice(r).map(t+1+s+o.index);n.replaceWith(a,a+1,e.type.schema.linebreakReplacement.create())}}})}function Ts(n,e,t,r){e.forEach((i,s)=>{if(i.type==i.type.schema.linebreakReplacement){let o=n.mapping.slice(r).map(t+1+s);n.replaceWith(o,o+1,e.type.schema.text(`
@@ -1 +1 @@
1
- a[data-v-0d62927a]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-0d62927a]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-c34f0ee8],.v-tabs-items[data-v-c34f0ee8]{background-color:#f7f8fa!important}
1
+ a[data-v-7c25d4c7]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-7c25d4c7]:visited{color:rgb(var(--v-theme-primary))}.highligth{background-color:#515d78}.v-toolbar[data-v-c34f0ee8],.v-tabs-items[data-v-c34f0ee8]{background-color:#f7f8fa!important}
@@ -0,0 +1 @@
1
+ import{C as X,H as ie,A as Ee,c as F,o as v,w as t,a as l,l as U,F as T,s as Le,k as _,t as p,_ as fe,b as J,n as oe,g as r,h as z,d as Ne,m as Y,v as ae,f,r as qe,x as De,q as ve,i as Z,e as P}from"./index-LhNzkzAh.js";import{_ as ne}from"./MenuItems-BqIZW5av.js";import{_ as se}from"./ConfirmDialog-CcPrCKuI.js";import{V as Te,b as je,a as ye}from"./VCard-DzjUT5OP.js";import{V as _e}from"./VCheckbox-dr7UFjl4.js";import{V as Me}from"./VSpacer-CoJVmx8k.js";import{V as q,c as ee,a as re}from"./VAvatar-DbuoZWmf.js";import{a as G}from"./accounts-CC2F0a0c.js";import{a as H}from"./aliases-C9bUD4Ws.js";import{d as Pe}from"./index-DuzUMVLM.js";import{V as le}from"./VMenu-nv0XOgg0.js";import{V as ze}from"./VChip-CaQvfmkw.js";import{V as be,a as Oe}from"./VToolbar-BxX3W2kR.js";import{V as Be}from"./VTextField-DKbr4H5w.js";import{V as ge,a as ue,b as de}from"./forwardRefs-CpzzjgpX.js";import{a as We,V as me}from"./VRadioGroup-CbiPLy0t.js";import{V as Ge}from"./VDataTableServer-BqvNcIdw.js";import{V as Q}from"./VDialog-DmTGCGR0.js";import{_ as Qe,a as Ye}from"./AliasRecipientForm-IehUzKok.js";import{_ as ke}from"./CreationForm-CW4lxnPg.js";import{_ as He,A as Je,a as Ke,b as Xe}from"./AccountAliasForm-C0oHHyZL.js";import{u as Ze}from"./permissions-DQjAcO9S.js";import{a as W,V as ce}from"./VRow-DJ0NB63-.js";import{u as et}from"./domains.store-BLKRipG8.js";import{_ as tt,i as at}from"./importExport-C3uqrcok.js";import{V as lt}from"./VSwitch-DPnjPQuU.js";import"./tag-3cfI1_f7.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VInput-DVKUObZe.js";/* empty css */import"./ssrBoot-BxIQ9ccA.js";import"./VDataTable-CL7yHvG7.js";import"./VSelect-CxCFMHyF.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";import"./EmailField-DeqDPm5j.js";import"./VForm-DsRLc-sa.js";import"./domains-C2cornvL.js";import"./VTextarea-BttkFsM4.js";import"./logos-Bvcy0usu.js";import"./VWindowItem-Cvqvdegd.js";import"./VContainer-74Dnn8Ux.js";import"./VSheet-DI6SxLnG.js";import"./ChoiceField-DnwXRkht.js";import"./VAlert-4r6LxKtg.js";import"./AccountPasswordSubForm-YsaE_cDx.js";import"./VFileInput-SULIc6F3.js";const te="identities",pe={getAll(){return X.get(`${te}/`)},exportAll(){return X.get(`/${te}/export/`)},importFromCSV(D){return X.post(`/${te}/import/`,D,{headers:{"Content-Type":"multipart/form-data"}})}},ot={__name:"ChooseColumnsForm",props:ie({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:ie(["apply"],["update:modelValue"]),setup(D,{emit:V}){const e=D,R=Ee(D,"modelValue"),S=V,C=()=>{S("apply",R.value)};return R.value=e.columns.map(x=>x.key),(x,g)=>(v(),F(ye,{title:x.$gettext("Choose columns to display")},{default:t(()=>[l(Te,null,{default:t(()=>[(v(!0),U(T,null,Le(e.availableColumns,A=>(v(),U("div",{key:A.key},[l(_e,{modelValue:R.value,"onUpdate:modelValue":g[0]||(g[0]=h=>R.value=h),value:A.key,label:A.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes(A.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),l(je,null,{default:t(()=>[l(Me),l(q,{color:"primary",variant:"outlined",onClick:C},{default:t(()=>[_(p(x.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},it={key:1},nt={key:1},st={__name:"IdentityList",setup(D,{expose:V}){const{$gettext:e}=J(),R=ve(),{displayNotification:S}=oe(),C={address:{title:e("Address"),key:"address"},enabled:{title:e("Enabled"),key:"enabled"},recipients:{title:e("Recipients"),key:"recipients"},expire_at:{title:e("Expire at"),key:"expire_at"},description:{title:e("Description"),key:"description"},creation:{title:e("Creation date"),key:"creation"},last_modification:{title:e("Last modification"),key:"last_modification"}},x=[C.address,C.enabled,C.recipients],g={username:{title:e("Name"),key:"username"},first_name:{title:e("First name"),key:"first_name"},last_name:{title:e("Last Name"),key:"last_name"},is_active:{title:e("Enabled"),key:"is_active"},role:{title:e("Role"),key:"role"},quota:{title:e("Quota"),key:"quota_usage"},message_limit:{title:e("Message limit"),key:"sent_messages_in_percent"},language:{title:e("Language"),key:"language"},phone_number:{title:e("Phone number"),key:"phone_number"},secondary_email:{title:e("Secondary email"),key:"secondary_email"},tfa_enabled:{title:e("TFA enabled"),key:"tfa_enabled"},totp_enabled:{title:e("TOTP enabled"),key:"totp_enabled"},webauth_enabled:{title:e("WebAutn enabled"),key:"webauth_enabled"},date_joined:{title:e("Creation date"),key:"date_joined"},last_login:{title:e("Last login"),key:"last_login"}},A=[g.username,g.is_active,g.role,g.quota],h=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],o=r("account"),c=r(0),E=r([]),y=r(!1),n=r(""),d=r([]),I=r(!1),O=r(),B=r(),k=r(1),$=r(10),w=r([]),j=r(A),M=r(!1),K=z(()=>j.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),u=z(()=>o.value==="account"?Object.values(g):Object.values(C)),m=z(()=>o.value==="account"?["username"]:["address"]);async function b(s){y.value=!0,E.value=[],w.value=[],s==="account"?j.value=A:j.value=x,await L()}async function Ve({page:s,itemsPerPage:i,sortBy:N}){k.value=s,$.value=i,w.value=N,L()}async function L(){y.value=!0;const s={page:k.value||1,page_size:$.value||10};w.value&&w.value.length&&(s.ordering=w.value.map(i=>i.order!=="asc"?`-${i.key}`:i.key).join(",")),n.value!==""&&(s.search=n.value);try{const i=o.value==="account"?await G.getAll(s):await H.getAll(s);E.value=i.data.results,c.value=i.data.count,d.value=[]}finally{y.value=!1}}function xe(s){j.value=u.value.filter(i=>s.includes(i.key)),M.value=!1}function we(s){const i=[];return o.value==="account"?(s.possible_actions.forEach(N=>{i.push({label:N.label,icon:N.icon,onClick:a=>{N.name==="get_credentials"&&$e(a),L()}})}),i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ae}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:he,color:"red"})):o.value==="alias"&&(i.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Re}),i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ue,color:"red"})),i}function Ce(){const s=[];return d.value.length>0&&s.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Ie,color:"red"}),s}function Ae(s){R.push({name:"AccountEdit",params:{id:s.pk}})}async function he(s){if(await B.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){y.value=!1;try{await G.delete(s.pk,{keepdir:I.value}),L(),S({msg:e("Account deleted")})}finally{y.value=!1}}}async function $e(s){const i=await G.getCredentials(s.pk),N=new Blob([i.data],{type:i.headers["Content-Type"]}),a=document.createElement("a");a.href=URL.createObjectURL(N),a.download=`credentials_${s.pk}.pdf`,a.click(),URL.revokeObjectURL(a.href)}function Re(){}function Ie(){}async function Ue(s){if(await O.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){y.value=!1;try{await H.delete(s.pk),L(),S({msg:e("Alias deleted")})}finally{y.value=!1}}}function Fe(s){return s.recipients?s.recipients.join(", "):""}return Ne(()=>{L()}),V({fetchIdentities:L}),L=Pe(L,500),(s,i)=>{const N=qe("router-link");return v(),F(ye,{class:"mt-6"},{default:t(()=>[l(Ge,{modelValue:d.value,"onUpdate:modelValue":i[3]||(i[3]=a=>d.value=a),headers:K.value,items:E.value,search:n.value,loading:y.value,"items-length":c.value,page:k.value,"items-per-page":$.value,"items-per-page-options":h,"item-value":"pk",elevation:"0","show-select":"","sort-by":w.value,"onUpdate:options":Ve},{top:t(()=>[l(be,{flat:"",color:"white"},{extension:t(()=>[l(We,{modelValue:o.value,"onUpdate:modelValue":[i[2]||(i[2]=a=>o.value=a),b],inline:"",readonly:y.value,"hide-details":""},{default:t(()=>[l(me,{color:"primary",label:f(e)("Accounts"),value:"account"},null,8,["label"]),l(me,{color:"primary",label:f(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[l(Be,{modelValue:n.value,"onUpdate:modelValue":i[0]||(i[0]=a=>n.value=a),"prepend-inner-icon":"mdi-magnify",placeholder:f(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),De(s.$slots,"extraActions",{},void 0,!0),l(q,{variant:"text",icon:"mdi-format-columns",title:f(e)("Customize displayed columns"),onClick:i[1]||(i[1]=a=>M.value=!0)},null,8,["title"]),d.value.length>1?(v(),F(le,{key:0,location:"bottom"},{activator:t(({props:a})=>[l(q,ae({"append-icon":"mdi-chevron-down"},a,{size:"small",variant:"flat"}),{default:t(()=>[_(p(f(e)("Actions")),1)]),_:2},1040)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(ne,{items:Ce()},null,8,["items"])]),_:1})]),_:1})):Y("",!0),l(q,{variant:"text",icon:"mdi-reload",onClick:L})]),_:3})]),"item.username":t(({item:a})=>[l(N,{to:{name:"AccountDetail",params:{id:a.pk}}},{default:t(()=>[_(p(a.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:a})=>[l(N,{to:{name:"AliasDetail",params:{id:a.pk}}},{default:t(()=>[_(p(a.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:a})=>[l(ee,{color:a.is_active?"success":"error",icon:a.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:a})=>[l(ee,{color:a.enabled?"success":"error",icon:a.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:a})=>[_(p(Fe(a)),1)]),"item.date_joined":t(({item:a})=>[_(p(s.$date(a.date_joined)),1)]),"item.creation":t(({item:a})=>[_(p(s.$date(a.creation)),1)]),"item.last_modification":t(({item:a})=>[_(p(s.$date(a.last_modification)),1)]),"item.last_login":t(({item:a})=>[_(p(s.$date(a.last_login)),1)]),"item.role":t(({item:a})=>[l(ze,{color:"default",size:"small"},{default:t(()=>[_(p(a.role),1)]),_:2},1024)]),"item.quota_usage":t(({item:a})=>[a.mailbox?(v(),U(T,{key:0},[a.mailbox.quota!=="0"?(v(),F(re,{key:0,color:a.mailbox.quota_usage<80?"primary":"warning","model-value":a.mailbox.quota_usage},null,8,["color","model-value"])):(v(),U("span",it,p(f(e)("Unlimited")),1))],64)):(v(),U(T,{key:1},[_(p(f(e)("No mailbox")),1)],64))]),"item.sent_messages_in_percent":t(({item:a})=>[a.mailbox?(v(),U(T,{key:0},[a.mailbox.message_limit!==null&&a.mailbox.message_limit!==void 0?(v(),U(T,{key:0},[a.mailbox.message_limit!==0?(v(),F(re,{key:0,color:a.mailbox.sent_messages_in_percent<80?"primary":"warning","model-value":a.mailbox.sent_messages_in_percent},null,8,["color","model-value"])):(v(),U("span",nt,p(f(e)("Sending forbidden")),1))],64)):(v(),U(T,{key:1},[_(p(f(e)("Unlimited")),1)],64))],64)):(v(),U(T,{key:1},[_(p(f(e)("No mailbox")),1)],64))]),"item.actions":t(({item:a})=>[a.possible_actions!==void 0&&a.possible_actions.length!==0?(v(),F(ee,{key:0,size:"large",color:"blue"},{default:t(()=>i[6]||(i[6]=[_("mdi-circle-small")])),_:1,__:[6]})):Y("",!0),l(le,{location:"bottom"},{activator:t(({props:Se})=>[l(q,ae(Se,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[l(ne,{items:we(a),obj:a},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),l(se,{ref_key:"confirmAlias",ref:O},null,512),l(se,{ref_key:"confirmAccount",ref:B},{default:t(()=>[l(_e,{modelValue:I.value,"onUpdate:modelValue":i[4]||(i[4]=a=>I.value=a),label:f(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),l(Q,{modelValue:M.value,"onUpdate:modelValue":i[5]||(i[5]=a=>M.value=a),"max-width":"500"},{default:t(()=>[l(ot,{columns:j.value,"available-columns":u.value,"mandatory-columns":m.value,onApply:xe},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},rt=fe(st,[["__scopeId","data-v-7c25d4c7"]]),ut={__name:"AliasCreationForm",emits:["close","created"],setup(D,{emit:V}){const{$gettext:e}=J(),R=oe(),S=ve(),C=V,x=r(),g=r(),A=r(),h={general:g,recipients:A},o=z(()=>{const k=[{title:e("General"),items:[{key:e("Random address"),value:c.value.random,type:"yesno"},{key:e("Address"),value:c.value.address}]}];return c.value.expire_at!==void 0&&k[0].items.push({key:e("Expire at"),value:c.value.expire_at}),c.value.description!==void 0&&k[0].items.push({key:e("Description"),value:c.value.description}),k.push({title:e("Recipients"),items:[{key:e("Recipients"),value:c.value.recipients.join(", ")}]}),k}),c=r(n()),E=r([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function y(){c.value=n(),C("close")}function n(){return{random:!1,enabled:!0,recipients:[]}}function d(k){return h.step[k.name]}function I(k){return h[k.name].value.vFormRef}function O(){const k={...c.value};k.recipients.length===0&&delete k.recipients;const $=H.validate(k);return $.catch(w=>{w.response.status===409&&w.response.data.id!==void 0&&(R.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),S.push({name:"AliasEdit",params:{id:w.response.data.id}}))}),$}async function B(){c.value.domain!==void 0&&delete c.value.domain;try{await H.create(c.value),C("created"),y()}finally{x.value.working=!1}}return(k,$)=>(v(),F(ke,{ref_key:"form",ref:x,title:f(e)("New alias"),steps:E.value,"form-getter":d,"get-v-form-ref":I,"validate-object":O,"summary-sections":o.value,onClose:y,onCreate:B},{"form.general":t(()=>[l(Ye,{ref_key:"general",ref:g,modelValue:c.value,"onUpdate:modelValue":$[0]||($[0]=w=>c.value=w)},null,8,["modelValue"])]),"form.recipients":t(()=>[l(Qe,{ref_key:"recipients",ref:A,modelValue:c.value.recipients,"onUpdate:modelValue":$[1]||($[1]=w=>c.value.recipients=w)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},dt={class:"grey--text"},mt={__name:"AccountCreationForm",emits:["close","created"],setup(D,{emit:V}){const{$gettext:e}=J(),{canSetRole:R}=Ze(),S=oe(),C=et(),x=V,g=z(()=>o.value.username&&o.value.username.indexOf("@")!==-1),A=z(()=>{const u=[{title:e("Role"),items:[{key:e("Role"),value:o.value.role}]},{title:e("Identification"),items:[{key:e("Username"),value:o.value.username},{key:e("First name"),value:o.value.first_name},{key:e("Last name"),value:o.value.last_name},{name:"random_password",key:e("Random password"),value:o.value.random_password,type:"yesno"},{key:e("Enabled"),value:o.value.is_active,type:"yesno"}]}];return g.value?u.concat([{title:e("Mailbox"),items:[{key:e("Email"),value:o.value.mailbox.full_address},{key:e("Quota"),value:o.value.mailbox.use_domain_quota?e("Domain default value"):o.value.mailbox.quota},{key:e("Message sending limit"),value:o.value.mailbox.message_limit},{key:e("Send only account"),value:o.value.mailbox.is_send_only,type:"yesno"}]},{title:e("Aliases"),items:[{key:e("Aliases"),value:o.value.aliases,type:"list"}]}]):u}),h=z(()=>{const u=[];return R.value&&u.push({name:"role",title:e("Role")}),u.push({name:"identification",title:e("Identification")}),g.value?u.concat([{name:"mailbox",title:e("Mailbox")},{name:"aliases",title:e("Aliases")}]):u}),o=r({aliases:[],is_active:!0,role:Z.USER,mailbox:{use_domain_quota:!0},random_password:!1}),c=r(),E=r(),y=r(),n=r(),d=r(),I={role:E,identification:y,mailbox:n,aliases:d};function O(){navigator.clipboard.writeText(o.value.new_password).then(()=>{S.displayNotification({msg:e("Password copied to clipboard")})})}function B(u){return I.step[u.name]}function k(u){return I[u.name].value.vFormRef}function $(u,m){const b=h.value[u-1].name;I[b].value.formErrors&&(I[b].value.formErrors.value=m)}function w(u){const m={...u};return[Z.RESELLER,Z.SUPER_ADMIN].includes(m.role)&&m.username&&m.username.indexOf("@")===-1&&delete m.mailbox,m.mailbox&&(m.mailbox.message_limit===""&&(m.mailbox.message_limit=null),!m.mailbox.use_domain_quota&&(m.mailbox.quota===void 0||m.mailbox.quota===null)&&(m.mailbox.quota=0)),m}function j(u){if(u===1)return!0;const m=w({...o.value});return G.validate(m)}function M(){x("close")}async function K(){const u=w({...o.value});u.password=u.new_password,delete u.new_password,delete u.password_confirmation;try{await G.create(u),x("created"),M()}finally{c.value.working=!1}}return C.getDomains(),(u,m)=>(v(),F(ke,{ref_key:"form",ref:c,title:f(e)("New account"),steps:h.value,"form-getter":B,"get-v-form-ref":k,"validate-object":j,"summary-sections":A.value,onClose:M,onCreate:K,onValidationError:$},{"form.role":t(()=>[l(Xe,{ref_key:"role",ref:E,modelValue:o.value,"onUpdate:modelValue":m[0]||(m[0]=b=>o.value=b)},null,8,["modelValue"])]),"form.identification":t(()=>[l(Ke,{ref_key:"identification",ref:y,modelValue:o.value,"onUpdate:modelValue":m[1]||(m[1]=b=>o.value=b)},null,8,["modelValue"])]),"form.mailbox":t(()=>[l(Je,{ref_key:"mailbox",ref:n,modelValue:o.value,"onUpdate:modelValue":m[2]||(m[2]=b=>o.value=b)},null,8,["modelValue"])]),"form.aliases":t(()=>[l(He,{ref_key:"aliases",ref:d,modelValue:o.value,"onUpdate:modelValue":m[3]||(m[3]=b=>o.value=b)},null,8,["modelValue"])]),"item.random_password":t(({item:b})=>[b.value?(v(),F(W,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[l(ce,null,{default:t(()=>[l(W,null,{default:t(()=>[P("span",null,p(b.key),1)]),_:2},1024),b.type==="yesno"?(v(),F(W,{key:0,class:"text-right"},{default:t(()=>[_(p(u.$yesno(b.value)),1)]),_:2},1024)):Y("",!0)]),_:2},1024),l(ce,null,{default:t(()=>[l(W,{class:"text-right py-1"},{default:t(()=>[l(q,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:f(e)("Copy to clipboard"),onClick:O},{default:t(()=>[_(p(o.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(v(),U(T,{key:1},[l(W,null,{default:t(()=>[P("span",dt,p(b.key),1)]),_:2},1024),b.type==="yesno"?(v(),F(W,{key:0,class:"text-right"},{default:t(()=>[_(p(u.$yesno(b.value)),1)]),_:2},1024)):Y("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},ct={__name:"IdentitiesView",setup(D){const{$gettext:V,$pgettext:e}=J(),{importContent:R,exportContent:S}=at(),C=r(!1),x=r(!1),g=r(!1),A=r(),h=r();function o(){pe.exportAll().then(y=>{S(y.data,"identities",V)})}function c(y,n){y.append("crypt_passwords",n.crypt_passwords),R(pe,y,A,V)}function E(){g.value=!1,h.value.fetchIdentities()}return(y,n)=>(v(),U("div",null,[l(be,{flat:""},{default:t(()=>[l(Oe,null,{default:t(()=>[_(p(f(V)("Identities")),1)]),_:1})]),_:1}),l(rt,{ref_key:"idList",ref:h},{extraActions:t(()=>[l(le,{"offset-y":""},{activator:t(({props:d})=>[l(q,ae({color:"primary",variant:"outlined"},d,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[_(p(f(e)("male","New")),1)]),_:2},1040)]),default:t(()=>[l(ge,{density:"compact"},{default:t(()=>[l(ue,{onClick:n[0]||(n[0]=d=>C.value=!0)},{default:t(()=>[l(de,null,{default:t(()=>[_(p(f(V)("Account")),1)]),_:1})]),_:1}),l(ue,{onClick:n[1]||(n[1]=d=>x.value=!0)},{default:t(()=>[l(de,null,{default:t(()=>[_(p(f(V)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),l(q,{class:"mr-2",title:f(V)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:n[2]||(n[2]=d=>g.value=!0)},null,8,["title"]),l(q,{class:"mr-2",title:f(V)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:o},null,8,["title"])]),_:1},512),l(Q,{modelValue:x.value,"onUpdate:modelValue":n[5]||(n[5]=d=>x.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(ut,{onCreated:n[3]||(n[3]=d=>h.value.fetchIdentities()),onClose:n[4]||(n[4]=d=>x.value=!1)})]),_:1},8,["modelValue"]),l(Q,{modelValue:C.value,"onUpdate:modelValue":n[8]||(n[8]=d=>C.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[l(mt,{onCreated:n[6]||(n[6]=d=>h.value.fetchIdentities()),onClose:n[7]||(n[7]=d=>C.value=!1)})]),_:1},8,["modelValue"]),l(Q,{modelValue:g.value,"onUpdate:modelValue":n[9]||(n[9]=d=>g.value=d),persistent:"","max-width":"800px"},{default:t(()=>[l(f(tt),{ref_key:"importForm",ref:A,title:f(V)("Import identities"),onSubmit:c,onClose:E},{help:t(()=>n[10]||(n[10]=[P("ul",null,[P("li",null,[P("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota[; domain; ...]")]),P("li",null,[P("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])),extraFields:t(({form:d})=>[l(lt,{modelValue:d.crypt_passwords,"onUpdate:modelValue":I=>d.crypt_passwords=I,label:f(V)("Crypt passwords"),color:"primary",density:"compact",hint:f(V)("Check this option if passwords contained in your file are not crypted"),"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint"])]),_:1},8,["title"])]),_:1},8,["modelValue"])]))}},ra=fe(ct,[["__scopeId","data-v-c34f0ee8"]]);export{ra as default};
@@ -0,0 +1 @@
1
+ import{_ as w,b as M,g as V,h as k,d as H,l as u,a,c as m,m as p,w as o,f as t,o as l,k as d,t as r,F as _,s as x,e as s}from"./index-LhNzkzAh.js";import{a as I}from"./admin-CHCHFGI6.js";import{V as C,a as N}from"./VToolbar-BxX3W2kR.js";import{a as g,c as f,V as v}from"./VCard-DzjUT5OP.js";import{V as T}from"./VAlert-4r6LxKtg.js";import{V as B}from"./VDataTableVirtual--KsOP8i6.js";import{u as A}from"./global.store-DndbMXYb.js";import"./tag-3cfI1_f7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VDataTable-CL7yHvG7.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VInput-DVKUObZe.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";const S={class:"mt-4"},D=["innerHTML"],G=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],P=["innerHTML"],R=["innerHTML"],U={tag:"p"},Y={tag:"p",class:"text-body-2"},$=["href"],j={__name:"InformationView",setup(q){const{$gettext:e}=M(),h=A(),c=V([]),y=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],L=k(()=>c.value.filter(i=>i.update).length>0);function b(i){return i.update?"green lighten-5":""}return H(()=>{I.getComponentsInformation().then(i=>{c.value=i.data})}),(i,z)=>(l(),u("div",null,[a(C,{flat:""},{default:o(()=>[a(N,null,{default:o(()=>[d(r(t(e)("Information")),1)]),_:1})]),_:1}),t(h).adminNotifications.length?(l(),m(g,{key:0,class:"my-6"},{default:o(()=>[a(f,null,{default:o(()=>[d(r(t(e)("Important messages")),1)]),_:1}),a(v,null,{default:o(()=>[(l(!0),u(_,null,x(t(h).adminNotifications,n=>(l(),m(T,{key:n.id,type:n.color,title:n.text,border:"start",variant:"tonal"},{default:o(()=>[n.id==="deprecatedpasswordscheme"?(l(),u(_,{key:0},[d(r(t(e)("The password scheme you are using has been deprecated and will be removed in the next minor version. The procedure to upgrade to a stronger scheme is as follows:"))+" ",1),s("ol",S,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,D),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,G),s("li",{innerHTML:t(e)("Make sure <strong>Update password scheme at login</strong> option is enabled",!0)},null,8,E),s("li",{innerHTML:t(e)("Save your changes")},null,8,F),s("li",null,r(t(e)("Logout / Login with your current account so its password gets updated")),1),s("li",{innerHTML:t(e)("Inform <strong>ALL</strong> your users that they must login to Modoboa to complete the operation",!0)},null,8,O)]),s("p",{class:"mt-4",innerHTML:t(e)("You must apply this procedure <strong>BEFORE</strong> you install a newest version of Modoboa, otherwise <strong>you will be unable to connect to the web interface anymore</strong>.",!0)},null,8,P),s("p",{class:"mt-4",innerHTML:t(e)("Please note that you will see this message until <strong>ALL</strong> user passwords have been converted using the new scheme.",!0)},null,8,R)],64)):p("",!0)]),_:2},1032,["type","title"]))),128))]),_:1})]),_:1})):p("",!0),a(g,{class:"mt-6"},{default:o(()=>[a(f,null,{default:o(()=>[d(r(t(e)("Installed components")),1)]),_:1}),a(v,null,{default:o(()=>[L.value?(l(),m(T,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",U,r(t(e)("One or more updates are available")),1),s("div",Y,r(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),a(B,{headers:y,items:c.value,"item-class":b},{"item.last_version":o(({item:n})=>[n.changelog_url?(l(),u("a",{key:0,href:n.changelog_url,target:"_blank"},r(n.last_version),9,$)):(l(),u(_,{key:1},[d(r(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},ge=w(j,[["__scopeId","data-v-f326fdcf"]]);export{ge as default};
@@ -0,0 +1 @@
1
+ .v-toolbar[data-v-f326fdcf]{background-color:#f7f8fa!important}
@@ -1 +1 @@
1
- import{k as a,c as t,o,w as e,a as r}from"./index-I1VDlN4g.js";import{V as s,a as c}from"./VRow-BF35mT1S.js";import{V as i}from"./VProgressCircular-w75-3ogi.js";import{V as n}from"./VContainer-DvTbsotR.js";const l={};function f(m,d){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
1
+ import{_ as a,c as t,o,w as e,a as r}from"./index-LhNzkzAh.js";import{V as s,a as c}from"./VRow-DJ0NB63-.js";import{V as i}from"./VProgressCircular-qK6p5X_Y.js";import{V as n}from"./VContainer-74Dnn8Ux.js";const l={};function f(m,_){return o(),t(n,{class:"fill-height",fuild:""},{default:e(()=>[r(s,{align:"center",justify:"center",dense:""},{default:e(()=>[r(c,{cols:"12",sm:"12",md:"12",lg:"12",class:"text-center"},{default:e(()=>[r(i,{color:"primary",indeterminate:"",size:108})]),_:1})]),_:1})]),_:1})}const g=a(l,[["render",f]]);export{g as L};
@@ -1 +1 @@
1
- import{u as i,d as c,c as n,w as t,o as l,a as e,e as m,t as p}from"./index-I1VDlN4g.js";import{V as u}from"./VContainer-DvTbsotR.js";import{V as d,a as f}from"./VRow-BF35mT1S.js";import{V as g}from"./VProgressCircular-w75-3ogi.js";/* empty css */import"./tag-BnSYRTcD.js";const V={class:"ma-5"},k={__name:"LoginCallbackView",props:{redirectUrl:String},setup(o){const r=o,a=i();return c(()=>{a.completeLogin(r.redirectUrl)}),(s,_)=>(l(),n(u,{class:"fill-height",fluid:""},{default:t(()=>[e(d,{align:"center",justify:"center"},{default:t(()=>[e(f,{cols:"auto",class:"text-center"},{default:t(()=>[m("h1",V,p(s.$gettext("Attempting to log you in.")),1),e(g,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{k as default};
1
+ import{u as i,d as c,c as n,w as t,o as l,a as e,e as m,t as p}from"./index-LhNzkzAh.js";import{V as u}from"./VContainer-74Dnn8Ux.js";import{V as d,a as f}from"./VRow-DJ0NB63-.js";import{V as g}from"./VProgressCircular-qK6p5X_Y.js";/* empty css */import"./tag-3cfI1_f7.js";const V={class:"ma-5"},k={__name:"LoginCallbackView",props:{redirectUrl:String},setup(o){const r=o,a=i();return c(()=>{a.completeLogin(r.redirectUrl)}),(s,_)=>(l(),n(u,{class:"fill-height",fluid:""},{default:t(()=>[e(d,{align:"center",justify:"center"},{default:t(()=>[e(f,{cols:"auto",class:"text-center"},{default:t(()=>[m("h1",V,p(s.$gettext("Attempting to log you in.")),1),e(g,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{k as default};
@@ -1 +1 @@
1
- import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-I1VDlN4g.js";import{V as f,a as p}from"./VRow-BF35mT1S.js";import{V as _}from"./VProgressCircular-w75-3ogi.js";import{V as d}from"./VContainer-DvTbsotR.js";/* empty css */import"./tag-BnSYRTcD.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
1
+ import{u as s,b as r,d as i,c as n,o as c,w as t,a as e,e as l,t as u,f as m}from"./index-LhNzkzAh.js";import{V as f,a as p}from"./VRow-DJ0NB63-.js";import{V as _}from"./VProgressCircular-qK6p5X_Y.js";import{V as d}from"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";const g={class:"ma-5"},A={__name:"LoginView",setup(V){const a=s(),{$gettext:o}=r();return i(()=>a.login()),(h,x)=>(c(),n(d,{class:"fill-height",fluid:""},{default:t(()=>[e(f,{align:"center",justify:"center"},{default:t(()=>[e(p,{cols:"auto",class:"text-center"},{default:t(()=>[l("h1",g,u(m(o)("Attempting to log you in.")),1),e(_,{color:"primary",indeterminate:"",size:128,width:12,"align-self":"center"})]),_:1})]),_:1})]),_:1}))}};export{A as default};
@@ -1 +1 @@
1
- .v-card-text[data-v-0050ed0f]{padding:0}.emails[data-v-0050ed0f]{margin-top:150px}.clickable[data-v-0050ed0f]{cursor:pointer}.v-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}}
1
+ .v-card-text[data-v-90e0691b]{padding:0}.emails[data-v-90e0691b]{margin-top:150px}.clickable[data-v-90e0691b]{cursor:pointer}.v-skeleton-loader{align-items:center;background:rgb(var(--v-theme-surface));border-radius:4px;display:flex;flex-wrap:wrap;position:relative;vertical-align:top}.v-skeleton-loader__actions{justify-content:end}.v-skeleton-loader .v-skeleton-loader__ossein{height:100%}.v-skeleton-loader .v-skeleton-loader__avatar,.v-skeleton-loader .v-skeleton-loader__button,.v-skeleton-loader .v-skeleton-loader__chip,.v-skeleton-loader .v-skeleton-loader__divider,.v-skeleton-loader .v-skeleton-loader__heading,.v-skeleton-loader .v-skeleton-loader__image,.v-skeleton-loader .v-skeleton-loader__ossein,.v-skeleton-loader .v-skeleton-loader__text{background:rgba(var(--v-theme-on-surface),var(--v-border-opacity))}.v-skeleton-loader .v-skeleton-loader__list-item,.v-skeleton-loader .v-skeleton-loader__list-item-avatar,.v-skeleton-loader .v-skeleton-loader__list-item-text,.v-skeleton-loader .v-skeleton-loader__list-item-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-two-line,.v-skeleton-loader .v-skeleton-loader__list-item-three-line,.v-skeleton-loader .v-skeleton-loader__list-item-avatar-three-line{border-radius:4px}.v-skeleton-loader__bone{align-items:center;border-radius:inherit;display:flex;flex:1 1 100%;flex-wrap:wrap;overflow:hidden;position:relative}.v-skeleton-loader__bone:after{animation:loading 1.5s infinite;background:linear-gradient(90deg,rgba(var(--v-theme-surface),0),rgba(var(--v-theme-surface),.3),rgba(var(--v-theme-surface),0));transform:translate(-100%);z-index:1}.v-skeleton-loader__bone:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%}.v-skeleton-loader__avatar{border-radius:50%;flex:0 1 auto;margin:8px 16px;max-height:48px;min-height:48px;height:48px;max-width:48px;min-width:48px;width:48px}.v-skeleton-loader__avatar+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__avatar+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__avatar+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__button{border-radius:4px;height:36px;margin:16px;max-width:64px}.v-skeleton-loader__button+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__button+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__button+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__chip{border-radius:16px;margin:16px;height:32px;max-width:96px}.v-skeleton-loader__chip+.v-skeleton-loader__bone{flex:1 1 auto;margin-inline-start:0}.v-skeleton-loader__chip+.v-skeleton-loader__sentences>.v-skeleton-loader__text,.v-skeleton-loader__chip+.v-skeleton-loader__paragraph>.v-skeleton-loader__text{margin-inline-start:0}.v-skeleton-loader__date-picker{border-radius:inherit}.v-skeleton-loader__date-picker .v-skeleton-loader__list-item:first-child .v-skeleton-loader__text{max-width:88px;width:20%}.v-skeleton-loader__date-picker .v-skeleton-loader__heading{max-width:256px;width:40%}.v-skeleton-loader__date-picker-days{flex-wrap:wrap;margin:16px}.v-skeleton-loader__date-picker-days .v-skeleton-loader__avatar{border-radius:4px;margin:4px;max-width:100%}.v-skeleton-loader__date-picker-options{flex-wrap:nowrap}.v-skeleton-loader__date-picker-options .v-skeleton-loader__text{flex:1 1 auto}.v-skeleton-loader__divider{border-radius:1px;height:2px}.v-skeleton-loader__heading{border-radius:12px;margin:16px;height:24px}.v-skeleton-loader__heading+.v-skeleton-loader__subtitle{margin-top:-16px}.v-skeleton-loader__image{height:150px;border-radius:0}.v-skeleton-loader__card .v-skeleton-loader__image{border-radius:0}.v-skeleton-loader__list-item{margin:16px}.v-skeleton-loader__list-item .v-skeleton-loader__text{margin:0}.v-skeleton-loader__table-thead{justify-content:space-between}.v-skeleton-loader__table-thead .v-skeleton-loader__heading{margin-top:16px;max-width:16px}.v-skeleton-loader__table-tfoot{flex-wrap:nowrap}.v-skeleton-loader__table-tfoot>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-top:16px}.v-skeleton-loader__table-row{align-items:baseline;margin:0 8px;justify-content:space-evenly;flex-wrap:nowrap}.v-skeleton-loader__table-row>.v-skeleton-loader__text.v-skeleton-loader__bone{margin-inline:8px}.v-skeleton-loader__table-row+.v-skeleton-loader__divider{margin:0 16px}.v-skeleton-loader__table-cell{align-items:center;display:flex;height:48px;width:88px}.v-skeleton-loader__table-cell .v-skeleton-loader__text{margin-bottom:0}.v-skeleton-loader__subtitle{max-width:70%}.v-skeleton-loader__subtitle>.v-skeleton-loader__text{height:16px;border-radius:8px}.v-skeleton-loader__text{border-radius:6px;margin:16px;height:12px}.v-skeleton-loader__text+.v-skeleton-loader__text{margin-top:-8px;max-width:50%}.v-skeleton-loader__text+.v-skeleton-loader__text+.v-skeleton-loader__text{max-width:70%}.v-skeleton-loader--boilerplate .v-skeleton-loader__bone:after{display:none}.v-skeleton-loader--is-loading{overflow:hidden}.v-skeleton-loader--tile,.v-skeleton-loader--tile .v-skeleton-loader__bone{border-radius:0}@keyframes loading{to{transform:translate(100%)}}
@@ -0,0 +1 @@
1
+ import{I as te,J as le,al as se,K as oe,h as O,a5 as ne,e as d,v as ie,am as re,y as X,_ as ue,b as de,n as ce,g as h,B as me,d as ve,Z as pe,z as J,l as _,a as s,c as v,w as b,m as M,aQ as ge,f as g,t as m,F as U,s as fe,q as ke,o as r}from"./index-LhNzkzAh.js";import{a as x}from"./webmail-B2IUjaxM.js";import{V as he}from"./VToolbar-BxX3W2kR.js";import{V as j}from"./VCheckbox-dr7UFjl4.js";import{V as be}from"./VTextField-DKbr4H5w.js";import{l as xe,p as ye,V as y,c as I}from"./VAvatar-DbuoZWmf.js";import{V as _e}from"./VMenu-nv0XOgg0.js";import{V as Ve,a as $}from"./forwardRefs-CpzzjgpX.js";import{V as q}from"./VSpacer-CoJVmx8k.js";import{a as R,V as Ce}from"./VCard-DzjUT5OP.js";import{u as we}from"./VProgressCircular-qK6p5X_Y.js";import{a as Se,u as Be,m as Me}from"./tag-3cfI1_f7.js";import{V as $e}from"./VAlert-4r6LxKtg.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VInput-DVKUObZe.js";import"./ssrBoot-BxIQ9ccA.js";/* empty css */const Le={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function Ie(a){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return d("div",{class:X(["v-skeleton-loader__bone",`v-skeleton-loader__${a}`])},[o])}function D(a){const[o,e]=a.split("@");return Array.from({length:e}).map(()=>z(o))}function z(a){let o=[];if(!a)return o;const e=Le[a];if(a!==e){if(a.includes(","))return K(a);if(a.includes("@"))return D(a);e.includes(",")?o=K(e):e.includes("@")?o=D(e):e&&o.push(z(e))}return[Ie(a,o)]}function K(a){return a.replace(/\s/g,"").split(",").map(z)}const ze=le({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Me(),...ye(),...re()},"VSkeletonLoader"),Ae=te()({name:"VSkeletonLoader",props:ze(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:V,backgroundColorStyles:B}=we(()=>a.color),{dimensionStyles:A}=Se(a),{elevationClasses:E}=xe(a),{themeClasses:p}=se(a),{t:i}=oe(),C=O(()=>z(ne(a.type).join(",")));return Be(()=>{var n;const f=!e.default||a.loading,w=a.boilerplate||!f?{}:{ariaLive:"polite",ariaLabel:i(a.loadingText),role:"alert"};return d("div",ie({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":a.boilerplate},p.value,V.value,E.value],style:[B.value,f?A.value:{}]},w),[f?C.value:(n=e.default)==null?void 0:n.call(e)])}),{}}}),Ee={key:2,class:"d-flex align-center"},Ne={class:"text-caption mr-2"},Te={key:1,class:"emails position-absolute top-0 bottom-0 w-100 overflow-y-auto"},Je=["onClick"],Pe={class:"mt-1 text-grey"},Fe=["title"],Ue={key:1},je={class:"text-right"},qe={class:"mt-1"},Re={class:"text-grey"},De={__name:"EmailList",props:{mailbox:{type:String,default:"INBOX"}},setup(a){const o=a,{$gettext:e}=de(),{displayNotification:V,reloadMailboxCounters:B}=ce(),A=ke(),E=me(),p=h(!1),i=h({}),C=h(1),f=h(""),w=h(!1),n=h([]),c=h(!1);let P=null;const S=O(()=>E.query.mailbox||"INBOX"),G=u=>{A.push({name:"EmailView",query:{mailbox:o.mailbox,mailid:u}})},k=()=>{i.value={},p.value=!0,x.getMailboxEmails(o.mailbox,{page:C.value,search:f.value}).then(u=>{i.value=u.data,p.value=!1}).catch(()=>{p.value=!1})},N=()=>{k()},Q=()=>{k()},W=u=>{u?n.value=i.value.results.map(t=>t.imapid):n.value=[]},Z=()=>{n.value.length&&(c.value=!0,x.deleteSelection(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) deleted")}),k(),B()}))},H=()=>{n.value.length&&(c.value=!0,x.markSelectionAsJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as junk")}),N()}))},Y=()=>{n.value.length&&(c.value=!0,x.markSelectionAsNotJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as not junk")}),N()}))},L=u=>{n.value.length&&(c.value=!0,x.flagSelection(S.value,n.value,u).then(()=>{c.value=!1,n.value=[],V({msg:e("Message(s) flagged")}),k(),B()}))},ee=()=>{p.value=!0,x.emptyUserMailbox(S.value).then(()=>{i.value={},p.value=!1,B()})},ae=async u=>{const t=u.flagged?"unflagged":"flagged";await x.flagSelection(S.value,[u.imapid],t),u.flagged=t==="flagged"};return ve(()=>{P=setInterval(N,300*1e3)}),pe(()=>{clearInterval(P)}),J(()=>o.mailbox,()=>{k()},{immediate:!0}),J(n,()=>{n.value.length?w.value=!0:w.value=!1}),J(C,()=>{k()}),(u,t)=>{var F;return r(),_(U,null,[s(R,{class:"mt-6 mb-2 mx-1"},{default:b(()=>[s(he,{color:"white",flat:""},{default:b(()=>[s(j,{modelValue:w.value,"onUpdate:modelValue":[t[0]||(t[0]=l=>w.value=l),W],class:"mr-4","hide-details":""},null,8,["modelValue"]),s(be,{modelValue:f.value,"onUpdate:modelValue":t[1]||(t[1]=l=>f.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:g(e)("Search in messages"),variant:"outlined","single-line":"",flat:"","hide-details":"",density:"compact",class:"flex-grow-0 w-33 mr-4",clearable:"","onClick:clear":k,onKeyup:ge(Q,["enter"])},null,8,["modelValue","placeholder"]),s(y,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Z},null,8,["loading"]),u.$route.params.mailbox!=="Junk"?(r(),v(y,{key:0,class:"ml-2",color:"warning",variant:"tonal",icon:"mdi-fire",size:"small",loading:c.value,onClick:H},null,8,["loading"])):(r(),v(y,{key:1,class:"ml-2",color:"success",variant:"tonal",icon:"mdi-thumb-up",size:"small",loading:c.value,onClick:Y},null,8,["loading"])),s(y,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:b(()=>[s(I,{icon:"mdi-cog"}),s(_e,{activator:"parent"},{default:b(()=>[s(Ve,{density:"compact"},{default:b(()=>[s($,{title:g(e)("Mark as read"),"prepend-icon":"mdi-eye",onClick:t[2]||(t[2]=()=>L("read"))},null,8,["title"]),s($,{title:g(e)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:t[3]||(t[3]=()=>L("unread"))},null,8,["title"]),s($,{title:g(e)("Mark as followed"),"prepend-icon":"mdi-star",onClick:t[4]||(t[4]=()=>L("flagged"))},null,8,["title"]),s($,{title:g(e)("Mark as unfollowed"),"prepend-icon":"mdi-star-outline",onClick:t[5]||(t[5]=()=>L("unflagged"))},null,8,["title"]),u.$route.params.mailbox!=="Trash"?(r(),v($,{key:0,title:g(e)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:ee},null,8,["title"])):M("",!0)]),_:1})]),_:1})]),_:1}),s(q),i.value.results?(r(),_("div",Ee,[d("div",Ne,m(i.value.first_index)+"-"+m(i.value.last_index)+" "+m(g(e)("on"))+" "+m(i.value.count),1),d("div",null,[s(y,{icon:"mdi-chevron-left",size:"x-small",disabled:i.value.prev_page===null,onClick:t[6]||(t[6]=l=>C.value=i.value.prev_page)},null,8,["disabled"]),s(y,{icon:"mdi-chevron-right",size:"x-small",disabled:i.value.next_page===null,onClick:t[7]||(t[7]=l=>C.value=i.value.next_page)},null,8,["disabled"])])])):M("",!0)]),_:1})]),_:1}),p.value?(r(),v(Ae,{key:0,type:"card@2"})):(r(),_("div",Te,[(F=i.value.results)!=null&&F.length?(r(!0),_(U,{key:0},fe(i.value.results,l=>(r(),v(R,{key:l.imapid,density:"compact",class:"mb-2 mx-1"},{default:b(()=>[s(Ce,{class:X(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:b(()=>[s(j,{modelValue:n.value,"onUpdate:modelValue":t[8]||(t[8]=T=>n.value=T),value:l.imapid,"hide-details":""},null,8,["modelValue","value"]),s(y,{icon:l.flagged?"mdi-star":"mdi-star-outline",variant:"flat",onClick:T=>ae(l)},null,8,["icon","onClick"]),d("div",{class:"ml-4 clickable",onClick:T=>G(l.imapid)},[d("div",null,m(l.subject),1),d("div",Pe,[l.from_address.name?(r(),_("span",{key:0,title:l.from_address.address},m(l.from_address.name),9,Fe)):(r(),_("span",Ue,m(l.from_address.address),1))])],8,Je),s(q),d("div",je,[d("div",null,m(l.date),1),d("div",qe,[l.answered?(r(),v(I,{key:0,icon:"mdi-reply-outline"})):M("",!0),l.forwarded?(r(),v(I,{key:1,icon:"mdi-share-outline"})):M("",!0),l.attachments?(r(),v(I,{key:2,icon:"mdi-paperclip"})):M("",!0),d("span",Re,m(u.$filesize(l.size)),1)])])]),_:2},1032,["class"])]),_:2},1024))),128)):(r(),v($e,{key:1,class:"mt-4",type:"info",text:g(e)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},Ke=ue(De,[["__scopeId","data-v-90e0691b"]]),Oe={class:"position-relative h-100"},Xe={class:"text-h5 ml-4"},ma={__name:"MailboxView",setup(a){return(o,e)=>(r(),_("div",Oe,[d("div",Xe,m(o.$gettext("Webmail")),1),s(Ke,{mailbox:o.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{ma as default};
@@ -0,0 +1 @@
1
+ import{a as r,b as n,V as i}from"./forwardRefs-CpzzjgpX.js";import{c as u}from"./VAvatar-DbuoZWmf.js";import{c,o as a,w as t,l as m,F as p,s as d,a as l,k as f,t as k}from"./index-LhNzkzAh.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(_,V)=>(a(),c(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,s)=>(a(),c(r,{key:s,value:e,onClick:b=>e.onClick(o.obj)},{prepend:t(()=>[l(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[l(n,null,{default:t(()=>[f(k(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
@@ -0,0 +1 @@
1
+ import{b as j,u as P,n as W,g as p,h as x,B as J,j as A,l as f,e as M,a as s,t as _,f as u,c as y,m as b,w as n,F as R,s as B,q as K,o as i,k as H,i as E}from"./index-LhNzkzAh.js";import{u as O}from"./amavis-DCVJxuui.js";import{_ as X}from"./ConfirmDialog-CcPrCKuI.js";import{a as h}from"./amavis-BhzV4rgf.js";import{V as Y}from"./VToolbar-BxX3W2kR.js";import{V as Z}from"./VAlert-4r6LxKtg.js";import{V as k,c as ee}from"./VAvatar-DbuoZWmf.js";import{V as ae}from"./VMenu-nv0XOgg0.js";import{V as te,a as N}from"./forwardRefs-CpzzjgpX.js";import{a as z,V as se}from"./VRow-DJ0NB63-.js";import{a as le,V as re}from"./VRadioGroup-CbiPLy0t.js";import"./permissions-DQjAcO9S.js";import"./parameters-C8IYEP7q.js";import"./VCard-DzjUT5OP.js";import"./tag-3cfI1_f7.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./VDialog-DmTGCGR0.js";import"./VProgressCircular-qK6p5X_Y.js";import"./ssrBoot-BxIQ9ccA.js";import"./VSelectionControl-C-6A4us5.js";import"./VInput-DVKUObZe.js";const ie={class:"text-h5 ml-4"},ne={class:"bg-white rounded-lg pa-4 position-relative mt-6 h-100"},oe={key:0},ue={key:1},me={class:"pa-4 bg-grey-lighten-3 rounded"},ce=["innerHTML"],Ne={__name:"MessageView",async setup(de){let o,V;const e=J(),C=K(),{$gettext:t}=j(),q=P(),{displayNotification:w}=W(),m=p(null),v=p(null),L=p(null),r=p(!1),c=p(null),U=x(()=>m.value?m.value:c.value.headers),d=x(()=>{var a;return((a=e.query)==null?void 0:a.secret_id)!==void 0});if(d.value)p(!1);else{const{manualLearningEnabled:a}=([o,V]=A(()=>O()),o=await o,V(),o)}const D=()=>{C.go(-1)},T=async()=>{if(m.value){m.value=null;return}r.value=!0;try{const a=await h.getMessageHeaders(e.params.mailid,e.params.rcpt,e.query.secret_id);m.value=a.data.headers}finally{r.value=!1}},F=async()=>{r.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{(await h.releaseMessage(e.params.mailid,a)).data.status==="pending"?w({msg:t("Release request sent")}):w({msg:t("Message released")})}finally{r.value=!1}},I=async()=>{r.value=!0;const a={rcpt:e.params.rcpt,mailid:e.params.mailid};d.value&&(a.secret_id=e.query.secret_id);try{await h.deleteMessage(e.params.mailid,a),w({msg:t("Message deleted")}),d.value||C.push({name:"QuarantineView"})}finally{r.value=!1}},S=async(a,g)=>{manualLearningEnabled.value&&q.authUser.role!==E.USER&&(v.value=q.authUser.role===E.SUPER_ADMIN?"global":"domain",await L.value.open(t("Learning database"),t("Which database should be used for this learning:"),{width:600,noconfirm:!0})),r.value=!0;const l={type:a,selection:[{rcpt:e.params.rcpt,mailid:e.params.mailid}]};v.value&&(l.database=v.value);try{await h.markMessageSelection(l),w({msg:g})}finally{r.value=!1}},G=async()=>{await S("spam",t("Message marked as spam"))},Q=async()=>{await S("ham",t("Message marked as non-spam"))},$=([o,V]=A(()=>h.getMessageContent(e.params.mailid,e.params.rcpt,e.query.secret_id)),o=await o,V(),o);return c.value=$.data,(a,g)=>(i(),f("div",null,[M("div",ie,_(u(t)("Quarantined message")),1),M("div",ne,[s(Y,{color:"white"},{default:n(()=>[d.value?b("",!0):(i(),y(k,{key:0,icon:"mdi-arrow-left",size:"small",variant:"flat",onClick:D})),s(k,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",title:u(t)("Release message"),loading:r.value,onClick:F},null,8,["title","loading"]),s(k,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",title:u(t)("Delete message"),loading:r.value,onClick:I},null,8,["title","loading"]),d.value?b("",!0):(i(),f(R,{key:1},[a.manualLearningEnabled?(i(),y(k,{key:0,class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:n(()=>[s(ee,{icon:"mdi-cog"}),s(ae,{activator:"parent"},{default:n(()=>[s(te,{density:"compact"},{default:n(()=>[s(N,{title:u(t)("Mark as spam"),onClick:G},null,8,["title"]),s(N,{title:u(t)("Mark as non-spam"),onClick:Q},null,8,["title"])]),_:1})]),_:1})]),_:1})):b("",!0)],64)),s(k,{class:"ml-2",variant:"tonal",size:"small",loading:r.value,onClick:T},{default:n(()=>[m.value?(i(),f("span",ue,_(u(t)("Hide full headers")),1)):(i(),f("span",oe,_(u(t)("View full headers")),1))]),_:1},8,["loading"])]),_:1}),c.value.qtype?(i(),y(Z,{key:0,title:c.value.qtype,text:c.value.qreason,type:"error",variant:"tonal",class:"mb-4",density:"compact"},null,8,["title","text"])):b("",!0),M("div",me,[(i(!0),f(R,null,B(U.value,l=>(i(),y(se,{key:l.name,"no-gutters":""},{default:n(()=>[s(z,{cols:"2",class:"font-weight-bold"},{default:n(()=>[H(_(l.name),1)]),_:2},1024),s(z,{cols:"10"},{default:n(()=>[H(_(l.value),1)]),_:2},1024)]),_:2},1024))),128))]),M("div",{class:"mt-4",innerHTML:c.value.body},null,8,ce)]),s(u(X),{ref_key:"learningRecipientRef",ref:L},{default:n(()=>[s(le,{modelValue:v.value,"onUpdate:modelValue":g[0]||(g[0]=l=>v.value=l),class:"mt-4","hide-details":""},{default:n(()=>[(i(!0),f(R,null,B(a.learningRecipients,l=>(i(),y(re,{key:l.value,value:l.value,label:l.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]))}};export{Ne as default};
@@ -0,0 +1 @@
1
+ import{b as T,g as l,c as b,w as a,a as s,e as M,t as m,k as _,f as h,o as v,_ as $,l as D,F}from"./index-LhNzkzAh.js";import{l as S}from"./logs-BuItINky.js";import{d as N}from"./index-DuzUMVLM.js";import{V,a as B}from"./VToolbar-BxX3W2kR.js";import{V as C}from"./VTextField-DKbr4H5w.js";import{V as I}from"./VDataTableServer-BqvNcIdw.js";import{a as P}from"./VCard-DzjUT5OP.js";import"./tag-3cfI1_f7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VInput-DVKUObZe.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VDataTable-CL7yHvG7.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";const U=["title"],q={__name:"MessageList",setup(k){const{$gettext:t}=T(),p=[{title:t("Queue ID"),key:"queue_id"},{title:t("Date"),key:"date",width:"20%"},{title:t("Status"),key:"status"},{title:t("To"),key:"rcpt"},{title:t("From"),key:"sender"}],w=[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"}],c=l(!0),d=l([]),i=l(""),u=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:x}){let f;e.length&&(f=(e[0].order==="desc"?"-":"")+e[0].key);const y={ordering:f,page:o,page_size:r,search:x};c.value=!0,S.getMessages(y).then(g=>{d.value=g.data.results,u.value=g.data.count,c.value=!1})}return n=N(n,500),(o,r)=>(v(),b(P,{class:"mt-6"},{default:a(()=>[s(I,{headers:p,items:d.value,search:i.value,class:"elevation-0","items-length":u.value,"items-per-page-options":w,"onUpdate:options":n},{top:a(()=>[s(V,{flat:"",color:"white"},{default:a(()=>[s(C,{modelValue:i.value,"onUpdate:modelValue":r[0]||(r[0]=e=>i.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:h(t)("Search"),variant:"outlined","hide-details":"",density:"compact",class:"flex-grow-0 w-33"},null,8,["modelValue","placeholder"])]),_:1})]),"item.date":a(({item:e})=>[_(m(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[M("span",{title:e.sender},m(o.$truncate(e.sender,50)),9,U)]),_:2},1032,["items","search","items-length"])]),_:1}))}},z={__name:"MessagesView",setup(k){return(t,p)=>(v(),D(F,null,[s(V,{flat:""},{default:a(()=>[s(B,null,{default:a(()=>[_(m(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(q))],64))}},le=$(z,[["__scopeId","data-v-9c91b6c8"]]);export{le as default};
@@ -0,0 +1 @@
1
+ import{C as c,b as y,n as U,g as s,r as j,c as z,o as C,w as o,a as t,f as g,v as $,k as v,t as _,_ as I,l as L}from"./index-LhNzkzAh.js";import{_ as P}from"./MenuItems-BqIZW5av.js";import{V as q}from"./VDataTable-CL7yHvG7.js";import{V as k}from"./VMenu-nv0XOgg0.js";import{V as p}from"./VAvatar-DbuoZWmf.js";import{V as T,a as E}from"./VToolbar-BxX3W2kR.js";import{V as F}from"./forwardRefs-CpzzjgpX.js";import{V as B}from"./VSpacer-CoJVmx8k.js";import{V as G}from"./VTextField-DKbr4H5w.js";import{a as O}from"./VCard-DzjUT5OP.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VSelect-CxCFMHyF.js";import"./VInput-DVKUObZe.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";import"./ssrBoot-BxIQ9ccA.js";/* empty css */const f="migrations",w={getMigrations(r){return c.get(`/${f}/`,{params:r})},getMigration(r,i){return c.get(`/${f}/${r}/`,i)},deleteMigration(r){return c.delete(`/${f}/${r}/`)}},H={__name:"MigrationsList",setup(r){const{$gettext:i}=y(),V=U(),n=s([]),S=[{title:i("Provider"),value:"provider.name"},{title:i("Old account"),value:"username"},{title:i("New account"),value:"mailbox"},{title:i("Actions"),value:"actions",sortable:!1,align:"right"}],x=s([]),u=s(!1),m=s(""),M=s({}),b=s(0);function A(l){w.deleteMigration(l.id).then(()=>{V.displayNotification({msg:i("Migration deleted")}),n.value=n.value.filter(a=>a.id!==l.id)})}function h(l){u.value=!0;let a={};w.getMigrations(a).then(d=>{n.value=d.data,b.value=n.value.length}).finally(()=>u.value=!1)}function D(){const l=[];return l.push({label:i("Delete"),icon:"mdi-delete-outline",onClick:A(),color:"red"}),l}return h(),(l,a)=>{const d=j("router-link");return C(),z(O,{class:"mt-6"},{default:o(()=>[t(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=e=>x.value=e),options:M.value,"onUpdate:options":a[3]||(a[3]=e=>M.value=e),headers:S,items:n.value,search:m.value,"server-items-length":b.value,loading:u.value,"show-select":""},{top:o(()=>[t(T,{color:"white",flat:""},{default:o(()=>[t(k,{location:"bottom"},{activator:o(({props:e})=>[t(p,$(e,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:o(()=>[v(_(g(i)("Actions")),1)]),_:2},1040)]),default:o(()=>[t(F,{density:"compact"})]),_:1}),t(p,{variant:"text",icon:"mdi-reload",onClick:a[0]||(a[0]=e=>h())}),t(B),t(G,{modelValue:m.value,"onUpdate:modelValue":a[1]||(a[1]=e=>m.value=e),"prepend-inner-icon":"mdi-magnify",placeholder:"Search",filled:"",variant:"outlined",density:"compact","hide-details":""},null,8,["modelValue"])]),_:1})]),"item.mailbox":o(({item:e})=>[t(d,{to:{name:"AccountDetail",params:{id:e.mailbox.user}}},{default:o(()=>[v(_(e.mailbox.full_address),1)]),_:2},1032,["to"])]),"item.actions":o(({item:e})=>[t(k,{"offset-y":""},{activator:o(({props:N})=>[t(p,$({icon:"mdi-dots-horizontal"},N),null,16)]),default:o(()=>[t(g(P),{items:D(),object:e},null,8,["items","object"])]),_:2},1024)]),_:2},1032,["modelValue","options","items","search","server-items-length","loading"])]),_:1})}}},J={__name:"MigrationsView",setup(r){const{$gettext:i}=y();return(V,n)=>(C(),L("div",null,[t(T,{flat:""},{default:o(()=>[t(E,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),t(B)]),_:1}),t(H)]))}},ft=I(J,[["__scopeId","data-v-5f22702f"]]);export{ft as default};
@@ -1 +1 @@
1
- import{k as B,b as P,p as S,h as E,g as p,L as w,m as u,a as c,w as d,F as V,G as y,o as a,c as i,J as N,l as I,t as h,n as L,e as j,f as z}from"./index-I1VDlN4g.js";import{_ as G}from"./HtmlEditor-CJ9umKeO.js";import{V as O,a as W,b as $,c as A}from"./VTabs-B1fyVn4M.js";import{V as D}from"./VAvatar-Lpb-Dion.js";import{V as H}from"./VContainer-DvTbsotR.js";import{a as J,V as M}from"./VCard-er_isjE_.js";import{V as q}from"./VSwitch-Cs1NQrmk.js";import{V as K}from"./VSelect-Cs4ARbAS.js";import{V as Q}from"./VTextarea-DnOMpe0Q.js";import{V as R}from"./VColorPicker-BAjGDsXv.js";import{V as X}from"./VTextField-BdyvgvkG.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=P(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),v=p(0),r=p({}),l=p({}),f=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{f.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=!!t),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},f.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&f.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(O,{modelValue:v.value,"onUpdate:modelValue":n[0]||(n[0]=o=>v.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i($,{key:e,color:"primary",class:N(f.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c(W,{modelValue:v.value,"onUpdate:modelValue":n[1]||(n[1]=o=>v.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(A,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(J,null,{default:d(()=>[c(M,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(q,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):L("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(z(G),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(D,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=B(ee,[["__scopeId","data-v-ddc29a18"]]);export{ce as P};
1
+ import{_ as B,b as P,n as S,h as E,g as p,z as w,l as u,a as c,w as d,F as V,s as y,o as a,c as i,y as N,k as I,t as h,m as z,e as j,f as L}from"./index-LhNzkzAh.js";import{_ as O}from"./HtmlEditor-BWRdelVw.js";import{V as W,a as $,b as A,c as D}from"./VTabs-aS8WSL9I.js";import{V as G}from"./VAvatar-DbuoZWmf.js";import{V as H}from"./VContainer-74Dnn8Ux.js";import{a as M,V as q}from"./VCard-DzjUT5OP.js";import{V as J}from"./VSwitch-DPnjPQuU.js";import{V as K}from"./VSelect-CxCFMHyF.js";import{V as Q}from"./VTextarea-BttkFsM4.js";import{V as R}from"./VColorPicker-ByGpCW5O.js";import{V as X}from"./VTextField-DKbr4H5w.js";const Y={key:0},Z={class:"m-label"},ee={__name:"ParametersForm",props:{app:{type:String,default:""},structure:{type:Array,default:null},values:{type:Object,default:null},saveFunction:{type:Function,default:null}},emits:["success"],setup(x,{emit:F}){const m=x,U=F,{$gettext:g}=P(),{displayNotification:_}=S(),b=E(()=>m.structure.filter(s=>k(s))),v=p(0),r=p({}),l=p({}),f=p([]);w(()=>m.values,s=>{s&&(l.value={...s})}),w(l,()=>{f.value=[]});function k(s){if(s.display==="")return!0;let n=!0;return s.display.split("&").forEach(o=>{let[e,t]=o.split("=");(t==="true"||t==="false")&&(t=!!t),n&=l.value[e]===t}),n}function C(s){return s.filter(n=>k(n))}async function T(){r.value={},f.value=[];try{await m.saveFunction(m.app,l.value),_({msg:g("Parameters updated")}),U("success",l.value)}catch(s){_({msg:g("Could not save parameters"),type:"error"}),r.value=s.response.data,Object.keys(r.value).forEach(n=>{for(let o=0;o<m.structure.length;o++)m.structure[o].parameters.filter(t=>t.name===n).length>0&&f.value.push(o)})}}return(s,n)=>(a(),u(V,null,[c(W,{modelValue:v.value,"onUpdate:modelValue":n[0]||(n[0]=o=>v.value=o),"bg-color":"white"},{default:d(()=>[(a(!0),u(V,null,y(b.value,(o,e)=>(a(),i(A,{key:e,color:"primary",class:N(f.value.includes(e)?"error_tab":"")},{default:d(()=>[I(h(o.label),1)]),_:2},1032,["class"]))),128))]),_:1},8,["modelValue"]),c($,{modelValue:v.value,"onUpdate:modelValue":n[1]||(n[1]=o=>v.value=o)},{default:d(()=>[(a(!0),u(V,null,y(b.value,o=>(a(),i(D,{key:o.label},{default:d(()=>[c(H,{fluid:"",class:"pa-0"},{default:d(()=>[c(M,null,{default:d(()=>[c(q,null,{default:d(()=>[(a(!0),u(V,null,y(C(o.parameters),e=>(a(),u("div",{key:e.name,class:"my-4"},[e.widget==="SeparatorField"?(a(),u("h2",Y,h(e.label),1)):e.widget==="BooleanField"?(a(),u(V,{key:1},[e.widget==="BooleanField"?(a(),i(J,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,label:e.label,hint:e.help_text,error:r.value[e.name]!==void 0,color:"primary",density:"compact","error-messages":r.value[e.name],"persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","label","hint","error","error-messages"])):z("",!0)],64)):(a(),u(V,{key:2},[j("label",Z,h(e.label),1),e.widget==="ChoiceField"?(a(),i(K,{key:0,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,items:e.choices,"item-title":"text",hint:e.help_text,"persistent-hint":"",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items","hint"])):e.widget==="TextareaField"?(a(),i(Q,{key:1,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"])):e.widget==="HTMLField"?(a(),i(L(O),{key:2,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t},null,8,["modelValue","onUpdate:modelValue"])):e.widget==="ColorPicker"?(a(),i(R,{key:3,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,mode:"hexa",hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages"])):(a(),i(X,{key:4,modelValue:l.value[e.name],"onUpdate:modelValue":t=>l.value[e.name]=t,hint:e.help_text,"persistent-hint":"",error:r.value[e.name]!==void 0,"error-messages":r.value[e.name],type:e.widget==="PasswordField"?"password":"text",density:"compact",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","hint","error","error-messages","type"]))],64))]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,["modelValue"]),c(G,{icon:"mdi-content-save",class:"ma-5",position:"fixed",location:"bottom right",color:"green",size:"large",onClick:T})],64))}},ce=B(ee,[["__scopeId","data-v-ddc29a18"]]);export{ce as P};
@@ -0,0 +1 @@
1
+ import{_ as v,b as _,g as r,h as d,z as V,B as g,l as h,a as e,w as u,f as c,o as x,k as b,t as w}from"./index-LhNzkzAh.js";import{P}from"./ParametersForm-3qXttTuQ.js";import{p as o}from"./parameters-C8IYEP7q.js";import{V as A,a as T}from"./VToolbar-BxX3W2kR.js";import"./HtmlEditor-BWRdelVw.js";import"./VAvatar-DbuoZWmf.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VTabs-aS8WSL9I.js";import"./VWindowItem-Cvqvdegd.js";import"./VChip-CaQvfmkw.js";import"./VMenu-nv0XOgg0.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./VCard-DzjUT5OP.js";import"./VSwitch-DPnjPQuU.js";import"./VInput-DVKUObZe.js";import"./VSelectionControl-C-6A4us5.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VTextarea-BttkFsM4.js";import"./VColorPicker-ByGpCW5O.js";import"./colors-DoZdCu1D.js";import"./VPicker-DnDSWJHJ.js";import"./VSheet-DI6SxLnG.js";const k={__name:"ParametersView",setup(B){const{$gettext:n}=_(),p=g(),s=r(""),i=r([]),m=r({}),f=d(()=>n("Settings: "+s.value));function l(t){o.getUserApplicationStructure(t).then(a=>{i.value=a.data}),o.getUserApplication(t).then(a=>{m.value=a.data.params,s.value=a.data.label})}return V(p,t=>{l(t.params.app)}),l(p.params.app),(t,a)=>(x(),h("div",null,[e(A,{flat:""},{default:u(()=>[e(T,null,{default:u(()=>[b(w(f.value),1)]),_:1})]),_:1}),e(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},rt=v(k,[["__scopeId","data-v-3e7380ff"]]);export{rt as default};
@@ -0,0 +1 @@
1
+ import{_ as b,b as g,g as r,h as S,z as h,B as V,l as x,a as e,w as u,f as n,o as P,k as w,t as G}from"./index-LhNzkzAh.js";import{p}from"./parameters-C8IYEP7q.js";import{P as A}from"./ParametersForm-3qXttTuQ.js";import{V as T,a as k}from"./VToolbar-BxX3W2kR.js";import{u as B}from"./global.store-DndbMXYb.js";import{u as N}from"./parameters.store-1cwSP2JP.js";import"./HtmlEditor-BWRdelVw.js";import"./VAvatar-DbuoZWmf.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VTabs-aS8WSL9I.js";import"./VWindowItem-Cvqvdegd.js";import"./VChip-CaQvfmkw.js";import"./VMenu-nv0XOgg0.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./VCard-DzjUT5OP.js";import"./VSwitch-DPnjPQuU.js";import"./VInput-DVKUObZe.js";import"./VSelectionControl-C-6A4us5.js";import"./VSelect-CxCFMHyF.js";import"./VTextField-DKbr4H5w.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VTextarea-BttkFsM4.js";import"./VColorPicker-ByGpCW5O.js";import"./colors-DoZdCu1D.js";import"./VPicker-DnDSWJHJ.js";import"./VSheet-DI6SxLnG.js";const E={__name:"ParametersView",setup($){const{$gettext:c}=g(),f=B(),o=V(),d=N(),s=r([]),i=r({}),m=r(""),_=S(()=>c("Settings: "+m.value));function l(t){p.getGlobalApplicationStructure(t).then(a=>{s.value=a.data}),p.getGlobalApplication(t).then(a=>{i.value=a.data.params,m.value=a.data.label})}function v(t){f.fetchNotifications(),o.params.app==="imap_migration"&&(d.imapMigrationEnabled=t.enabled_imapmigration)}return h(o,t=>{l(t.params.app)}),l(o.params.app),(t,a)=>(P(),x("div",null,[e(T,{flat:""},{default:u(()=>[e(k,null,{default:u(()=>[w(G(_.value),1)]),_:1})]),_:1}),e(n(A),{app:t.$route.params.app,structure:s.value,values:i.value,"save-function":n(p).saveGlobalApplication,onSuccess:v},null,8,["app","structure","values","save-function"])]))}},lt=b(E,[["__scopeId","data-v-6ffadfb6"]]);export{lt as default};
@@ -0,0 +1 @@
1
+ import{u as R,a as T,_ as U,p as N}from"./ProviderGeneralForm-BQU7t3ma.js";import{b as S,n as j,q as A,g as v,z as G,l as k,o as i,a,e as w,w as e,k as u,t as n,f as d,c as y,F as q,B as z}from"./index-LhNzkzAh.js";import{d as F,V as $}from"./VAvatar-DbuoZWmf.js";import{V as b,c as E,a as B,b as D}from"./VExpansionPanels-B7sSTCwd.js";import{V as g,a as m}from"./VRow-DJ0NB63-.js";import"./domains-C2cornvL.js";import"./VTextField-DKbr4H5w.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VAutocomplete-DNKmBvyZ.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./VChip-CaQvfmkw.js";import"./filter-rmxrcjKk.js";import"./VForm-DsRLc-sa.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./VSwitch-DPnjPQuU.js";const L={key:0},O={key:0},H={class:"mt-4 d-flex justify-end"},I={__name:"ProviderForm",props:{provider:{type:Object,default:null}},setup(P){const x=P,{$gettext:r}=S(),c=j(),_=A(),V=R(),s=v({domains:[]}),h=v(0),p=v(),f=v();G(()=>x.provider,t=>{t&&(s.value={...t},s.value.domains||(s.value.domains=[]))},{immediate:!0});async function C(){if(p.value!==void 0){const{valid:t}=await p.value.vFormRef.validate();if(!t)return}if(f.value!==void 0){const{valid:t}=await f.value.vFormRef.validate();if(!t)return}try{const t={...s.value};t.domains=[];for(const o of s.value.domains)o.new_domain?t.domains.push({name:o.name,new_domain:o.new_domain.pk||o.new_domain.id}):t.domains.push(o);await N.patchProvider(s.value.id,t).then(()=>{c.displayNotification({msg:r("Provider updated")}),V.getProviders(),_.push({name:"ProvidersList"})})}catch(t){p.value&&p.value.$refs.observer.setErrors(t.response.data),f.value&&f.value.$refs.observer.setErrors(t.response.data)}}return(t,o)=>(i(),k(q,null,[a(D,{modelValue:h.value,"onUpdate:modelValue":o[2]||(o[2]=l=>h.value=l)},{default:e(()=>[a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("General")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",L)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[a(m,{cols:"6"},{default:e(()=>[u(n(d(r)("Name:"))+" "+n(s.value.name),1)]),_:1})]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(T,{ref_key:"generalForm",ref:p,modelValue:s.value,"onUpdate:modelValue":o[0]||(o[0]=l=>s.value=l)},null,8,["modelValue"])]),_:1})]),_:1}),a(b,null,{default:e(()=>[a(E,null,{default:e(({open:l})=>[a(g,{"no-gutters":""},{default:e(()=>[a(m,{cols:"4"},{default:e(()=>[u(n(d(r)("Associated domains")),1)]),_:1}),a(m,{cols:"8",class:"text-secondary"},{default:e(()=>[a(F,{"leave-absolute":""},{default:e(()=>[l?(i(),k("span",O)):(i(),y(g,{key:1,"no-gutters":"",style:{width:"100%"}},{default:e(()=>[s.value.domains.length>0?(i(),y(m,{key:0,cols:"6"},{default:e(()=>[u(n(d(r)("Number of associated domains:"))+" "+n(s.value.domains.length),1)]),_:1})):(i(),y(m,{key:1,cols:"6"},{default:e(()=>[u(n(d(r)("No associated domains")),1)]),_:1}))]),_:1}))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:1}),a(B,null,{default:e(()=>[a(U,{ref_key:"associatedForm",ref:f,modelValue:s.value.domains,"onUpdate:modelValue":o[1]||(o[1]=l=>s.value.domains=l)},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),w("div",H,[a($,{onClick:o[3]||(o[3]=l=>t.$router.go(-1))},{default:e(()=>[u(n(d(r)("Cancel")),1)]),_:1}),a($,{class:"ml-4",color:"primary darken-1",onClick:C},{default:e(()=>[u(n(d(r)("Save")),1)]),_:1})])],64))}},J={class:"text-h4"},_e={__name:"ProviderEditView",setup(P){const{$gettext:x}=S(),r=z(),c=v({});return N.getProvider(r.params.id).then(_=>{c.value=_.data}),(_,V)=>(i(),k("div",null,[w("span",J,n(d(x)("Edit provider")),1),V[0]||(V[0]=w("div",{class:"mt-4"},null,-1)),a(I,{provider:c.value},null,8,["provider"])]))}};export{_e as default};
@@ -0,0 +1 @@
1
+ import{C as y,E as T,n as q,g as m,G,b as K,z as j,l as b,o as v,a as n,w as d,f as _,F as w,s as E,c as $,k,t as A,h as M,e as I}from"./index-LhNzkzAh.js";import{d as O}from"./domains-C2cornvL.js";import{V as C}from"./VTextField-DKbr4H5w.js";import{V as z}from"./VAutocomplete-DNKmBvyZ.js";import{V as F,r as S}from"./VForm-DsRLc-sa.js";import{V as N,c as x}from"./VAvatar-DbuoZWmf.js";import{V as Y}from"./VSpacer-CoJVmx8k.js";import{V as H}from"./VChip-CaQvfmkw.js";import{V as J}from"./VInput-DVKUObZe.js";import{V as Q}from"./VSwitch-DPnjPQuU.js";const g="email-providers",h={getProviders(a){return y.get(`/${g}/`,{params:a})},getProvider(a){return y.get(`/${g}/${a}/`)},createProvider(a){return y.post(`/${g}/`,a)},updateProvider(a,l){return y.put(`/${g}/${a}/`,l)},patchProvider(a,l){return y.patch(`/${g}/${a}/`,l)},deleteProvider(a){return y.delete(`/${g}/${a}/`)},checkProvider(a){return y.post(`/${g}/check_connection/`,a)},checkAssociatedDomain(a){return y.post(`/${g}/check_associated_domain/`,a)}},de=T("providers",()=>{const a=q(),l=m(!1),i=m({}),{$gettext:o}=G;async function p(){l.value=!1,i.value={}}async function f(){return i.value={},l.value=!1,h.getProviders().then(t=>{for(const e of t.data)i.value[e.id]=e;return t}).finally(()=>l.value=!0)}async function r(t){return l.value=!1,h.createProvider(t).then(e=>(i.value[e.data.id]=e.data,e)).finally(()=>l.value=!0)}async function P(t){return l.value=!1,h.deleteProvider({id:t}).then(e=>(delete i.value[t],a.displayNotification({msg:o("Provider deleted")}),e)).finally(()=>l.value=!0)}return{providersLoaded:l,providers:i,getProviders:f,createProvider:r,deleteProvider:P,$reset:p}}),me={__name:"ProviderAssociatedForm",props:{modelValue:{type:Array,default:null}},emits:["update:modelValue"],setup(a,{expose:l,emit:i}){const{$gettext:o}=K(),p=a,f=i,r=m([]),P=m(),t=m(),e=m({name:"",new_domain:""}),u=m([]);j(()=>p.modelValue,s=>{s&&(r.value=[...s])},{immediate:!0});async function D(){await P.value.validate()&&h.checkAssociatedDomain(e.value).then(c=>{c.status===200&&(r.value.push({name:e.value.name,new_domain:e.value.new_domain}),f("update:modelValue",r.value),e.value={name:"",new_domain:""})})}function R(s){r.value.splice(s,1),f("update:modelValue",r.value)}function L(s){const c=s.keyCode;(c===13||c===9)&&(D(),s.preventDefault())}O.getDomains().then(s=>{u.value=s.data});function U(){return r.value.length===0?o("You need to bind at least one domain to the provider."):!0}return l({vFormRef:t}),(s,c)=>(v(),b(w,null,[n(F,{ref_key:"formRef",ref:P},{default:d(()=>[n(C,{ref:"initialdomainField",modelValue:e.value.name,"onUpdate:modelValue":c[0]||(c[0]=V=>e.value.name=V),placeholder:_(o)("Name of the domain to migrate"),variant:"outlined",density:"compact",onKeydown:L},null,8,["modelValue","placeholder"]),n(z,{modelValue:e.value.new_domain,"onUpdate:modelValue":c[1]||(c[1]=V=>e.value.new_domain=V),label:_(o)("Local domain (optional)"),items:u.value,"item-title":"name","return-object":"",variant:"outlined",density:"compact",clearable:"",onKeydown:L},null,8,["modelValue","label","items"])]),_:1},512),n(N,{icon:"mdi-plus",color:"primary",onClick:D}),n(Y),(v(!0),b(w,null,E(r.value,(V,B)=>(v(),$(H,{key:B,class:"mr-2 mt-2",closable:"","onClick:close":Z=>R(B)},{default:d(()=>[V.new_domain?(v(),b(w,{key:0},[k(A(V.name)+" --> "+A(V.new_domain.name),1)],64)):(v(),b(w,{key:1},[k(A(V.name),1)],64))]),_:2},1032,["onClick:close"]))),128)),n(F,{ref_key:"vFormRef",ref:t},{default:d(()=>[n(J,{rules:[U]},null,8,["rules"])]),_:1},512)],64))}},W={class:"my-7"},X={class:"custom-loader"},ce={__name:"ProviderGeneralForm",props:{modelValue:{type:Object,default:null}},setup(a,{expose:l}){const i=a,o=M(()=>i.modelValue),p=m(0),f=m(!1),r=m();async function P(){if(!await r.value.validate())return;f.value=!0;const e={address:o.value.address,port:o.value.port,secured:o.value.secured};h.checkProvider(e).then(()=>{p.value=1}).catch(u=>{console.log(u),p.value=2}).finally(()=>f.value=!1)}return l({vFormRef:r}),(t,e)=>(v(),$(F,{ref_key:"vFormRef",ref:r},{default:d(()=>[n(C,{modelValue:o.value.name,"onUpdate:modelValue":e[0]||(e[0]=u=>o.value.name=u),label:t.$gettext("Provider name"),variant:"outlined",rules:[_(S).required]},null,8,["modelValue","label","rules"]),n(C,{modelValue:o.value.address,"onUpdate:modelValue":e[1]||(e[1]=u=>o.value.address=u),label:t.$gettext("Address (hostname or IP)"),rules:[_(S).required],variant:"outlined"},null,8,["modelValue","label","rules"]),n(C,{modelValue:o.value.port,"onUpdate:modelValue":e[2]||(e[2]=u=>o.value.port=u),label:t.$gettext("IMAP Port"),type:"number",variant:"outlined",rules:[_(S).required,_(S).portNumber]},null,8,["modelValue","label","rules"]),n(Q,{modelValue:o.value.secured,"onUpdate:modelValue":e[3]||(e[3]=u=>o.value.secured=u),label:t.$gettext("Secured"),color:"primary",hint:t.$gettext("Is the IMAP connection secured using SSL/TLS or StartTLS"),"persistent-hint":""},null,8,["modelValue","label","hint"]),I("div",W,[n(N,{loading:f.value,color:"primary",onClick:P},{loader:d(()=>[I("span",X,[n(x,{light:""},{default:d(()=>e[7]||(e[7]=[k("mdi-cached")])),_:1,__:[7]})])]),default:d(()=>[k(A(t.$gettext("Check connection:"))+" ",1),p.value===0?(v(),$(x,{key:0,color:"blue-grey-darken-2"},{default:d(()=>e[4]||(e[4]=[k(" mdi-help-circle-outline ")])),_:1,__:[4]})):p.value===1?(v(),$(x,{key:1,color:"success"},{default:d(()=>e[5]||(e[5]=[k(" mdi-check-all ")])),_:1,__:[5]})):(v(),$(x,{key:2,color:"warning"},{default:d(()=>e[6]||(e[6]=[k(" mdi-alert-circle-outline ")])),_:1,__:[6]}))]),_:1},8,["loading"])])]),_:1},512))}};export{me as _,ce as a,h as p,de as u};
@@ -0,0 +1 @@
1
+ import{b as U,n as M,h as A,g as x,c as k,o as u,w as e,a as o,f,v as L,e as q,l as h,s as O,F as B,k as p,t as g,q as W,_ as H}from"./index-LhNzkzAh.js";import{_ as J}from"./CreationForm-CW4lxnPg.js";import{u as z,_ as K,a as Q}from"./ProviderGeneralForm-BQU7t3ma.js";import{_ as X}from"./MenuItems-BqIZW5av.js";import{V as j}from"./VMenu-nv0XOgg0.js";import{V as N,c as E}from"./VAvatar-DbuoZWmf.js";import{V as T}from"./VChip-CaQvfmkw.js";import{V as G,a as Y}from"./VToolbar-BxX3W2kR.js";import{V as Z}from"./forwardRefs-CpzzjgpX.js";import{V as I}from"./VSpacer-CoJVmx8k.js";import{V as ee}from"./VTextField-DKbr4H5w.js";import{V as oe}from"./VDataTable-CL7yHvG7.js";import{a as te}from"./VCard-DzjUT5OP.js";import{V as ae}from"./VDialog-DmTGCGR0.js";import"./ConfirmDialog-CcPrCKuI.js";import"./VRow-DJ0NB63-.js";/* empty css */import"./tag-3cfI1_f7.js";import"./logos-Bvcy0usu.js";import"./VWindowItem-Cvqvdegd.js";import"./ssrBoot-BxIQ9ccA.js";import"./VContainer-74Dnn8Ux.js";import"./VSheet-DI6SxLnG.js";import"./VProgressCircular-qK6p5X_Y.js";import"./domains-C2cornvL.js";import"./VAutocomplete-DNKmBvyZ.js";import"./VSelect-CxCFMHyF.js";import"./VInput-DVKUObZe.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./filter-rmxrcjKk.js";import"./VForm-DsRLc-sa.js";import"./VSwitch-DPnjPQuU.js";import"./VTable-ldTxgQPW.js";const re={__name:"ProviderCreationForm",emits:["close"],setup(D,{emit:s}){const d=s,{$gettext:i}=U(),c=M(),v=z(),F=A(()=>{const n=[];let l=!0;for(const V of a.value.domains){const R=V.new_domain?`${V.name} => ${V.new_domain.name}`:`${V.name} ${i("(the domain will be created locally)")}`;n.push({key:l?i("Associated domain"):"",value:R}),l=!1}return n}),b=A(()=>[{title:i("General"),items:[{key:i("Name"),value:a.value.name},{key:i("Address"),value:a.value.address},{key:i("Port"),value:a.value.port},{key:i("Secured"),value:a.value.secured,type:"yesno"}]},{title:i("Associated domains"),items:F.value}]),P=[{name:"general",title:i("General")},{name:"associated",title:i("Associated domains")}],a=x({domains:[]}),$=x(),C=x(),S={general:$,associated:C};w();function w(){a.value={name:"",address:"",port:993,secured:!0,domains:[]}}function m(){w(),d("close")}function r(n){return S.value[n.name]}function t(n){return console.log(a.value),S[n.name].value.vFormRef}function _(){}function y(){const n={...a.value};n.domains=[];for(const l of a.value.domains)l.new_domain?n.domains.push({name:l.name,new_domain:l.new_domain.pk}):n.domains.push(l);v.createProvider(n).then(()=>{c.displayNotification({msg:i("Provider created")}),m()})}return(n,l)=>(u(),k(f(J),{ref:"form",title:f(i)("New provider"),steps:P,"form-getter":r,"get-v-form-ref":t,"validate-object":_,"summary-sections":b.value,onClose:m,onCreate:y},{"form.general":e(()=>[o(Q,{ref_key:"general",ref:$,modelValue:a.value,"onUpdate:modelValue":l[0]||(l[0]=V=>a.value=V),class:"ml-4"},null,8,["modelValue"])]),"form.associated":e(()=>[o(K,{ref_key:"associated",ref:C,modelValue:a.value.domains,"onUpdate:modelValue":l[1]||(l[1]=V=>a.value.domains=V)},null,8,["modelValue"])]),_:2},1032,["title","summary-sections"]))}},se=["colspan"],ie={__name:"ProvidersList",setup(D){const{$gettext:s}=U(),d=z(),i=W(),c=A(()=>d.providers),v=A(()=>d.providersLoaded),F=[{title:s("Name"),key:"name"},{title:s("Address"),key:"address"},{title:s("Port"),key:"port"},{title:s("Secured"),key:"secured"},{title:s("Associated domains"),key:"domains"},{title:s("Actions"),key:"actions",sortable:!1,align:"right"}],b=x([]),P=x(""),a=x([]);function $(m){d.deleteProvider(m.id)}function C(m){i.push({name:"ProviderEdit",params:{id:m.id}})}function S(){const m=[];return m.push({label:s("Delete"),icon:"mdi-delete-outline",onClick:$,color:"red"}),m.push({label:s("Edit"),icon:"mdi-circle-edit-outline",onClick:C}),m}function w(){d.getProviders()}return v.value||w(),(m,r)=>(u(),k(te,{class:"mt-6"},{default:e(()=>[o(oe,{modelValue:b.value,"onUpdate:modelValue":r[1]||(r[1]=t=>b.value=t),expanded:a.value,"onUpdate:expanded":r[2]||(r[2]=t=>a.value=t),headers:F,items:Object.values(c.value),search:P.value,loading:!v.value,"item-value":"name","single-expand":"","show-select":"","onClick:row":r[3]||(r[3]=(t,_)=>_.expand(!_.isExpanded))},{top:e(()=>[o(G,{color:"white",flat:""},{default:e(()=>[o(j,{location:"bottom"},{activator:e(({props:t})=>[o(N,L(t,{variant:"flat","append-icon":"mdi-chevron-down",size:"small"}),{default:e(()=>[p(g(f(s)("Actions")),1)]),_:2},1040)]),default:e(()=>[o(Z,{density:"compact"})]),_:1}),o(N,{variant:"text",icon:"mdi-reload",onClick:w}),o(I),o(ee,{modelValue:P.value,"onUpdate:modelValue":r[0]||(r[0]=t=>P.value=t),"prepend-inner-icon":"mdi-magnify",placeholder:f(s)("Search"),"single-line":"",variant:"outlined","hide-details":""},null,8,["modelValue","placeholder"])]),_:1})]),"item.secured":e(({item:t})=>[t.secured===!0?(u(),k(E,{key:0,color:"green"},{default:e(()=>r[4]||(r[4]=[p(" mdi-lock ")])),_:1,__:[4]})):(u(),k(E,{key:1,color:"red"},{default:e(()=>r[5]||(r[5]=[p(" mdi-lock-off ")])),_:1,__:[5]}))]),"item.domains":e(({item:t})=>[t.domains.length>0?(u(),k(T,{key:0},{default:e(()=>[p(g(t.domains.length)+" associated domain(s) ",1)]),_:2},1024)):(u(),k(T,{key:1},{default:e(()=>r[6]||(r[6]=[p(" No associated domain ")])),_:1,__:[6]}))]),"expanded-item":e(({headers:t,item:_})=>[q("td",{colspan:t.length},[(u(!0),h(B,null,O(_.domains,(y,n)=>(u(),k(T,{key:n},{default:e(()=>[y.new_domain?(u(),h(B,{key:0},[p(g(y.name)+" --> "+g(y.new_domain.name),1)],64)):(u(),h(B,{key:1},[p(g(y.name)+" --> "+g(y.name),1)],64))]),_:2},1024))),128))],8,se)]),"item.actions":e(({item:t})=>[o(j,{"offset-y":""},{activator:e(({props:_})=>[o(N,L({icon:"mdi-dots-horizontal",variant:"text"},_),null,16)]),default:e(()=>[o(f(X),{items:S(),obj:t},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","expanded","items","search","loading"])]),_:1}))}},ne={__name:"ProvidersView",setup(D){const{$gettext:s}=U(),d=x(!1);return(i,c)=>(u(),h("div",null,[o(G,{flat:""},{default:e(()=>[o(Y,null,{default:e(()=>[p(g(f(s)("Providers")),1)]),_:1}),o(I),o(N,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:c[0]||(c[0]=v=>d.value=!0)},{default:e(()=>[p(g(f(s)("New")),1)]),_:1})]),_:1}),o(f(ie)),o(ae,{modelValue:d.value,"onUpdate:modelValue":c[2]||(c[2]=v=>d.value=v),fullscreen:"",scrollable:"",transition:"dialog-bottom-transition"},{default:e(()=>[o(f(re),{onClose:c[1]||(c[1]=v=>d.value=!1)})]),_:1},8,["modelValue"])]))}},Re=H(ne,[["__scopeId","data-v-1a3ee9c1"]]);export{Re as default};
@@ -0,0 +1 @@
1
+ import{_ as r}from"./ConnectedLayout-CWlBK7Hf.js";import{c as o,w as m,o as p,k as i}from"./index-LhNzkzAh.js";import"./VContainer-74Dnn8Ux.js";/* empty css */import"./tag-3cfI1_f7.js";import"./VApp-CX_C7AUN.js";import"./layout-DbjDe3Wl.js";import"./ssrBoot-BxIQ9ccA.js";import"./logos-Bvcy0usu.js";import"./layout.store-Vq5mvIp7.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./VMenu-nv0XOgg0.js";import"./global.store-DndbMXYb.js";import"./VBadge-Bv2nvUmC.js";import"./VCard-DzjUT5OP.js";import"./VRow-DJ0NB63-.js";import"./VSheet-DI6SxLnG.js";const T={__name:"QuarantineLayout",setup(a){return(e,t)=>(p(),o(r,null,{navbar:m(()=>t[0]||(t[0]=[i(" ")])),_:1}))}};export{T as default};
@@ -0,0 +1 @@
1
+ .unseen{font-weight:700}.clickable{cursor:pointer}
@@ -0,0 +1 @@
1
+ import{b as me,u as pe,n as fe,j as ve,g as n,z as ye,B as G,c as h,w as o,a as l,k as _,t as c,e as k,m as A,aQ as ge,f as r,v as N,l as Y,s as be,F as he,q as W,i as E,o as m}from"./index-LhNzkzAh.js";import{d as ke}from"./index-DuzUMVLM.js";import{u as _e}from"./amavis-DCVJxuui.js";import{_ as Ve}from"./ConfirmDialog-CcPrCKuI.js";import{a as R}from"./amavis-BhzV4rgf.js";import{c as $,V as M}from"./VAvatar-DbuoZWmf.js";import{V as x}from"./VChip-CaQvfmkw.js";import{V as we}from"./VTextField-DKbr4H5w.js";import{V as I}from"./VMenu-nv0XOgg0.js";import{a as O,V as Se}from"./VCard-DzjUT5OP.js";import{a as K,V as b}from"./VRadioGroup-CbiPLy0t.js";import{V as Ce,a as z}from"./forwardRefs-CpzzjgpX.js";import{V as Re}from"./VSelect-CxCFMHyF.js";import{V as Me}from"./VDataTableServer-BqvNcIdw.js";import"./permissions-DQjAcO9S.js";import"./parameters-C8IYEP7q.js";import"./VToolbar-BxX3W2kR.js";import"./tag-3cfI1_f7.js";import"./VProgressCircular-qK6p5X_Y.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./VDialog-DmTGCGR0.js";import"./VInput-DVKUObZe.js";import"./VSelectionControl-C-6A4us5.js";import"./ssrBoot-BxIQ9ccA.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VDataTable-CL7yHvG7.js";import"./VTable-ldTxgQPW.js";import"./filter-rmxrcjKk.js";const xe={class:"d-flex my-4"},Be={class:"mr-2"},Ue=["title"],Te=["title"],je={__name:"QuarantineList",async setup(J){let p,V;const{$gettext:s}=me(),w=W(),B=G(),P=pe(),{displayNotification:S}=fe(),{manualLearningEnabled:D,learningRecipients:X}=([p,V]=ve(()=>_e()),p=await p,V(),p),U=n(1),T=n(10),f=n(null),Q=n(null),i=n(!1),F=n([]),v=n(""),j=n("both"),u=n([]),y=n([]),H=n(0),C=n("all"),Z=[{color:"",key:"all",label:"All"},{color:"success",key:"C",label:"Clean"},{color:"error",key:"S",label:"Spam"},{color:"warning",key:"Y",label:"Spammy"},{color:"error",key:"V",label:"Virus"},{color:"warning",key:"H",label:"Bad Header"},{color:"warning",key:"M",label:"Bad MIME"},{color:"warning",key:"B",label:"Banned"},{color:"warning",key:"O",label:"Over sized"},{color:"warning",key:"T",label:"MTA error"},{color:"",key:"U",label:"Unchecked"}],ee=[{title:"",key:"type",width:"5%"},{title:"",key:"status",width:"5%"},{title:s("Score"),key:"score"},{title:s("To"),key:"to_address"},{title:s("From"),key:"from_address"},{title:s("Subject"),key:"subject"},{title:s("Date"),key:"datetime"}];ye(()=>B.query.requests,()=>{d()});const ae=({item:a})=>({class:a.style}),te=()=>({class:"clickable"}),le=a=>["S","V"].includes(a)?"error":["Y","H","M","B","O","T"].includes(a)?"warning":a==="C"?"success":"",se=a=>a.status==="R"?"mdi-reply":a.status==="S"?"mdi-thumb-down-outline":a.status==="H"?"mdi-thumb-up-outline":"",oe=a=>a.status==="R"?s("Message released"):a.status==="S"?s("Message marked as spam"):a.status==="H"?s("Message marked as non-spam"):"",re=async({page:a,itemsPerPage:t,sortBy:e})=>{U.value=a,T.value=t,y.value=e,d()},d=ke(async()=>{var t;i.value=!0;const a={page:U.value||1,page_size:T.value||10};y.value&&y.value.length&&(a.ordering=y.value.map(e=>e.order!=="asc"?`-${e.key}`:e.key).join(",")),v.value!==""&&(a.search=v.value,a.criteria=j.value),C.value!=="all"&&(a.msgtype=C.value),((t=B.query)==null?void 0:t.requests)==="1"&&(a.viewrequests=1);try{const e=await R.getQuarantineContent(a);F.value=e.data.results,H.value=e.data.count,u.value=[]}finally{i.value=!1}},500),ne=(a,{item:t})=>{w.push({name:"QuarantineMessageView",params:{mailid:t.mailid,rcpt:t.to_address}})},q=()=>{const a={selection:[]};for(const t of u.value)a.selection.push({rcpt:t.to_address,mailid:t.mailid});return a},ie=async()=>{i.value=!0;const a=q();try{await R.deleteSelection(a),d(),S({msg:s("Selection deleted")})}finally{i.value=!1}},ue=async()=>{i.value=!0;const a=q();try{const t=await R.releaseSelection(a);d(),t.data.status==="pending"?S({msg:s("Release request sent")}):S({msg:s("Selection released")})}finally{i.value=!1}},L=async a=>{D.value&&P.authUser.role!==E.USER&&(f.value=P.authUser.role===E.SUPER_ADMIN?"global":"domain",await Q.value.open(s("Learning database"),s("Which database should be used for this learning:"),{width:600,noconfirm:!0})),i.value=!0;const t=q();t.type=a,f.value&&(t.database=f.value);try{await R.markMessageSelection(t),S({msg:s("Selection is being processed...")}),u.value=[]}finally{i.value=!1}},ce=async()=>{await L("spam")},de=async()=>{await L("ham")};return(a,t)=>(m(),h(O,{class:"mt-6"},{default:o(()=>[l(Me,{modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=e=>u.value=e),headers:ee,items:F.value,search:v.value,loading:i.value,"items-length":H.value,page:U.value,"items-per-page":T.value,"item-value":"mailid",elevation:"0","show-select":"","return-object":"",density:"compact","sort-by":y.value,"row-props":ae,"cell-props":te,"onUpdate:options":re,"onClick:row":ne},{top:o(()=>[k("div",xe,[l(we,{modelValue:v.value,"onUpdate:modelValue":t[1]||(t[1]=e=>v.value=e),placeholder:r(s)("Search in messages"),variant:"outlined","single-line":"","hide-details":"",class:"flex-grow-0 w-33 mr-4",clearable:"",density:"compact","onClick:clear":r(d),onKeyup:ge(r(d),["enter"])},{"prepend-inner":o(()=>[l(M,{icon:"",variant:"flat",size:"small"},{default:o(()=>[l($,{icon:"mdi-magnify"}),l(I,{activator:"parent"},{default:o(()=>[l(O,null,{default:o(()=>[l(Se,null,{default:o(()=>[l(K,{modelValue:j.value,"onUpdate:modelValue":t[0]||(t[0]=e=>j.value=e)},{default:o(()=>[l(b,{label:r(s)("From address"),value:"from_addr"},null,8,["label"]),l(b,{label:r(s)("Subject"),value:"subject"},null,8,["label"]),l(b,{label:r(s)("To"),value:"to"},null,8,["label"]),l(b,{label:r(s)("both"),value:"both"},null,8,["label"])]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue","placeholder","onClick:clear","onKeyup"]),l(M,{class:"ml-2",color:"success",variant:"tonal",icon:"mdi-check",size:"small",disabled:u.value.length===0,title:r(s)("Release selection"),loading:i.value,onClick:ue},null,8,["disabled","title","loading"]),l(M,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",disabled:u.value.length===0,title:r(s)("Delete selection"),loading:i.value,onClick:ie},null,8,["disabled","title","loading"]),r(D)?(m(),h(M,{key:0,class:"ml-2",size:"small",variant:"tonal",icon:"",disabled:u.value.length===0},{default:o(()=>[l($,{icon:"mdi-cog"}),l(I,{activator:"parent"},{default:o(()=>[l(Ce,null,{default:o(()=>[l(z,{title:r(s)("Mark as spam"),onClick:ce},null,8,["title"]),l(z,{title:r(s)("Mark as not spam"),onClick:de},null,8,["title"])]),_:1})]),_:1})]),_:1},8,["disabled"])):A("",!0),l(Re,{modelValue:C.value,"onUpdate:modelValue":[t[2]||(t[2]=e=>C.value=e),r(d)],variant:"outlined",items:Z,class:"ml-2 flex-grow-0",density:"compact","item-title":"label","item-value":"key",chips:"","hide-details":""},{chip:o(({props:e,item:g})=>[k("span",Be,c(r(s)("Display")),1),l(x,N(e,{color:g.raw.color,text:g.raw.label,label:""}),null,16,["color","text"])]),item:o(({props:e,item:g})=>[l(z,N(e,{title:""}),{default:o(()=>[l(x,{color:g.raw.color,label:""},{default:o(()=>[_(c(g.raw.label),1)]),_:2},1032,["color"])]),_:2},1040)]),_:1},8,["modelValue","onUpdate:modelValue"])])]),"item.type":o(({item:e})=>[l(x,{color:le(e.type),size:"small",label:""},{default:o(()=>[_(c(e.type),1)]),_:2},1032,["color"])]),"item.status":o(({item:e})=>[e.status?(m(),h($,{key:0,icon:se(e),title:oe(e),size:"small"},null,8,["icon","title"])):A("",!0)]),"item.from_address":o(({item:e})=>[k("span",{title:e.from_address},c(a.$truncate(e.from_address,30)),9,Ue)]),"item.subject":o(({item:e})=>[k("span",{title:e.subject},c(a.$truncate(e.subject,30)),9,Te)]),"item.datetime":o(({item:e})=>[_(c(a.$date(e.datetime)),1)]),_:2},1032,["modelValue","items","search","loading","items-length","page","items-per-page","sort-by"]),l(r(Ve),{ref_key:"learningRecipientRef",ref:Q},{default:o(()=>[l(K,{modelValue:f.value,"onUpdate:modelValue":t[4]||(t[4]=e=>f.value=e),class:"mt-4","hide-details":""},{default:o(()=>[(m(!0),Y(he,null,be(r(X),e=>(m(),h(b,{key:e.value,value:e.value,label:e.title},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},512)]),_:1}))}},qe={class:"text-h5 ml-4"},ca={__name:"QuarantineView",setup(J){const p=G(),V=W(),s=()=>{V.replace({name:"QuarantineView"})};return(w,B)=>(m(),Y("div",null,[k("div",qe,[_(c(w.$gettext("Quarantine"))+" ",1),r(p).query.requests==="1"?(m(),h(x,{key:0,color:"primary",variant:"tonal",class:"ml-2",closable:"","onClick:close":s},{default:o(()=>[_(c(w.$gettext("release requests")),1)]),_:1})):A("",!0)]),l(r(je))]))}};export{ca as default};
@@ -0,0 +1 @@
1
+ import{g as e,c as a,f as p,B as l,o as n}from"./index-LhNzkzAh.js";import{_ as s}from"./ComposeEmailForm-kghmfNuE.js";import{a as u}from"./webmail-B2IUjaxM.js";import"./index-DuzUMVLM.js";import"./VForm-DsRLc-sa.js";import"./tag-3cfI1_f7.js";import"./VInput-DVKUObZe.js";import"./VAvatar-DbuoZWmf.js";import"./VProgressCircular-qK6p5X_Y.js";import"./forwardRefs-CpzzjgpX.js";import"./ssrBoot-BxIQ9ccA.js";import"./VCard-DzjUT5OP.js";import"./VFileInput-SULIc6F3.js";import"./VTextField-DKbr4H5w.js";import"./VChip-CaQvfmkw.js";import"./VTable-ldTxgQPW.js";import"./VSpacer-CoJVmx8k.js";/* empty css */import"./HtmlEditor-BWRdelVw.js";import"./VTextarea-BttkFsM4.js";import"./contacts-Dxz6eWpf.js";import"./VToolbar-BxX3W2kR.js";import"./VRow-DJ0NB63-.js";import"./VSelect-CxCFMHyF.js";import"./VMenu-nv0XOgg0.js";import"./VCheckboxBtn-CpFdBnTv.js";import"./VSelectionControl-C-6A4us5.js";import"./filter-rmxrcjKk.js";import"./VDialog-DmTGCGR0.js";const J={__name:"ReplyEmailView",setup(c){const t=l(),o=e(),r=i=>{o.value="",u.getEmailContent(t.query.mailbox,t.query.mailid,{context:"reply",dformat:i?"html":"plain"}).then(m=>{o.value=m.data})};return r(),(i,m)=>(n(),a(p(s),{"original-email":o.value,"reply-all":p(t).query.all==="true",onOnToggleHtmlMode:r},null,8,["original-email","reply-all"]))}};export{J as default};
@@ -0,0 +1 @@
1
+ import{r as p,V as _}from"./VForm-DsRLc-sa.js";import{V as f}from"./VTextField-DKbr4H5w.js";import{h as i,g as V,c as v,o as l,w as x,l as o,F as s,s as F,e as y,a as b,t as k,f as g}from"./index-LhNzkzAh.js";const h={class:"m-label"},U={__name:"ResourcesForm",props:{modelValue:{type:Object,default:null}},setup(n,{expose:u}){const m=n,t=i(()=>m.modelValue),r=V();function c(){return t.value.map(a=>({name:a.name,max_value:a.max_value}))}return u({vFormRef:r,getPayload:c}),(a,B)=>(l(),v(_,{ref_key:"vFormRef",ref:r},{default:x(()=>[(l(!0),o(s,null,F(t.value,e=>(l(),o(s,{key:e.name},[y("label",h,k(e.label),1),b(f,{modelValue:e.max_value,"onUpdate:modelValue":d=>e.max_value=d,type:"number",variant:"outlined",dense:"",rules:[g(p).required]},null,8,["modelValue","onUpdate:modelValue","rules"])],64))),128))]),_:1},512))}};export{U as _};