modoboa 2.4.9__py3-none-any.whl → 2.4.10__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 (151) hide show
  1. modoboa/admin/api/v1/serializers.py +7 -1
  2. modoboa/admin/api/v2/serializers.py +4 -2
  3. modoboa/core/api/v2/serializers.py +34 -15
  4. modoboa/core/app_settings.py +1 -1
  5. modoboa/core/management/commands/load_initial_data.py +7 -15
  6. modoboa/core/migrations/0025_rename_user_email_is_active_core_user_email_c0c03f_idx.py +5 -5
  7. modoboa/frontend_dist/assets/{AccountAliasForm-DO4IpT1M.js → AccountAliasForm-DVXatAhB.js} +1 -1
  8. modoboa/frontend_dist/assets/{AccountEditView-BLA0CnKd.js → AccountEditView-DmvQjxpx.js} +1 -1
  9. modoboa/frontend_dist/assets/AccountLayout-OGtZvlHR.js +1 -0
  10. modoboa/frontend_dist/assets/{AccountPasswordSubForm-D9xU4Or7.js → AccountPasswordSubForm-g3IEGrgM.js} +1 -1
  11. modoboa/frontend_dist/assets/{AccountView-DegeD2uG.js → AccountView-DsxYqr3k.js} +1 -1
  12. modoboa/frontend_dist/assets/{AddressBook-CJM-ajGg.js → AddressBook-3RoKiKon.js} +1 -1
  13. modoboa/frontend_dist/assets/{AdminLayout-CTbzqJSq.js → AdminLayout-CWfn8zaQ.js} +1 -1
  14. modoboa/frontend_dist/assets/{AlarmsView-CpIExehE.js → AlarmsView-D3Mh8ntf.js} +1 -1
  15. modoboa/frontend_dist/assets/{AliasEditView-Bu0rnLCQ.js → AliasEditView-C15eUZ11.js} +1 -1
  16. modoboa/frontend_dist/assets/{AliasRecipientForm-CGuaOz6K.js → AliasRecipientForm-DVZXWaUX.js} +1 -1
  17. modoboa/frontend_dist/assets/{AliasView-Cdwd7AvE.js → AliasView-Cyvc5vMb.js} +1 -1
  18. modoboa/frontend_dist/assets/{AuditTrailView-Dn1B2S23.js → AuditTrailView-LI2XuLLn.js} +1 -1
  19. modoboa/frontend_dist/assets/{CalendarView-CV-DAWtd.js → CalendarView-BpOlPh3f.js} +1 -1
  20. modoboa/frontend_dist/assets/{ChoiceField-BS45Bjds.js → ChoiceField-7eU7c_rI.js} +1 -1
  21. modoboa/frontend_dist/assets/{ComposeEmailForm-22JKKl9M.js → ComposeEmailForm-CNfI7ept.js} +1 -1
  22. modoboa/frontend_dist/assets/ComposeEmailView-B866Xsrc.js +1 -0
  23. modoboa/frontend_dist/assets/{ConfirmDialog-BLu1kBWp.js → ConfirmDialog-BvqxQsD1.js} +1 -1
  24. modoboa/frontend_dist/assets/ConnectedLayout-BQ3ug6Jh.js +1 -0
  25. modoboa/frontend_dist/assets/{ConnectedLayout-AhwwAZvE.css → ConnectedLayout-BaJZ3BeR.css} +1 -1
  26. modoboa/frontend_dist/assets/CreationForm-C9Kh05ax.js +1 -0
  27. modoboa/frontend_dist/assets/CreationForm-HaiQhqwK.css +1 -0
  28. modoboa/frontend_dist/assets/{DashboardView-CubvMqxt.js → DashboardView-Cw-gIcuB.js} +1 -1
  29. modoboa/frontend_dist/assets/{DomainAdminList-B0z8fRmf.js → DomainAdminList-CsWUNKVk.js} +1 -1
  30. modoboa/frontend_dist/assets/DomainEditView-DocxeOeW.js +1 -0
  31. modoboa/frontend_dist/assets/DomainTransportForm-DPnPGBOp.js +1 -0
  32. modoboa/frontend_dist/assets/{DomainView-DCfSLvj-.css → DomainView-BDKoBFYr.css} +1 -1
  33. modoboa/frontend_dist/assets/DomainView-Djc_0PsF.js +5 -0
  34. modoboa/frontend_dist/assets/DomainsView-B-Lxru7P.js +1 -0
  35. modoboa/frontend_dist/assets/{DomainsView-BUgJLN9o.css → DomainsView-DasJ0NdZ.css} +1 -1
  36. modoboa/frontend_dist/assets/{EmailField-phdi2rhQ.js → EmailField-BEKxuYni.js} +1 -1
  37. modoboa/frontend_dist/assets/{EmailView-B8eqs4jh.js → EmailView-BsR1Wes5.js} +1 -1
  38. modoboa/frontend_dist/assets/EmptyLayout-BzPFOeLU.js +1 -0
  39. modoboa/frontend_dist/assets/{FiltersView-Dq_lXOZQ.js → FiltersView-5rmpC5cC.js} +1 -1
  40. modoboa/frontend_dist/assets/ForwardEmailView-D7MbetcT.js +1 -0
  41. modoboa/frontend_dist/assets/{HtmlEditor-KH0pmxrK.js → HtmlEditor-uM4AtIGi.js} +1 -1
  42. modoboa/frontend_dist/assets/IdentitiesView-BqjD9Lue.js +1 -0
  43. modoboa/frontend_dist/assets/IdentitiesView-jmuItyMZ.css +1 -0
  44. modoboa/frontend_dist/assets/{InformationView-DlwtlpvG.js → InformationView-CghcvPn2.js} +1 -1
  45. modoboa/frontend_dist/assets/{LoadingData-BYDZn1pb.js → LoadingData-CVD2Aen8.js} +1 -1
  46. modoboa/frontend_dist/assets/{LoginCallbackView-xSv3LV4_.js → LoginCallbackView-sWzBke1g.js} +1 -1
  47. modoboa/frontend_dist/assets/{LoginView-R5FtOIzW.js → LoginView-wmN73W0f.js} +1 -1
  48. modoboa/frontend_dist/assets/{MailboxView-esEw0ueS.js → MailboxView-T_p-_ZtJ.js} +1 -1
  49. modoboa/frontend_dist/assets/{MenuItems-Bck8ixGf.js → MenuItems-kHCMzR5E.js} +1 -1
  50. modoboa/frontend_dist/assets/{MessagesView-Dyg8Y4bi.js → MessagesView-Cerv3xsy.js} +1 -1
  51. modoboa/frontend_dist/assets/{MigrationsView-BHTt1qeH.js → MigrationsView-7kjqPyYU.js} +1 -1
  52. modoboa/frontend_dist/assets/Modoboa_RVB-BLEU-SANS-pKrnjsR_.png +0 -0
  53. modoboa/frontend_dist/assets/{ParametersForm-Bx5J7UU0.js → ParametersForm-BCeQljir.js} +1 -1
  54. modoboa/frontend_dist/assets/ParametersView-DspBxVMV.js +1 -0
  55. modoboa/frontend_dist/assets/ParametersView-Dy0H5ep1.js +1 -0
  56. modoboa/frontend_dist/assets/{ProviderEditView-d2fBym_r.js → ProviderEditView-DDLMOylC.js} +1 -1
  57. modoboa/frontend_dist/assets/{ProviderGeneralForm-C9jkYxB7.js → ProviderGeneralForm-BwOSKNHK.js} +1 -1
  58. modoboa/frontend_dist/assets/{ProvidersView-CjKsqSYV.js → ProvidersView-C99UD0WB.js} +1 -1
  59. modoboa/frontend_dist/assets/ReplyEmailView-DAPBHldd.js +1 -0
  60. modoboa/frontend_dist/assets/{ResourcesForm-RZNnt_x1.js → ResourcesForm-D87PHeH0.js} +1 -1
  61. modoboa/frontend_dist/assets/{SettingsView-TStQqZWd.js → SettingsView-OxDo9wNd.js} +1 -1
  62. modoboa/frontend_dist/assets/{StatisticsView-CABa0tgU.js → StatisticsView-CM__Eqku.js} +1 -1
  63. modoboa/frontend_dist/assets/{TimeSerieChart-BjM9PGIT.js → TimeSerieChart-C6j0uYR_.js} +1 -1
  64. modoboa/frontend_dist/assets/UserLayout-CckCGnPS.js +1 -0
  65. modoboa/frontend_dist/assets/{VAlert-DSMD0lqo.js → VAlert-B7mzOJIO.js} +1 -1
  66. modoboa/frontend_dist/assets/{VApp-D2FuKvLN.js → VApp-BKxnjOoi.js} +1 -1
  67. modoboa/frontend_dist/assets/{VAutocomplete-CQ5LL_Nk.js → VAutocomplete-Cc4_tcl1.js} +1 -1
  68. modoboa/frontend_dist/assets/{VAvatar-DbAmPjyA.js → VAvatar-BAgTUIvX.js} +1 -1
  69. modoboa/frontend_dist/assets/{VCard-BGXTuaE-.js → VCard-DFWiFORP.js} +1 -1
  70. modoboa/frontend_dist/assets/{VCheckbox-BM1QzY5m.js → VCheckbox-CKsH_vq3.js} +1 -1
  71. modoboa/frontend_dist/assets/{VCheckboxBtn-DdHQE-gt.js → VCheckboxBtn-j7di4leN.js} +1 -1
  72. modoboa/frontend_dist/assets/{VChip-Bm7znPZ6.js → VChip-nZ0uhY7t.js} +1 -1
  73. modoboa/frontend_dist/assets/{VColorPicker-CYCnVu_Z.js → VColorPicker-Os2aeP6J.js} +1 -1
  74. modoboa/frontend_dist/assets/{VContainer-B8HjqhNU.js → VContainer-Btam4lk2.js} +1 -1
  75. modoboa/frontend_dist/assets/{VDataTable-Etpc99CI.js → VDataTable-D_0_xJTl.js} +1 -1
  76. modoboa/frontend_dist/assets/{VDataTableServer-BNNG6dBx.js → VDataTableServer-BWTt4Mzi.js} +1 -1
  77. modoboa/frontend_dist/assets/{VDataTableVirtual-D9Km3t6e.js → VDataTableVirtual-BwVmkt4u.js} +1 -1
  78. modoboa/frontend_dist/assets/{VDialog-0NvxFg1X.js → VDialog-CZqM2Ofu.js} +1 -1
  79. modoboa/frontend_dist/assets/{VExpansionPanels-eED_hKBs.js → VExpansionPanels-B5D6GOa3.js} +1 -1
  80. modoboa/frontend_dist/assets/{VFileInput-COIdDRxq.js → VFileInput-Cv9DIPki.js} +1 -1
  81. modoboa/frontend_dist/assets/{VForm-DwwrfSN8.js → VForm-CpoZf60D.js} +1 -1
  82. modoboa/frontend_dist/assets/{VMenu-CTyyRlRb.js → VMenu-B_dVqOmo.js} +1 -1
  83. modoboa/frontend_dist/assets/{VPicker-3NOHH3h1.js → VPicker-CXkIGEze.js} +1 -1
  84. modoboa/frontend_dist/assets/{VProgressCircular-1VQzh5PK.js → VProgressCircular-CrEXxs7k.js} +1 -1
  85. modoboa/frontend_dist/assets/{VRadioGroup-CnRLqIcd.js → VRadioGroup-D8ypjYOO.js} +1 -1
  86. modoboa/frontend_dist/assets/{VRow-DgX40uiD.js → VRow-C_Ydf6yr.js} +1 -1
  87. modoboa/frontend_dist/assets/{VSelect-CeY-emKK.js → VSelect-CS51PDEt.js} +1 -1
  88. modoboa/frontend_dist/assets/{VSelectionControl-BYdVI5Q9.js → VSelectionControl-DiOqtY38.js} +1 -1
  89. modoboa/frontend_dist/assets/{VSheet-C8P69LA8.js → VSheet-5VVWtHvs.js} +1 -1
  90. modoboa/frontend_dist/assets/VSpacer-C6PZ3X24.js +1 -0
  91. modoboa/frontend_dist/assets/{VSwitch-BSifpScd.js → VSwitch-Chg5o-Cp.js} +1 -1
  92. modoboa/frontend_dist/assets/{VTable-BeyU0Uhj.js → VTable-KsiZ3cBz.js} +1 -1
  93. modoboa/frontend_dist/assets/{VTabs-Dzq8prKm.js → VTabs-tNrJIYO0.js} +1 -1
  94. modoboa/frontend_dist/assets/{VTextField-FBM5XwC5.js → VTextField-CLwRV0Cb.js} +1 -1
  95. modoboa/frontend_dist/assets/{VTextarea-BwkVlXPS.js → VTextarea-Di8jbl8m.js} +1 -1
  96. modoboa/frontend_dist/assets/{VToolbar-AQXTYlxS.js → VToolbar-CGwhgdmI.js} +1 -1
  97. modoboa/frontend_dist/assets/{VWindowItem-p9SJ1V9Y.js → VWindowItem-wWSFAGI-.js} +1 -1
  98. modoboa/frontend_dist/assets/{WebmailLayout-E3DJFEW2.js → WebmailLayout-DsYThBrz.js} +1 -1
  99. modoboa/frontend_dist/assets/{admin-B0fFM9gW.js → admin-CJVLMHh9.js} +1 -1
  100. modoboa/frontend_dist/assets/{aliases-C-hC9If-.js → aliases-c3n-dCV_.js} +1 -1
  101. modoboa/frontend_dist/assets/{contacts-DZDbAN4o.js → contacts-Bqckz8sr.js} +1 -1
  102. modoboa/frontend_dist/assets/{domains-CWdc-ODs.js → domains-nBMR-fRf.js} +1 -1
  103. modoboa/frontend_dist/assets/{domains.store-B6sc48r9.js → domains.store-ChZgLcqP.js} +1 -1
  104. modoboa/frontend_dist/assets/{filter-BSw3r225.js → filter-D7NrAf6a.js} +1 -1
  105. modoboa/frontend_dist/assets/{forwardRefs-Cn7kyt_f.js → forwardRefs-Cpc3YYl6.js} +1 -1
  106. modoboa/frontend_dist/assets/{global.store-IwCGIFoO.js → global.store-DUP26-A5.js} +1 -1
  107. modoboa/frontend_dist/assets/importExport-Dn9vYw7T.js +1 -0
  108. modoboa/frontend_dist/assets/{index-BCUdq-Zu.js → index-DV9Li2cg.js} +2 -2
  109. modoboa/frontend_dist/assets/{index-CJ87ZZG1.js → index-DzL89N4E.js} +1 -1
  110. modoboa/frontend_dist/assets/{layout-CLqGxWz4.js → layout-CHO37cA6.js} +1 -1
  111. modoboa/frontend_dist/assets/{layout.store-CSmWF8Cf.js → layout.store-BxBoBlgf.js} +1 -1
  112. modoboa/frontend_dist/assets/{logs-DIXCC1C0.js → logs-DrTzylW7.js} +1 -1
  113. modoboa/frontend_dist/assets/{parameters-u6VE5cq8.js → parameters-Lgiqp7aw.js} +1 -1
  114. modoboa/frontend_dist/assets/{parameters.store-D4x8W7LS.js → parameters.store-C9k9DuTj.js} +1 -1
  115. modoboa/frontend_dist/assets/{permissions-C7XVO62l.js → permissions-mL5hLHcW.js} +1 -1
  116. modoboa/frontend_dist/assets/{ssrBoot-B-x5LB2_.js → ssrBoot-BsxW6uW4.js} +1 -1
  117. modoboa/frontend_dist/assets/{tag-DCSJ2lri.js → tag-CFK9dzMJ.js} +1 -1
  118. modoboa/frontend_dist/assets/transports-TO08iTXJ.js +1 -0
  119. modoboa/frontend_dist/assets/{webmail-D2rioayn.js → webmail-KrD8ZhNM.js} +1 -1
  120. modoboa/frontend_dist/config.json +1 -3
  121. modoboa/frontend_dist/index.html +1 -1
  122. modoboa/maillog/management/commands/logparser.py +1 -0
  123. modoboa/pdfcredentials/api/v2/serializers.py +17 -5
  124. modoboa/pdfcredentials/api/v2/tests.py +28 -0
  125. modoboa/pdfcredentials/app_settings.py +1 -1
  126. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/METADATA +2 -2
  127. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/RECORD +132 -130
  128. modoboa/frontend_dist/assets/AccountLayout-DMwguvdC.js +0 -1
  129. modoboa/frontend_dist/assets/ComposeEmailView-B6Tbw3MS.js +0 -1
  130. modoboa/frontend_dist/assets/ConnectedLayout-CNzvhsb9.js +0 -1
  131. modoboa/frontend_dist/assets/CreationForm-ChgnxngD.js +0 -1
  132. modoboa/frontend_dist/assets/CreationForm-DLumMdUy.css +0 -1
  133. modoboa/frontend_dist/assets/DomainEditView-DrZ9__pt.js +0 -1
  134. modoboa/frontend_dist/assets/DomainTransportForm-DEsm5zOa.js +0 -1
  135. modoboa/frontend_dist/assets/DomainView-RmJalGk7.js +0 -5
  136. modoboa/frontend_dist/assets/DomainsView-DzL9wtff.js +0 -1
  137. modoboa/frontend_dist/assets/EmptyLayout-FS-cJHKI.js +0 -1
  138. modoboa/frontend_dist/assets/ForwardEmailView-Lpw9sqB4.js +0 -1
  139. modoboa/frontend_dist/assets/IdentitiesView-7nHABB9n.js +0 -1
  140. modoboa/frontend_dist/assets/IdentitiesView-cvIq8q24.css +0 -1
  141. modoboa/frontend_dist/assets/ParametersView-Bkw5_CyJ.js +0 -1
  142. modoboa/frontend_dist/assets/ParametersView-CyAAGtfU.js +0 -1
  143. modoboa/frontend_dist/assets/ReplyEmailView-DcUkD2HR.js +0 -1
  144. modoboa/frontend_dist/assets/UserLayout-C6_Zjp6P.js +0 -1
  145. modoboa/frontend_dist/assets/VSpacer-pLqQLLwB.js +0 -1
  146. modoboa/frontend_dist/assets/importExport-B7mBfHxZ.js +0 -1
  147. {modoboa-2.4.9.data → modoboa-2.4.10.data}/scripts/modoboa-admin.py +0 -0
  148. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/WHEEL +0 -0
  149. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/entry_points.txt +0 -0
  150. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/licenses/LICENSE +0 -0
  151. {modoboa-2.4.9.dist-info → modoboa-2.4.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ import{V as s,a as c}from"./VApp-BKxnjOoi.js";import{r as m,c as t,o as e,w as o,a as r}from"./index-DV9Li2cg.js";import"./tag-CFK9dzMJ.js";import"./layout-CHO37cA6.js";import"./ssrBoot-BsxW6uW4.js";const u={__name:"EmptyView",setup(a){return(_,n)=>{const p=m("router-view");return e(),t(s,null,{default:o(()=>[r(p)]),_:1})}}},d={__name:"EmptyLayout",setup(a){return(_,n)=>(e(),t(c,null,{default:o(()=>[r(u)]),_:1}))}};export{d as default};
@@ -1 +1 @@
1
- import{b as le,n as ae,g as f,c as k,o as c,w as v,a as t,f as l,ak as g,h as ne,L as G,e as $,m as S,q as R,t as L,F as j,G as Z,M as we,s as he,B as ie,l as ee}from"./index-BCUdq-Zu.js";import{V as oe,r as N}from"./VForm-DwwrfSN8.js";import{V as me,a as de,b as ce}from"./VCard-BGXTuaE-.js";import{V as I}from"./VTextField-FBM5XwC5.js";import{V as fe}from"./VSwitch-BSifpScd.js";import{c as ve}from"./forwardRefs-Cn7kyt_f.js";import{V as pe}from"./VSpacer-pLqQLLwB.js";import{V as F,d as Ce}from"./VAvatar-DbAmPjyA.js";import{V as _e,a as te}from"./VRadioGroup-CnRLqIcd.js";import{V as z}from"./VSelect-CeY-emKK.js";import{V as Se}from"./VCheckbox-BM1QzY5m.js";import{_ as re}from"./MenuItems-Bck8ixGf.js";import{V as xe}from"./VToolbar-AQXTYlxS.js";import{V as Ue}from"./VDataTable-Etpc99CI.js";import{V as se}from"./VDialog-0NvxFg1X.js";import{V as Ae}from"./VAutocomplete-CQ5LL_Nk.js";import{V as ue}from"./VMenu-CTyyRlRb.js";import{V as Ne}from"./VTextarea-BwkVlXPS.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./VSelectionControl-BYdVI5Q9.js";import"./ssrBoot-B-x5LB2_.js";/* empty css */import"./VCheckboxBtn-DdHQE-gt.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";const $e={__name:"FilterSetForm",emits:["close"],setup(P,{emit:O}){const{$gettext:p}=le(),w=O,i=ae(),n=f({}),h=f(),b=f(!1);function a(){h.value.reset(),n.value={},w("close")}async function U(){const{valid:u}=await h.value.validate();if(u){b.value=!0;try{await g.createFilterSet(n.value),i.displayNotification({msg:p("Filter set created")}),a()}finally{b.value=!1}}}return(u,C)=>(c(),k(ce,{title:l(p)("Create a new filter set")},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:h},{default:v(()=>[t(I,{modelValue:n.value.name,"onUpdate:modelValue":C[0]||(C[0]=_=>n.value.name=_),label:l(p)("Name"),variant:"outlined",rules:[l(N).required]},null,8,["modelValue","label","rules"]),t(fe,{label:l(p)("Active"),modelValue:n.value.active,"onUpdate:modelValue":C[1]||(C[1]=_=>n.value.active=_),color:"primary"},null,8,["label","modelValue"])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(p)("Cancel"),variant:"plain",onClick:a},null,8,["text"]),t(F,{color:"primary",text:l(p)("Create"),onClick:U},null,8,["text"])]),_:1})]),_:1},8,["title"]))}},Re={class:"bg-grey-lighten-4 rounded pa-3"},Te={class:"mt-4 bg-grey-lighten-4 rounded pa-3"},qe={class:"mx-2 d-flex flex-column flex-grow-1"},De={__name:"FilterForm",props:{filterSet:{type:String,default:null},filter:{type:Object,required:!1,default:null}},emits:["close"],setup(P,{emit:O}){const p=P,w=O,i=ae(),{$gettext:n}=le(),h=f({}),b=f([]),a=f([]),U=f(),u=f(x()),C=f(!1),_=ne(()=>p.filter?n("Edit filter"):n("New filter")),M=ne(()=>p.filter?n("Update"):n("Create"));let B;G(()=>p.filter,d=>{d?(u.value=JSON.parse(JSON.stringify(d)),B=d.name):u.value=x()},{immediate:!0});function T(){w("close"),u.value=x()}function x(){return{match_type:"anyof",conditions:[{}],actions:[{args:{}}]}}function H(d){for(const V of b.value)if(V.name===d)return V.operators;return[]}function K(d){for(const V of b.value)if(V.name===u.value.conditions[d].name){for(const r of V.operators)if(r.name===u.value.conditions[d].operator)return r.type==="string"?"text":"number"}}function Q(d){for(const V of a.value)if(V.name===d)return V.args;return[]}function W(){u.value.conditions.push({name:b.value[0].name,operator:b.value[0].operators[0].name})}function J(d){u.value.conditions.splice(d,1)}function A(){u.value.actions.push({name:a.value[0].name,args:{}})}function X(d){u.value.actions.splice(d,1)}async function Y(){const{valid:d}=await U.value.validate();if(!d)return;C.value=!0;let V;const r=JSON.parse(JSON.stringify(u.value));for(const y of r.actions)for(const[m,E]of Object.entries(y.args))typeof E=="boolean"&&!E&&delete y.args[m];try{p.filter?(await g.updateFilter(p.filterSet,B,r),V=n("Filter updated")):(await g.createFilter(p.filterSet,r),V=n("Filter added"))}catch(y){y.response.status===400&&y.response.data&&(h.value=y.response.data);return}finally{C.value=!1}i.displayNotification({msg:V}),T()}return g.getFilterConditionTemplates().then(d=>{b.value=d.data,p.filter||(u.value.conditions[0].name=b.value[0].name,u.value.conditions[0].operator=b.value[0].operators[0].name)}),g.getFilterActionTemplates().then(d=>{a.value=d.data,p.filter||(u.value.actions[0].name=a.value[0].name)}),(d,V)=>(c(),k(ce,{title:_.value},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:U},{default:v(()=>[t(I,{modelValue:u.value.name,"onUpdate:modelValue":V[0]||(V[0]=r=>u.value.name=r),label:l(n)("Name"),variant:"outlined",density:"compact",rules:[l(N).required],"error-messages":h.value.name?h.value.name:[]},null,8,["modelValue","label","rules","error-messages"]),$("div",Re,[$("h4",null,L(l(n)("Conditions")),1),t(_e,{modelValue:u.value.match_type,"onUpdate:modelValue":V[1]||(V[1]=r=>u.value.match_type=r),color:"primary",inline:""},{default:v(()=>[t(te,{label:l(n)("All of the following"),value:"allof"},null,8,["label"]),t(te,{label:l(n)("Any of the following"),value:"anyof"},null,8,["label"]),t(te,{label:l(n)("All messages"),value:"all"},null,8,["label"])]),_:1},8,["modelValue"]),u.value.match_type!=="all"?(c(!0),S(j,{key:0},Z(u.value.conditions,(r,y)=>(c(),S("div",{key:`condition-${y}`,class:"d-flex align-start"},[t(z,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose a header"),items:b.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(z,{modelValue:r.operator,"onUpdate:modelValue":m=>r.operator=m,label:l(n)("Choose an operator"),items:H(r.name),"item-title":"label","item-value":"name",variant:"outlined",class:"ml-2",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(I,{modelValue:r.value,"onUpdate:modelValue":m=>r.value=m,label:l(n)("Value"),variant:"outlined",class:"ml-2",density:"compact",type:K(y),rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","type","rules"]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add condition"),color:"primary",onClick:W},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove condition"),color:"error",onClick:m=>J(y)},null,8,["title","onClick"]))]))),128)):R("",!0)]),$("div",Te,[$("h4",null,L(l(n)("Actions")),1),(c(!0),S(j,null,Z(u.value.actions,(r,y)=>(c(),S("div",{key:`action-${y}`,class:"d-flex align-start mt-2"},[t(z,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose an action"),items:a.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",class:"flex-grow-0"},null,8,["modelValue","onUpdate:modelValue","label","items"]),$("div",qe,[(c(!0),S(j,null,Z(Q(r.name),(m,E)=>(c(),S(j,{key:`arg-${y}-${E}`},[m.type==="list"?(c(),k(z,{key:0,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,items:m.choices,"item-title":"label",density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","items","rules"])):R("",!0),m.type==="string"?(c(),k(I,{key:1,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","rules"])):R("",!0),m.type==="boolean"?(c(),k(Se,{key:2,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,label:m.label,color:"primary",value:m.value,density:"compact"},null,8,["modelValue","onUpdate:modelValue","label","value"])):R("",!0)],64))),128))]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add action"),color:"primary",onClick:A},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove action"),color:"error",onClick:m=>X(y)},null,8,["title","onClick"]))]))),128))])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(n)("Cancel"),variant:"elevated",onClick:T},null,8,["text"]),t(F,{color:"primary",variant:"elevated",text:M.value,loading:C.value,onClick:Y},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},je={class:"pa-4"},Oe={class:"text-h6 font-weight-regular mb-4"},Be={key:0,class:"bg-white mt-4 pa-2"},Ee={class:"d-flex align-center"},ft={__name:"FiltersView",setup(P){const O=he(),p=we(),w=ae(),{$gettext:i}=le(),n=f([]),h=f([]),b=f(""),a=f(),U=f(!1),u=f([]),C=f(),_=f(!1),M=f(!1),B=f(null),T=f(!1),x=f(!1),H=[{title:i("Name"),key:"name"},{title:i("Active"),key:"enabled"},{title:"",key:"filter_actions",align:"end"}];G(a,e=>{e?(A(e.name),p.params.filterset!==e.name&&O.push({name:"AccountFilters",params:{filterset:e.name}})):O.push({name:"AccountFilters"})}),G(_,e=>{e?g.downloadFilterSet(a.value.name).then(o=>{b.value=o.data}):A(a.value.name)}),G(b,()=>{u.value.length&&(u.value=[])});function K(e){let o=e.name;return e.active?o+=" ("+i("active")+")":o+=" ("+i("inactive")+")",o}function Q(){T.value=!1,J()}function W(){x.value=!1,B.value=null,A(a.value.name)}function J(){g.getFilterSets().then(e=>{if(e.data.length>0&&e.data[0].active&&e.data[0].name===null?n.value=e.data.slice(1):n.value=e.data,!a.value&&p.params.filterset){for(const o of n.value)if(o.name===p.params.filterset){a.value=o;break}}})}function A(e){U.value=!0,g.getFilters(e).then(o=>{h.value=o.data,U.value=!1}).catch(o=>{o.response.status===518&&(_.value=!0,w.displayNotification({msg:i("Failed to display template. Using raw mode"),type:"warning"}))})}function X(e){B.value=e,x.value=!0}function Y(e){g.enableFilter(a.value.name,e.name).then(()=>{e.enabled=!0,w.displayNotification({msg:i("Filter enabled")})})}function d(e){g.disableFilter(a.value.name,e.name).then(()=>{e.enabled=!1,w.displayNotification({msg:i("Filter disabled")})})}function V(e){g.deleteFilter(a.value.name,e.name).then(()=>{w.displayNotification({msg:i("Filter removed")}),A(a.value.name)})}async function r(e){await g.moveFilterDown(a.value.name,e.name),A(a.value.name)}async function y(e){await g.moveFilterUp(a.value.name,e.name),A(a.value.name)}async function m(e){await g.activateFilterSet(e.name),w.displayNotification({msg:i("Filter set activated")})}async function E(e){await g.deleteFilterSet(e.name),w.displayNotification({msg:i("Filter set removed")}),a.value=null,J()}async function q(){const{valid:e}=await C.value.validate();if(!e)return;const o={content:b.value};M.value=!0;try{await g.saveFilterSet(a.value.name,o),w.displayNotification({msg:i("Filter set updated")})}catch(s){s.response.status===400&&s.response.data.content&&(u.value=s.response.data.content)}finally{M.value=!1}}async function Ve(e){const o=await g.downloadFilterSet(e.name),s=new Blob([o.data],{type:"text/plain"}),D=document.createElement("a");D.href=URL.createObjectURL(s),D.download=`${e.name}.txt`,D.click(),URL.revokeObjectURL(D.href)}const ye=[{label:i("Edit"),icon:"mdi-circle-edit-outline",onClick:X},{label:i("Delete"),icon:"mdi-delete-outline",onClick:V,color:"red"}];function be(e,o){const s=[...ye];return e.enabled?s.push({label:i("Disable"),icon:"mdi-stop",color:"red",onClick:d}):s.push({label:i("Enable"),icon:"mdi-check",color:"success",onClick:Y}),o!==h.value.length-1&&s.push({label:i("Move down"),icon:"mdi-arrow-down",onClick:r}),o!==0&&s.push({label:i("Move up"),icon:"mdi-arrow-up",onClick:y}),s}const ge=[{label:i("Download filter set"),icon:"mdi-download",onClick:Ve},{label:i("Delete filter set"),color:"error",icon:"mdi-trash-can",onClick:E}];function Fe(){const e=[];return a.value.active||e.push({label:i("Activate filter set"),color:"success",icon:"mdi-check",onClick:m}),e.concat(ge)}return J(),(e,o)=>(c(),S(j,null,[$("div",je,[$("div",Oe,L(l(i)("Message filters")),1),t(xe,{color:"white",flat:""},{default:v(()=>[t(Ae,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=s=>a.value=s),label:l(i)("Select a filter set"),items:n.value,"item-title":K,"return-object":"",variant:"outlined","hide-details":"",class:"flex-grow-0",style:{width:"200px"},density:"compact"},null,8,["modelValue","label","items"]),t(F,{color:"primary",icon:"mdi-plus",size:"small",class:"mx-4",title:l(i)("Add filter set"),onClick:o[1]||(o[1]=s=>T.value=!0)},null,8,["title"]),a.value?(c(),k(ue,{key:0},{activator:v(({props:s})=>[t(F,ie({icon:"mdi-dots-vertical"},s,{size:"small",color:"default"}),null,16)]),default:v(()=>[t(re,{items:Fe(),obj:a.value},null,8,["items","obj"])]),_:1})):R("",!0),a.value?(c(),k(fe,{key:1,modelValue:_.value,"onUpdate:modelValue":o[2]||(o[2]=s=>_.value=s),label:l(i)("Raw mode"),color:"primary",class:"ml-4","hide-details":""},null,8,["modelValue","label"])):R("",!0)]),_:1}),a.value?(c(),S("div",Be,[_.value?(c(),S(j,{key:1},[t(oe,{ref_key:"rawFormRef",ref:C},{default:v(()=>[t(Ne,{modelValue:b.value,"onUpdate:modelValue":o[4]||(o[4]=s=>b.value=s),variant:"outlined","auto-grow":"",rules:[l(N).required],"error-messages":u.value},null,8,["modelValue","rules","error-messages"])]),_:1},512),t(F,{color:"success",loading:M.value,class:"mt-2",onClick:q},{default:v(()=>[ee(L(l(i)("Save")),1)]),_:1},8,["loading"])],64)):(c(),S(j,{key:0},[$("div",Ee,[t(F,{color:"primary",title:l(i)("Add new filter"),class:"mx-auto",onClick:o[3]||(o[3]=s=>x.value=!0)},{default:v(()=>[t(Ce,{icon:"mdi-plus"}),ee(" "+L(l(i)("Add")),1)]),_:1},8,["title"])]),t(Ue,{headers:H,items:h.value,loading:U.value},{"item.enabled":v(({item:s})=>[ee(L(e.$yesno(s.enabled)),1)]),"item.filter_actions":v(({index:s,item:D})=>[t(ue,{"offset-y":""},{activator:v(({props:ke})=>[t(F,ie({icon:"mdi-dots-horizontal",variant:"text"},ke),null,16)]),default:v(()=>[t(re,{items:be(D,s),obj:D},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["items","loading"])],64))])):R("",!0)]),t(se,{modelValue:T.value,"onUpdate:modelValue":o[5]||(o[5]=s=>T.value=s),"max-width":"600"},{default:v(()=>[t($e,{onClose:Q})]),_:1},8,["modelValue"]),t(se,{modelValue:x.value,"onUpdate:modelValue":o[6]||(o[6]=s=>x.value=s),"max-width":"800"},{default:v(()=>[a.value?(c(),k(De,{key:0,"filter-set":a.value.name,filter:B.value,onClose:W},null,8,["filter-set","filter"])):R("",!0)]),_:1},8,["modelValue"])],64))}};export{ft as default};
1
+ import{b as le,n as ae,g as f,c as k,o as c,w as v,a as t,f as l,ak as g,h as ne,L as G,e as $,m as S,q as R,t as L,F as j,G as Z,M as we,s as he,B as ie,l as ee}from"./index-DV9Li2cg.js";import{V as oe,r as N}from"./VForm-CpoZf60D.js";import{V as me,a as de,b as ce}from"./VCard-DFWiFORP.js";import{V as I}from"./VTextField-CLwRV0Cb.js";import{V as fe}from"./VSwitch-Chg5o-Cp.js";import{c as ve}from"./forwardRefs-Cpc3YYl6.js";import{V as pe}from"./VSpacer-C6PZ3X24.js";import{V as F,d as Ce}from"./VAvatar-BAgTUIvX.js";import{V as _e,a as te}from"./VRadioGroup-D8ypjYOO.js";import{V as z}from"./VSelect-CS51PDEt.js";import{V as Se}from"./VCheckbox-CKsH_vq3.js";import{_ as re}from"./MenuItems-kHCMzR5E.js";import{V as xe}from"./VToolbar-CGwhgdmI.js";import{V as Ue}from"./VDataTable-D_0_xJTl.js";import{V as se}from"./VDialog-CZqM2Ofu.js";import{V as Ae}from"./VAutocomplete-Cc4_tcl1.js";import{V as ue}from"./VMenu-B_dVqOmo.js";import{V as Ne}from"./VTextarea-Di8jbl8m.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./VSelectionControl-DiOqtY38.js";import"./ssrBoot-BsxW6uW4.js";/* empty css */import"./VCheckboxBtn-j7di4leN.js";import"./VChip-nZ0uhY7t.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const $e={__name:"FilterSetForm",emits:["close"],setup(P,{emit:O}){const{$gettext:p}=le(),w=O,i=ae(),n=f({}),h=f(),b=f(!1);function a(){h.value.reset(),n.value={},w("close")}async function U(){const{valid:u}=await h.value.validate();if(u){b.value=!0;try{await g.createFilterSet(n.value),i.displayNotification({msg:p("Filter set created")}),a()}finally{b.value=!1}}}return(u,C)=>(c(),k(ce,{title:l(p)("Create a new filter set")},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:h},{default:v(()=>[t(I,{modelValue:n.value.name,"onUpdate:modelValue":C[0]||(C[0]=_=>n.value.name=_),label:l(p)("Name"),variant:"outlined",rules:[l(N).required]},null,8,["modelValue","label","rules"]),t(fe,{label:l(p)("Active"),modelValue:n.value.active,"onUpdate:modelValue":C[1]||(C[1]=_=>n.value.active=_),color:"primary"},null,8,["label","modelValue"])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(p)("Cancel"),variant:"plain",onClick:a},null,8,["text"]),t(F,{color:"primary",text:l(p)("Create"),onClick:U},null,8,["text"])]),_:1})]),_:1},8,["title"]))}},Re={class:"bg-grey-lighten-4 rounded pa-3"},Te={class:"mt-4 bg-grey-lighten-4 rounded pa-3"},qe={class:"mx-2 d-flex flex-column flex-grow-1"},De={__name:"FilterForm",props:{filterSet:{type:String,default:null},filter:{type:Object,required:!1,default:null}},emits:["close"],setup(P,{emit:O}){const p=P,w=O,i=ae(),{$gettext:n}=le(),h=f({}),b=f([]),a=f([]),U=f(),u=f(x()),C=f(!1),_=ne(()=>p.filter?n("Edit filter"):n("New filter")),M=ne(()=>p.filter?n("Update"):n("Create"));let B;G(()=>p.filter,d=>{d?(u.value=JSON.parse(JSON.stringify(d)),B=d.name):u.value=x()},{immediate:!0});function T(){w("close"),u.value=x()}function x(){return{match_type:"anyof",conditions:[{}],actions:[{args:{}}]}}function H(d){for(const V of b.value)if(V.name===d)return V.operators;return[]}function K(d){for(const V of b.value)if(V.name===u.value.conditions[d].name){for(const r of V.operators)if(r.name===u.value.conditions[d].operator)return r.type==="string"?"text":"number"}}function Q(d){for(const V of a.value)if(V.name===d)return V.args;return[]}function W(){u.value.conditions.push({name:b.value[0].name,operator:b.value[0].operators[0].name})}function J(d){u.value.conditions.splice(d,1)}function A(){u.value.actions.push({name:a.value[0].name,args:{}})}function X(d){u.value.actions.splice(d,1)}async function Y(){const{valid:d}=await U.value.validate();if(!d)return;C.value=!0;let V;const r=JSON.parse(JSON.stringify(u.value));for(const y of r.actions)for(const[m,E]of Object.entries(y.args))typeof E=="boolean"&&!E&&delete y.args[m];try{p.filter?(await g.updateFilter(p.filterSet,B,r),V=n("Filter updated")):(await g.createFilter(p.filterSet,r),V=n("Filter added"))}catch(y){y.response.status===400&&y.response.data&&(h.value=y.response.data);return}finally{C.value=!1}i.displayNotification({msg:V}),T()}return g.getFilterConditionTemplates().then(d=>{b.value=d.data,p.filter||(u.value.conditions[0].name=b.value[0].name,u.value.conditions[0].operator=b.value[0].operators[0].name)}),g.getFilterActionTemplates().then(d=>{a.value=d.data,p.filter||(u.value.actions[0].name=a.value[0].name)}),(d,V)=>(c(),k(ce,{title:_.value},{default:v(()=>[t(me,null,{default:v(()=>[t(oe,{ref_key:"formRef",ref:U},{default:v(()=>[t(I,{modelValue:u.value.name,"onUpdate:modelValue":V[0]||(V[0]=r=>u.value.name=r),label:l(n)("Name"),variant:"outlined",density:"compact",rules:[l(N).required],"error-messages":h.value.name?h.value.name:[]},null,8,["modelValue","label","rules","error-messages"]),$("div",Re,[$("h4",null,L(l(n)("Conditions")),1),t(_e,{modelValue:u.value.match_type,"onUpdate:modelValue":V[1]||(V[1]=r=>u.value.match_type=r),color:"primary",inline:""},{default:v(()=>[t(te,{label:l(n)("All of the following"),value:"allof"},null,8,["label"]),t(te,{label:l(n)("Any of the following"),value:"anyof"},null,8,["label"]),t(te,{label:l(n)("All messages"),value:"all"},null,8,["label"])]),_:1},8,["modelValue"]),u.value.match_type!=="all"?(c(!0),S(j,{key:0},Z(u.value.conditions,(r,y)=>(c(),S("div",{key:`condition-${y}`,class:"d-flex align-start"},[t(z,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose a header"),items:b.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(z,{modelValue:r.operator,"onUpdate:modelValue":m=>r.operator=m,label:l(n)("Choose an operator"),items:H(r.name),"item-title":"label","item-value":"name",variant:"outlined",class:"ml-2",density:"compact",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","items","rules"]),t(I,{modelValue:r.value,"onUpdate:modelValue":m=>r.value=m,label:l(n)("Value"),variant:"outlined",class:"ml-2",density:"compact",type:K(y),rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","label","type","rules"]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add condition"),color:"primary",onClick:W},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove condition"),color:"error",onClick:m=>J(y)},null,8,["title","onClick"]))]))),128)):R("",!0)]),$("div",Te,[$("h4",null,L(l(n)("Actions")),1),(c(!0),S(j,null,Z(u.value.actions,(r,y)=>(c(),S("div",{key:`action-${y}`,class:"d-flex align-start mt-2"},[t(z,{modelValue:r.name,"onUpdate:modelValue":m=>r.name=m,label:l(n)("Choose an action"),items:a.value,"item-title":"label","item-value":"name",variant:"outlined",density:"compact",class:"flex-grow-0"},null,8,["modelValue","onUpdate:modelValue","label","items"]),$("div",qe,[(c(!0),S(j,null,Z(Q(r.name),(m,E)=>(c(),S(j,{key:`arg-${y}-${E}`},[m.type==="list"?(c(),k(z,{key:0,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,items:m.choices,"item-title":"label",density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","items","rules"])):R("",!0),m.type==="string"?(c(),k(I,{key:1,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,density:"compact",variant:"outlined",rules:[l(N).required]},null,8,["modelValue","onUpdate:modelValue","rules"])):R("",!0),m.type==="boolean"?(c(),k(Se,{key:2,modelValue:r.args[m.name],"onUpdate:modelValue":q=>r.args[m.name]=q,label:m.label,color:"primary",value:m.value,density:"compact"},null,8,["modelValue","onUpdate:modelValue","label","value"])):R("",!0)],64))),128))]),y===0?(c(),k(F,{key:0,icon:"mdi-plus",variant:"text",title:l(n)("Add action"),color:"primary",onClick:A},null,8,["title"])):(c(),k(F,{key:1,icon:"mdi-trash-can",variant:"text",title:l(n)("Remove action"),color:"error",onClick:m=>X(y)},null,8,["title","onClick"]))]))),128))])]),_:1},512)]),_:1}),t(ve),t(de,null,{default:v(()=>[t(pe),t(F,{text:l(n)("Cancel"),variant:"elevated",onClick:T},null,8,["text"]),t(F,{color:"primary",variant:"elevated",text:M.value,loading:C.value,onClick:Y},null,8,["text","loading"])]),_:1})]),_:1},8,["title"]))}},je={class:"pa-4"},Oe={class:"text-h6 font-weight-regular mb-4"},Be={key:0,class:"bg-white mt-4 pa-2"},Ee={class:"d-flex align-center"},ft={__name:"FiltersView",setup(P){const O=he(),p=we(),w=ae(),{$gettext:i}=le(),n=f([]),h=f([]),b=f(""),a=f(),U=f(!1),u=f([]),C=f(),_=f(!1),M=f(!1),B=f(null),T=f(!1),x=f(!1),H=[{title:i("Name"),key:"name"},{title:i("Active"),key:"enabled"},{title:"",key:"filter_actions",align:"end"}];G(a,e=>{e?(A(e.name),p.params.filterset!==e.name&&O.push({name:"AccountFilters",params:{filterset:e.name}})):O.push({name:"AccountFilters"})}),G(_,e=>{e?g.downloadFilterSet(a.value.name).then(o=>{b.value=o.data}):A(a.value.name)}),G(b,()=>{u.value.length&&(u.value=[])});function K(e){let o=e.name;return e.active?o+=" ("+i("active")+")":o+=" ("+i("inactive")+")",o}function Q(){T.value=!1,J()}function W(){x.value=!1,B.value=null,A(a.value.name)}function J(){g.getFilterSets().then(e=>{if(e.data.length>0&&e.data[0].active&&e.data[0].name===null?n.value=e.data.slice(1):n.value=e.data,!a.value&&p.params.filterset){for(const o of n.value)if(o.name===p.params.filterset){a.value=o;break}}})}function A(e){U.value=!0,g.getFilters(e).then(o=>{h.value=o.data,U.value=!1}).catch(o=>{o.response.status===518&&(_.value=!0,w.displayNotification({msg:i("Failed to display template. Using raw mode"),type:"warning"}))})}function X(e){B.value=e,x.value=!0}function Y(e){g.enableFilter(a.value.name,e.name).then(()=>{e.enabled=!0,w.displayNotification({msg:i("Filter enabled")})})}function d(e){g.disableFilter(a.value.name,e.name).then(()=>{e.enabled=!1,w.displayNotification({msg:i("Filter disabled")})})}function V(e){g.deleteFilter(a.value.name,e.name).then(()=>{w.displayNotification({msg:i("Filter removed")}),A(a.value.name)})}async function r(e){await g.moveFilterDown(a.value.name,e.name),A(a.value.name)}async function y(e){await g.moveFilterUp(a.value.name,e.name),A(a.value.name)}async function m(e){await g.activateFilterSet(e.name),w.displayNotification({msg:i("Filter set activated")})}async function E(e){await g.deleteFilterSet(e.name),w.displayNotification({msg:i("Filter set removed")}),a.value=null,J()}async function q(){const{valid:e}=await C.value.validate();if(!e)return;const o={content:b.value};M.value=!0;try{await g.saveFilterSet(a.value.name,o),w.displayNotification({msg:i("Filter set updated")})}catch(s){s.response.status===400&&s.response.data.content&&(u.value=s.response.data.content)}finally{M.value=!1}}async function Ve(e){const o=await g.downloadFilterSet(e.name),s=new Blob([o.data],{type:"text/plain"}),D=document.createElement("a");D.href=URL.createObjectURL(s),D.download=`${e.name}.txt`,D.click(),URL.revokeObjectURL(D.href)}const ye=[{label:i("Edit"),icon:"mdi-circle-edit-outline",onClick:X},{label:i("Delete"),icon:"mdi-delete-outline",onClick:V,color:"red"}];function be(e,o){const s=[...ye];return e.enabled?s.push({label:i("Disable"),icon:"mdi-stop",color:"red",onClick:d}):s.push({label:i("Enable"),icon:"mdi-check",color:"success",onClick:Y}),o!==h.value.length-1&&s.push({label:i("Move down"),icon:"mdi-arrow-down",onClick:r}),o!==0&&s.push({label:i("Move up"),icon:"mdi-arrow-up",onClick:y}),s}const ge=[{label:i("Download filter set"),icon:"mdi-download",onClick:Ve},{label:i("Delete filter set"),color:"error",icon:"mdi-trash-can",onClick:E}];function Fe(){const e=[];return a.value.active||e.push({label:i("Activate filter set"),color:"success",icon:"mdi-check",onClick:m}),e.concat(ge)}return J(),(e,o)=>(c(),S(j,null,[$("div",je,[$("div",Oe,L(l(i)("Message filters")),1),t(xe,{color:"white",flat:""},{default:v(()=>[t(Ae,{modelValue:a.value,"onUpdate:modelValue":o[0]||(o[0]=s=>a.value=s),label:l(i)("Select a filter set"),items:n.value,"item-title":K,"return-object":"",variant:"outlined","hide-details":"",class:"flex-grow-0",style:{width:"200px"},density:"compact"},null,8,["modelValue","label","items"]),t(F,{color:"primary",icon:"mdi-plus",size:"small",class:"mx-4",title:l(i)("Add filter set"),onClick:o[1]||(o[1]=s=>T.value=!0)},null,8,["title"]),a.value?(c(),k(ue,{key:0},{activator:v(({props:s})=>[t(F,ie({icon:"mdi-dots-vertical"},s,{size:"small",color:"default"}),null,16)]),default:v(()=>[t(re,{items:Fe(),obj:a.value},null,8,["items","obj"])]),_:1})):R("",!0),a.value?(c(),k(fe,{key:1,modelValue:_.value,"onUpdate:modelValue":o[2]||(o[2]=s=>_.value=s),label:l(i)("Raw mode"),color:"primary",class:"ml-4","hide-details":""},null,8,["modelValue","label"])):R("",!0)]),_:1}),a.value?(c(),S("div",Be,[_.value?(c(),S(j,{key:1},[t(oe,{ref_key:"rawFormRef",ref:C},{default:v(()=>[t(Ne,{modelValue:b.value,"onUpdate:modelValue":o[4]||(o[4]=s=>b.value=s),variant:"outlined","auto-grow":"",rules:[l(N).required],"error-messages":u.value},null,8,["modelValue","rules","error-messages"])]),_:1},512),t(F,{color:"success",loading:M.value,class:"mt-2",onClick:q},{default:v(()=>[ee(L(l(i)("Save")),1)]),_:1},8,["loading"])],64)):(c(),S(j,{key:0},[$("div",Ee,[t(F,{color:"primary",title:l(i)("Add new filter"),class:"mx-auto",onClick:o[3]||(o[3]=s=>x.value=!0)},{default:v(()=>[t(Ce,{icon:"mdi-plus"}),ee(" "+L(l(i)("Add")),1)]),_:1},8,["title"])]),t(Ue,{headers:H,items:h.value,loading:U.value},{"item.enabled":v(({item:s})=>[ee(L(e.$yesno(s.enabled)),1)]),"item.filter_actions":v(({index:s,item:D})=>[t(ue,{"offset-y":""},{activator:v(({props:ke})=>[t(F,ie({icon:"mdi-dots-horizontal",variant:"text"},ke),null,16)]),default:v(()=>[t(re,{items:be(D,s),obj:D},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["items","loading"])],64))])):R("",!0)]),t(se,{modelValue:T.value,"onUpdate:modelValue":o[5]||(o[5]=s=>T.value=s),"max-width":"600"},{default:v(()=>[t($e,{onClose:Q})]),_:1},8,["modelValue"]),t(se,{modelValue:x.value,"onUpdate:modelValue":o[6]||(o[6]=s=>x.value=s),"max-width":"800"},{default:v(()=>[a.value?(c(),k(De,{key:0,"filter-set":a.value.name,filter:B.value,onClose:W},null,8,["filter-set","filter"])):R("",!0)]),_:1},8,["modelValue"])],64))}};export{ft as default};
@@ -0,0 +1 @@
1
+ import{g as i,M as m,c as p,f as a,o as e}from"./index-DV9Li2cg.js";import{_ as n}from"./ComposeEmailForm-CNfI7ept.js";import{a as l}from"./webmail-KrD8ZhNM.js";import"./index-DzL89N4E.js";import"./VForm-CpoZf60D.js";import"./tag-CFK9dzMJ.js";import"./VTextField-CLwRV0Cb.js";import"./VAvatar-BAgTUIvX.js";import"./VProgressCircular-CrEXxs7k.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VCard-DFWiFORP.js";import"./VFileInput-Cv9DIPki.js";import"./VChip-nZ0uhY7t.js";import"./VTable-KsiZ3cBz.js";import"./VSpacer-C6PZ3X24.js";/* empty css */import"./HtmlEditor-uM4AtIGi.js";import"./VTextarea-Di8jbl8m.js";import"./contacts-Bqckz8sr.js";import"./VToolbar-CGwhgdmI.js";import"./VRow-C_Ydf6yr.js";import"./VSelect-CS51PDEt.js";import"./VMenu-B_dVqOmo.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./filter-D7NrAf6a.js";import"./VDialog-CZqM2Ofu.js";const J={__name:"ForwardEmailView",setup(s){const o=m(),r=i();return l.getEmailContent(o.query.mailbox,o.query.mailid,{context:"forward"}).then(t=>{r.value=t.data}),(t,c)=>(e(),p(a(n),{"original-email":r.value},null,8,["original-email"]))}};export{J as default};
@@ -1,4 +1,4 @@
1
- import{an as Jo,ac as Ko,d as qo,aA as Qi,ao as Uo,g as Jn,ag as _o,bH as Go,bM as Yo,a6 as Xo,f as A,bN as Zo,L as Qo,m as el,o as Cn,e as tl,a as ee,H as nl,c as zr,q as Lr,w as Fr,J as be}from"./index-BCUdq-Zu.js";import{V as ue,X as rl,Y as il}from"./VAvatar-DbAmPjyA.js";import{c as Vr}from"./forwardRefs-Cn7kyt_f.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{an as Jo,ac as Ko,d as qo,aA as Qi,ao as Uo,g as Jn,ag as _o,bH as Go,bM as Yo,a6 as Xo,f as A,bN as Zo,L as Qo,m as el,o as Cn,e as tl,a as ee,H as nl,c as zr,q as Lr,w as Fr,J as be}from"./index-DV9Li2cg.js";import{V as ue,X as rl,Y as il}from"./VAvatar-BAgTUIvX.js";import{c as Vr}from"./forwardRefs-Cpc3YYl6.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(`
@@ -0,0 +1 @@
1
+ import{_ as K,Q as oe,R as Se,c as L,o as R,w as t,a,m as Q,F as ce,G as Ue,l as V,t as _,k as pe,b as J,n as le,g as r,h as M,d as Ee,q as Y,B as te,r as Le,H as Ne,f as y,N as q,s as fe,i as X,e as j}from"./index-DV9Li2cg.js";import{_ as ne}from"./MenuItems-kHCMzR5E.js";import{_ as ie}from"./ConfirmDialog-BvqxQsD1.js";import{V as De,a as Te,b as ve}from"./VCard-DFWiFORP.js";import{V as ye}from"./VCheckbox-CKsH_vq3.js";import{V as je}from"./VSpacer-C6PZ3X24.js";import{V as N,d as Z}from"./VAvatar-BAgTUIvX.js";import{a as H}from"./aliases-c3n-dCV_.js";import{d as Me}from"./index-DzL89N4E.js";import{V as ae}from"./VMenu-B_dVqOmo.js";import{V as ze}from"./VChip-nZ0uhY7t.js";import{V as _e,a as Pe}from"./VToolbar-CGwhgdmI.js";import{V as Be}from"./VTextField-CLwRV0Cb.js";import{V as be,a as se,b as re}from"./forwardRefs-Cpc3YYl6.js";import{V as qe,a as ue}from"./VRadioGroup-D8ypjYOO.js";import{V as Oe}from"./VDataTableServer-BWTt4Mzi.js";import{V as W}from"./VDialog-CZqM2Ofu.js";import{_ as Ge,a as We}from"./AliasRecipientForm-DVZXWaUX.js";import{_ as ke}from"./CreationForm-C9Kh05ax.js";import{_ as Qe,A as Ye,a as He,b as Je}from"./AccountAliasForm-DVXatAhB.js";import{u as Ke}from"./permissions-mL5hLHcW.js";import{a as B,V as de}from"./VRow-C_Ydf6yr.js";import{u as Xe}from"./domains.store-ChZgLcqP.js";import{_ as Ze,i as et}from"./importExport-Dn9vYw7T.js";import{V as tt}from"./VSwitch-Chg5o-Cp.js";import"./tag-CFK9dzMJ.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VProgressCircular-CrEXxs7k.js";/* empty css */import"./ssrBoot-BsxW6uW4.js";import"./VDataTable-D_0_xJTl.js";import"./VSelect-CS51PDEt.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";import"./EmailField-BEKxuYni.js";import"./VForm-CpoZf60D.js";import"./domains-nBMR-fRf.js";import"./VTextarea-Di8jbl8m.js";import"./VWindowItem-wWSFAGI-.js";import"./VContainer-Btam4lk2.js";import"./VSheet-5VVWtHvs.js";import"./ChoiceField-7eU7c_rI.js";import"./VAlert-B7mzOJIO.js";import"./AccountPasswordSubForm-g3IEGrgM.js";import"./VFileInput-Cv9DIPki.js";const ee="identities",me={getAll(){return K.get(`${ee}/`)},exportAll(){return K.get(`/${ee}/export/`)},importFromCSV(D){return K.post(`/${ee}/import/`,D,{headers:{"Content-Type":"multipart/form-data"}})}},at={__name:"ChooseColumnsForm",props:oe({availableColumns:{type:Array,default:null},mandatoryColumns:{type:Array,default:null},columns:{type:Array,default:null}},{modelValue:{type:Array},modelModifiers:{}}),emits:oe(["apply"],["update:modelValue"]),setup(D,{emit:b}){const e=D,I=Se(D,"modelValue"),S=b,C=()=>{S("apply",I.value)};return I.value=e.columns.map(g=>g.key),(g,k)=>(R(),L(ve,{title:g.$gettext("Choose columns to display")},{default:t(()=>[a(De,null,{default:t(()=>[(R(!0),Q(ce,null,Ue(e.availableColumns,$=>(R(),Q("div",{key:$.key},[a(ye,{modelValue:I.value,"onUpdate:modelValue":k[0]||(k[0]=p=>I.value=p),value:$.key,label:$.title,color:"primary","hide-details":"",density:"compact",disabled:e.mandatoryColumns.includes($.key)},null,8,["modelValue","value","label","disabled"])]))),128))]),_:1}),a(Te,null,{default:t(()=>[a(je),a(N,{color:"primary",variant:"outlined",onClick:C},{default:t(()=>[V(_(g.$gettext("Apply")),1)]),_:1})]),_:1})]),_:1},8,["title"]))}},lt={__name:"IdentityList",setup(D,{expose:b}){const{$gettext:e}=J(),I=fe(),{displayNotification:S}=le(),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"}},g=[C.address,C.enabled,C.recipients],k={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"},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"}},$=[k.username,k.is_active,k.role],p=r("account"),s=r(0),c=r([]),w=r(!1),x=r(""),n=r([]),d=r(!1),F=r(),z=r(),T=r(1),v=r(10),A=r([]),h=r($),P=r(!1),O=M(()=>h.value.concat([{title:e("Actions"),key:"actions",sortable:!1,align:"end"}])),G=M(()=>p.value==="account"?Object.values(k):Object.values(C)),u=M(()=>p.value==="account"?["username"]:["address"]);async function m(i){w.value=!0,c.value=[],A.value=[],i==="account"?h.value=$:h.value=g,await U()}async function f({page:i,itemsPerPage:o,sortBy:E}){T.value=i,v.value=o,A.value=E,U()}async function U(){w.value=!0;const i={page:T.value||1,page_size:v.value||10};A.value&&A.value.length&&(i.ordering=A.value.map(o=>o.order!=="asc"?`-${o.key}`:o.key).join(",")),x.value!==""&&(i.search=x.value);try{const o=p.value==="account"?await q.getAll(i):await H.getAll(i);c.value=o.data.results,s.value=o.data.count,n.value=[]}finally{w.value=!1}}function Ve(i){h.value=G.value.filter(o=>i.includes(o.key)),P.value=!1}function ge(i){const o=[];return p.value==="account"?(i.possible_actions.forEach(E=>{o.push({label:E.label,icon:E.icon,onClick:l=>{E.name==="get_credentials"&&Ae(l),U()}})}),o.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:Ce}),o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:we,color:"red"})):p.value==="alias"&&(o.push({label:e("Edit"),icon:"mdi-circle-edit-outline",onClick:he}),o.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:Re,color:"red"})),o}function xe(){const i=[];return n.value.length>0&&i.push({label:e("Delete"),icon:"mdi-delete-outline",onClick:$e,color:"red"}),i}function Ce(i){I.push({name:"AccountEdit",params:{id:i.pk}})}async function we(i){if(await z.value.open(e("Warning"),e("Are you sure you want to delete this identity ?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){w.value=!1;try{await q.delete(i.pk,{keepdir:d.value}),U(),S({msg:e("Account deleted")})}finally{w.value=!1}}}async function Ae(i){const o=await q.getCredentials(i.pk),E=new Blob([o.data],{type:o.headers["Content-Type"]}),l=document.createElement("a");l.href=URL.createObjectURL(E),l.download=`credentials_${i.pk}.pdf`,l.click(),URL.revokeObjectURL(l.href)}function he(){}function $e(){}async function Re(i){if(await F.value.open(e("Warning"),e("Are you sure you want to delete this alias?"),{color:"error",agreeLabel:e("Yes"),cancelLabel:e("No")})){w.value=!1;try{await H.delete(i.pk),U(),S({msg:e("Alias deleted")})}finally{w.value=!1}}}function Ie(i){return i.recipients?i.recipients.join(", "):""}return Ee(()=>{U()}),b({fetchIdentities:U}),U=Me(U,500),(i,o)=>{const E=Le("router-link");return R(),L(ve,{class:"mt-6"},{default:t(()=>[a(Oe,{modelValue:n.value,"onUpdate:modelValue":o[3]||(o[3]=l=>n.value=l),headers:O.value,items:c.value,search:x.value,loading:w.value,"items-length":s.value,page:T.value,"items-per-page":v.value,"item-value":"pk",elevation:"0","show-select":"","sort-by":A.value,"onUpdate:options":f},{top:t(()=>[a(_e,{flat:"",color:"white"},{extension:t(()=>[a(qe,{modelValue:p.value,"onUpdate:modelValue":[o[2]||(o[2]=l=>p.value=l),m],inline:"",readonly:w.value,"hide-details":""},{default:t(()=>[a(ue,{color:"primary",label:y(e)("Accounts"),value:"account"},null,8,["label"]),a(ue,{color:"primary",label:y(e)("Alias"),value:"alias"},null,8,["label"])]),_:1},8,["modelValue","readonly"])]),default:t(()=>[a(Be,{modelValue:x.value,"onUpdate:modelValue":o[0]||(o[0]=l=>x.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:y(e)("Search"),variant:"outlined","hide-details":"","single-line":"",flat:"",density:"compact",class:"flex-grow-0 w-33 mr-4"},null,8,["modelValue","placeholder"]),Ne(i.$slots,"extraActions",{},void 0,!0),a(N,{variant:"text",icon:"mdi-format-columns",title:y(e)("Customize displayed columns"),onClick:o[1]||(o[1]=l=>P.value=!0)},null,8,["title"]),n.value.length>1?(R(),L(ae,{key:0,location:"bottom"},{activator:t(({props:l})=>[a(N,te({"append-icon":"mdi-chevron-down"},l,{size:"small",variant:"flat"}),{default:t(()=>[V(_(y(e)("Actions")),1)]),_:2},1040)]),default:t(()=>[a(be,{density:"compact"},{default:t(()=>[a(ne,{items:xe()},null,8,["items"])]),_:1})]),_:1})):Y("",!0),a(N,{variant:"text",icon:"mdi-reload",onClick:U})]),_:3})]),"item.username":t(({item:l})=>[a(E,{to:{name:"AccountDetail",params:{id:l.pk}}},{default:t(()=>[V(_(l.username),1)]),_:2},1032,["to"])]),"item.address":t(({item:l})=>[a(E,{to:{name:"AliasDetail",params:{id:l.pk}}},{default:t(()=>[V(_(l.address),1)]),_:2},1032,["to"])]),"item.is_active":t(({item:l})=>[a(Z,{color:l.is_active?"success":"error",icon:l.is_active?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.enabled":t(({item:l})=>[a(Z,{color:l.enabled?"success":"error",icon:l.enabled?"mdi-check-circle":"mdi-close-circle",variant:"flat"},null,8,["color","icon"])]),"item.recipients":t(({item:l})=>[V(_(Ie(l)),1)]),"item.date_joined":t(({item:l})=>[V(_(i.$date(l.date_joined)),1)]),"item.creation":t(({item:l})=>[V(_(i.$date(l.creation)),1)]),"item.last_modification":t(({item:l})=>[V(_(i.$date(l.last_modification)),1)]),"item.last_login":t(({item:l})=>[V(_(i.$date(l.last_login)),1)]),"item.role":t(({item:l})=>[a(ze,{color:"default",size:"small"},{default:t(()=>[V(_(l.role),1)]),_:2},1024)]),"item.actions":t(({item:l})=>[l.possible_actions!==void 0&&l.possible_actions.length!==0?(R(),L(Z,{key:0,size:"large",color:"blue"},{default:t(()=>o[6]||(o[6]=[V("mdi-circle-small")])),_:1,__:[6]})):Y("",!0),a(ae,{location:"bottom"},{activator:t(({props:Fe})=>[a(N,te(Fe,{size:"small",icon:"mdi-dots-horizontal",variant:"text"}),null,16)]),default:t(()=>[a(ne,{items:ge(l),obj:l},null,8,["items","obj"])]),_:2},1024)]),_:2},1032,["modelValue","headers","items","search","loading","items-length","page","items-per-page","sort-by"]),a(ie,{ref_key:"confirmAlias",ref:F},null,512),a(ie,{ref_key:"confirmAccount",ref:z},{default:t(()=>[a(ye,{modelValue:d.value,"onUpdate:modelValue":o[4]||(o[4]=l=>d.value=l),label:y(e)("Do not delete account folder"),"hide-details":""},null,8,["modelValue","label"])]),_:1},512),a(W,{modelValue:P.value,"onUpdate:modelValue":o[5]||(o[5]=l=>P.value=l),"max-width":"500"},{default:t(()=>[a(at,{columns:h.value,"available-columns":G.value,"mandatory-columns":u.value,onApply:Ve},null,8,["columns","available-columns","mandatory-columns"])]),_:1},8,["modelValue"])]),_:3})}}},ot=pe(lt,[["__scopeId","data-v-328e3f59"]]),nt={__name:"AliasCreationForm",emits:["close","created"],setup(D,{emit:b}){const{$gettext:e}=J(),I=le(),S=fe(),C=b,g=r(),k=r(),$=r(),p={general:k,recipients:$},s=M(()=>{const v=[{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&&v[0].items.push({key:e("Expire at"),value:c.value.expire_at}),c.value.description!==void 0&&v[0].items.push({key:e("Description"),value:c.value.description}),v.push({title:e("Recipients"),items:[{key:e("Recipients"),value:c.value.recipients.join(", ")}]}),v}),c=r(n()),w=r([{name:"general",title:e("General")},{name:"recipients",title:e("Recipients")}]);function x(){c.value=n(),C("close")}function n(){return{random:!1,enabled:!0,recipients:[]}}function d(v){return p.step[v.name]}function F(v){return p[v.name].value.vFormRef}function z(){const v={...c.value};v.recipients.length===0&&delete v.recipients;const A=H.validate(v);return A.catch(h=>{h.response.status===409&&h.response.data.id!==void 0&&(I.displayNotification({msg:e("Alias already exists, redirecting to edit page"),type:"warning"}),S.push({name:"AliasEdit",params:{id:h.response.data.id}}))}),A}async function T(){c.value.domain!==void 0&&delete c.value.domain;try{await H.create(c.value),C("created"),x()}finally{g.value.working=!1}}return(v,A)=>(R(),L(ke,{ref_key:"form",ref:g,title:y(e)("New alias"),steps:w.value,"form-getter":d,"get-v-form-ref":F,"validate-object":z,"summary-sections":s.value,onClose:x,onCreate:T},{"form.general":t(()=>[a(We,{ref_key:"general",ref:k,modelValue:c.value,"onUpdate:modelValue":A[0]||(A[0]=h=>c.value=h)},null,8,["modelValue"])]),"form.recipients":t(()=>[a(Ge,{ref_key:"recipients",ref:$,modelValue:c.value.recipients,"onUpdate:modelValue":A[1]||(A[1]=h=>c.value.recipients=h)},null,8,["modelValue"])]),_:2},1032,["title","steps","summary-sections"]))}},it={class:"grey--text"},st={__name:"AccountCreationForm",emits:["close","created"],setup(D,{emit:b}){const{$gettext:e}=J(),{canSetRole:I}=Ke(),S=le(),C=Xe(),g=b,k=M(()=>s.value.username&&s.value.username.indexOf("@")!==-1),$=M(()=>{const u=[{title:e("Role"),items:[{key:e("Role"),value:s.value.role}]},{title:e("Identification"),items:[{key:e("Username"),value:s.value.username},{key:e("First name"),value:s.value.first_name},{key:e("Last name"),value:s.value.last_name},{name:"random_password",key:e("Random password"),value:s.value.random_password,type:"yesno"},{key:e("Enabled"),value:s.value.is_active,type:"yesno"}]}];return k.value?u.concat([{title:e("Mailbox"),items:[{key:e("Email"),value:s.value.mailbox.full_address},{key:e("Quota"),value:s.value.mailbox.use_domain_quota?e("Domain default value"):s.value.mailbox.quota},{key:e("Message sending limit"),value:s.value.mailbox.message_limit},{key:e("Send only account"),value:s.value.mailbox.is_send_only,type:"yesno"}]},{title:e("Aliases"),items:[{key:e("Aliases"),value:s.value.aliases,type:"list"}]}]):u}),p=M(()=>{const u=[];return I.value&&u.push({name:"role",title:e("Role")}),u.push({name:"identification",title:e("Identification")}),k.value?u.concat([{name:"mailbox",title:e("Mailbox")},{name:"aliases",title:e("Aliases")}]):u}),s=r({aliases:[],is_active:!0,role:X.USER,mailbox:{use_domain_quota:!0},random_password:!1}),c=r(),w=r(),x=r(),n=r(),d=r(),F={role:w,identification:x,mailbox:n,aliases:d};function z(){navigator.clipboard.writeText(s.value.new_password).then(()=>{S.displayNotification({msg:e("Password copied to clipboard")})})}function T(u){return F.step[u.name]}function v(u){return F[u.name].value.vFormRef}function A(u,m){const f=p.value[u-1].name;F[f].value.formErrors&&(F[f].value.formErrors.value=m)}function h(u){const m={...u};return[X.RESELLER,X.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.quota===void 0||m.mailbox.quota===null)&&(m.mailbox.quota=0)),m}function P(u){if(u===1)return!0;const m=h({...s.value});return q.validate(m)}function O(){g("close")}async function G(){const u=h({...s.value});u.password=u.new_password,delete u.new_password,delete u.password_confirmation;try{await q.create(u),g("created"),O()}finally{c.value.working=!1}}return C.getDomains(),(u,m)=>(R(),L(ke,{ref_key:"form",ref:c,title:y(e)("New account"),steps:p.value,"form-getter":T,"get-v-form-ref":v,"validate-object":P,"summary-sections":$.value,onClose:O,onCreate:G,onValidationError:A},{"form.role":t(()=>[a(Je,{ref_key:"role",ref:w,modelValue:s.value,"onUpdate:modelValue":m[0]||(m[0]=f=>s.value=f)},null,8,["modelValue"])]),"form.identification":t(()=>[a(He,{ref_key:"identification",ref:x,modelValue:s.value,"onUpdate:modelValue":m[1]||(m[1]=f=>s.value=f)},null,8,["modelValue"])]),"form.mailbox":t(()=>[a(Ye,{ref_key:"mailbox",ref:n,modelValue:s.value,"onUpdate:modelValue":m[2]||(m[2]=f=>s.value=f)},null,8,["modelValue"])]),"form.aliases":t(()=>[a(Qe,{ref_key:"aliases",ref:d,modelValue:s.value,"onUpdate:modelValue":m[3]||(m[3]=f=>s.value=f)},null,8,["modelValue"])]),"item.random_password":t(({item:f})=>[f.value?(R(),L(B,{key:0,cols:"12",class:"highligth text-white"},{default:t(()=>[a(de,null,{default:t(()=>[a(B,null,{default:t(()=>[j("span",null,_(f.key),1)]),_:2},1024),f.type==="yesno"?(R(),L(B,{key:0,class:"text-right"},{default:t(()=>[V(_(u.$yesno(f.value)),1)]),_:2},1024)):Y("",!0)]),_:2},1024),a(de,null,{default:t(()=>[a(B,{class:"text-right py-1"},{default:t(()=>[a(N,{"append-icon":"mdi-clipboard-multiple-outline",color:"white",variant:"text",title:y(e)("Copy to clipboard"),onClick:z},{default:t(()=>[V(_(s.value.new_password),1)]),_:1},8,["title"])]),_:1})]),_:1})]),_:2},1024)):(R(),Q(ce,{key:1},[a(B,null,{default:t(()=>[j("span",it,_(f.key),1)]),_:2},1024),f.type==="yesno"?(R(),L(B,{key:0,class:"text-right"},{default:t(()=>[V(_(u.$yesno(f.value)),1)]),_:2},1024)):Y("",!0)],64))]),_:2},1032,["title","steps","summary-sections"]))}},rt={__name:"IdentitiesView",setup(D){const{$gettext:b,$pgettext:e}=J(),{importContent:I,exportContent:S}=et(),C=r(!1),g=r(!1),k=r(!1),$=r(),p=r();function s(){me.exportAll().then(x=>{S(x.data,"identities",b)})}function c(x,n){x.append("crypt_passwords",n.crypt_passwords),I(me,x,$,b)}function w(){k.value=!1,p.value.fetchIdentities()}return(x,n)=>(R(),Q("div",null,[a(_e,{flat:""},{default:t(()=>[a(Pe,null,{default:t(()=>[V(_(y(b)("Identities")),1)]),_:1})]),_:1}),a(ot,{ref_key:"idList",ref:p},{extraActions:t(()=>[a(ae,{"offset-y":""},{activator:t(({props:d})=>[a(N,te({color:"primary",variant:"outlined"},d,{"prepend-icon":"mdi-plus",class:"mr-4"}),{default:t(()=>[V(_(y(e)("male","New")),1)]),_:2},1040)]),default:t(()=>[a(be,{density:"compact"},{default:t(()=>[a(se,{onClick:n[0]||(n[0]=d=>C.value=!0)},{default:t(()=>[a(re,null,{default:t(()=>[V(_(y(b)("Account")),1)]),_:1})]),_:1}),a(se,{onClick:n[1]||(n[1]=d=>g.value=!0)},{default:t(()=>[a(re,null,{default:t(()=>[V(_(y(b)("Alias")),1)]),_:1})]),_:1})]),_:1})]),_:1}),a(N,{class:"mr-2",title:y(b)("Import accounts and aliases from CSV file"),variant:"flat",icon:"mdi-file-import-outline",onClick:n[2]||(n[2]=d=>k.value=!0)},null,8,["title"]),a(N,{class:"mr-2",title:y(b)("Export accounts and aliases to CSV"),icon:"mdi-file-export-outline",variant:"flat",onClick:s},null,8,["title"])]),_:1},512),a(W,{modelValue:g.value,"onUpdate:modelValue":n[5]||(n[5]=d=>g.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[a(nt,{onCreated:n[3]||(n[3]=d=>p.value.fetchIdentities()),onClose:n[4]||(n[4]=d=>g.value=!1)})]),_:1},8,["modelValue"]),a(W,{modelValue:C.value,"onUpdate:modelValue":n[8]||(n[8]=d=>C.value=d),fullscreen:"",scrollable:"","z-index":"10"},{default:t(()=>[a(st,{onCreated:n[6]||(n[6]=d=>p.value.fetchIdentities()),onClose:n[7]||(n[7]=d=>C.value=!1)})]),_:1},8,["modelValue"]),a(W,{modelValue:k.value,"onUpdate:modelValue":n[9]||(n[9]=d=>k.value=d),persistent:"","max-width":"800px"},{default:t(()=>[a(y(Ze),{ref_key:"importForm",ref:$,title:y(b)("Import identities"),onSubmit:c,onClose:w},{help:t(()=>n[10]||(n[10]=[j("ul",null,[j("li",null,[j("em",null,"account; loginname; password; first name; last name; enabled; group; address; quota[; domain; ...]")]),j("li",null,[j("em",null,"alias; address; enabled; recipient; [more recipients; ...]")])],-1)])),extraFields:t(({form:d})=>[a(tt,{modelValue:d.crypt_passwords,"onUpdate:modelValue":F=>d.crypt_passwords=F,label:y(b)("Crypt passwords"),color:"primary",density:"compact",hint:y(b)("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"])]))}},ta=pe(rt,[["__scopeId","data-v-c34f0ee8"]]);export{ta as default};
@@ -0,0 +1 @@
1
+ a[data-v-328e3f59]{text-decoration:none;color:rgb(var(--v-theme-primary))}a[data-v-328e3f59]: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 +1 @@
1
- import{k as w,b as M,g as V,h as k,d as H,m as u,a,c as m,q as p,w as o,f as t,o as l,l as d,t as r,F as _,G as x,e as s}from"./index-BCUdq-Zu.js";import{a as I}from"./admin-B0fFM9gW.js";import{V as C,a as B}from"./VToolbar-AQXTYlxS.js";import{b as g,c as f,V as v}from"./VCard-BGXTuaE-.js";import{V as b}from"./VAlert-DSMD0lqo.js";import{V as A}from"./VDataTableVirtual-D9Km3t6e.js";import{u as G}from"./global.store-IwCGIFoO.js";import"./tag-DCSJ2lri.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./VDataTable-Etpc99CI.js";import"./VSelect-CeY-emKK.js";import"./VTextField-FBM5XwC5.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";const N={class:"mt-4"},S=["innerHTML"],D=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],q=["innerHTML"],P=["innerHTML"],R={tag:"p"},U={tag:"p",class:"text-body-2"},Y=["href"],$={__name:"InformationView",setup(j){const{$gettext:e}=M(),h=G(),c=V([]),T=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],y=k(()=>c.value.filter(i=>i.update).length>0);function L(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(B,null,{default:o(()=>[d(r(t(e)("Information")),1)]),_:1})]),_:1}),t(h).notifications.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).notifications,n=>(l(),m(b,{key:n.id,type:n.level,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",N,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,S),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,D),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,q),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,P)],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(()=>[y.value?(l(),m(b,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",R,r(t(e)("One or more updates are available")),1),s("div",U,r(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),a(A,{headers:T,items:c.value,"item-class":L},{"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,Y)):(l(),u(_,{key:1},[d(r(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},he=w($,[["__scopeId","data-v-f05bf0f7"]]);export{he as default};
1
+ import{k as w,b as M,g as V,h as k,d as H,m as u,a,c as m,q as p,w as o,f as t,o as l,l as d,t as r,F as _,G as x,e as s}from"./index-DV9Li2cg.js";import{a as I}from"./admin-CJVLMHh9.js";import{V as C,a as B}from"./VToolbar-CGwhgdmI.js";import{b as g,c as f,V as v}from"./VCard-DFWiFORP.js";import{V as b}from"./VAlert-B7mzOJIO.js";import{V as A}from"./VDataTableVirtual-BwVmkt4u.js";import{u as G}from"./global.store-DUP26-A5.js";import"./tag-CFK9dzMJ.js";import"./VAvatar-BAgTUIvX.js";import"./VProgressCircular-CrEXxs7k.js";import"./VDataTable-D_0_xJTl.js";import"./VSelect-CS51PDEt.js";import"./VTextField-CLwRV0Cb.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VMenu-B_dVqOmo.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VChip-nZ0uhY7t.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const N={class:"mt-4"},S=["innerHTML"],D=["innerHTML"],E=["innerHTML"],F=["innerHTML"],O=["innerHTML"],q=["innerHTML"],P=["innerHTML"],R={tag:"p"},U={tag:"p",class:"text-body-2"},Y=["href"],$={__name:"InformationView",setup(j){const{$gettext:e}=M(),h=G(),c=V([]),T=[{title:e("Name"),value:"name"},{title:e("Installed version"),value:"version"},{title:e("Latest version"),value:"last_version"},{title:e("Description"),value:"description"}],y=k(()=>c.value.filter(i=>i.update).length>0);function L(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(B,null,{default:o(()=>[d(r(t(e)("Information")),1)]),_:1})]),_:1}),t(h).notifications.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).notifications,n=>(l(),m(b,{key:n.id,type:n.level,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",N,[s("li",{innerHTML:t(e)("Go to <strong>Settings > General</strong> section",!0)},null,8,S),s("li",{innerHTML:t(e)("Change the value of <strong>Default password scheme</strong>",!0)},null,8,D),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,q),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,P)],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(()=>[y.value?(l(),m(b,{key:0,variant:"tonal",type:"success",text:"",border:"start"},{default:o(()=>[s("div",R,r(t(e)("One or more updates are available")),1),s("div",U,r(t(e)("Check out the following list to find related components")),1)]),_:1})):p("",!0),a(A,{headers:T,items:c.value,"item-class":L},{"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,Y)):(l(),u(_,{key:1},[d(r(n.last_version),1)],64))]),_:2},1032,["items"])]),_:1})]),_:1})]))}},he=w($,[["__scopeId","data-v-f05bf0f7"]]);export{he as default};
@@ -1 +1 @@
1
- import{k as a,c as t,o,w as e,a as r}from"./index-BCUdq-Zu.js";import{V as s,a as c}from"./VRow-DgX40uiD.js";import{V as i}from"./VProgressCircular-1VQzh5PK.js";import{V as n}from"./VContainer-B8HjqhNU.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{k as a,c as t,o,w as e,a as r}from"./index-DV9Li2cg.js";import{V as s,a as c}from"./VRow-C_Ydf6yr.js";import{V as i}from"./VProgressCircular-CrEXxs7k.js";import{V as n}from"./VContainer-Btam4lk2.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 +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-BCUdq-Zu.js";import{V as u}from"./VContainer-B8HjqhNU.js";import{V as d,a as f}from"./VRow-DgX40uiD.js";import{V as g}from"./VProgressCircular-1VQzh5PK.js";/* empty css */import"./tag-DCSJ2lri.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-DV9Li2cg.js";import{V as u}from"./VContainer-Btam4lk2.js";import{V as d,a as f}from"./VRow-C_Ydf6yr.js";import{V as g}from"./VProgressCircular-CrEXxs7k.js";/* empty css */import"./tag-CFK9dzMJ.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-BCUdq-Zu.js";import{V as f,a as p}from"./VRow-DgX40uiD.js";import{V as _}from"./VProgressCircular-1VQzh5PK.js";import{V as d}from"./VContainer-B8HjqhNU.js";/* empty css */import"./tag-DCSJ2lri.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-DV9Li2cg.js";import{V as f,a as p}from"./VRow-C_Ydf6yr.js";import{V as _}from"./VProgressCircular-CrEXxs7k.js";import{V as d}from"./VContainer-Btam4lk2.js";/* empty css */import"./tag-CFK9dzMJ.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
- import{v as te,x as le,ar as se,y as oe,h as X,ab as ne,e as d,B as ie,C as re,J as G,k as ue,b as de,n as ce,g as b,M as me,d as ve,a4 as pe,L as J,m as _,a as s,c as v,w as h,q as B,bc as ge,f,t as m,F as U,G as fe,s as ke,o as r}from"./index-BCUdq-Zu.js";import{a as x}from"./webmail-D2rioayn.js";import{V as be}from"./VToolbar-AQXTYlxS.js";import{V as j}from"./VCheckbox-BM1QzY5m.js";import{V as he}from"./VTextField-FBM5XwC5.js";import{r as xe,s as ye,V as y,d as A}from"./VAvatar-DbAmPjyA.js";import{V as _e}from"./VMenu-CTyyRlRb.js";import{V as Ve,a as $}from"./forwardRefs-Cn7kyt_f.js";import{V as q}from"./VSpacer-pLqQLLwB.js";import{b as R,V as Ce}from"./VCard-BGXTuaE-.js";import{u as we}from"./VProgressCircular-1VQzh5PK.js";import{b as Se,u as Me,c as Be}from"./tag-DCSJ2lri.js";import{V as $e}from"./VAlert-DSMD0lqo.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./ssrBoot-B-x5LB2_.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 Ae(a){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return d("div",{class:G(["v-skeleton-loader__bone",`v-skeleton-loader__${a}`])},[o])}function D(a){const[o,e]=a.split("@");return Array.from({length:e}).map(()=>E(o))}function E(a){let o=[];if(!a)return o;const e=Le[a];if(a!==e){if(a.includes(","))return O(a);if(a.includes("@"))return D(a);e.includes(",")?o=O(e):e.includes("@")?o=D(e):e&&o.push(E(e))}return[Ae(a,o)]}function O(a){return a.replace(/\s/g,"").split(",").map(E)}const Ee=le({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Be(),...ye(),...re()},"VSkeletonLoader"),Ie=te()({name:"VSkeletonLoader",props:Ee(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:V,backgroundColorStyles:M}=we(()=>a.color),{dimensionStyles:I}=Se(a),{elevationClasses:N}=xe(a),{themeClasses:p}=se(a),{t:i}=oe(),C=X(()=>E(ne(a.type).join(",")));return Me(()=>{var n;const g=!e.default||a.loading,w=a.boilerplate||!g?{}:{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,N.value],style:[M.value,g?I.value:{}]},w),[g?C.value:(n=e.default)==null?void 0:n.call(e)])}),{}}}),Ne={key:2,class:"d-flex align-center"},ze={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:M}=ce(),I=ke(),N=me(),p=b(!1),i=b({}),C=b(1),g=b(""),w=b(!1),n=b([]),c=b(!1);let P=null;const S=X(()=>N.query.mailbox||"INBOX"),K=u=>{I.push({name:"EmailView",query:{mailbox:o.mailbox,mailid:u}})},k=()=>{i.value={},p.value=!0,x.getMailboxEmails(o.mailbox,{page:C.value,search:g.value}).then(u=>{i.value=u.data,p.value=!1}).catch(()=>{p.value=!1})},z=()=>{k()},W=()=>{g.value&&k()},H=u=>{u?n.value=i.value.results.map(t=>t.imapid):n.value=[]},Q=()=>{n.value.length&&(c.value=!0,x.deleteSelection(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) deleted")}),k(),M()}))},Y=()=>{n.value.length&&(c.value=!0,x.markSelectionAsJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as junk")}),z()}))},Z=()=>{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")}),z()}))},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(),M()}))},ee=()=>{p.value=!0,x.emptyUserMailbox(S.value).then(()=>{i.value={},p.value=!1,M()})},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(z,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:h(()=>[s(be,{color:"white",flat:""},{default:h(()=>[s(j,{modelValue:w.value,"onUpdate:modelValue":[t[0]||(t[0]=l=>w.value=l),H],class:"mr-4","hide-details":""},null,8,["modelValue"]),s(he,{modelValue:g.value,"onUpdate:modelValue":t[1]||(t[1]=l=>g.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:f(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(W,["enter"])},null,8,["modelValue","placeholder"]),s(y,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Q},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:Y},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:Z},null,8,["loading"])),s(y,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:h(()=>[s(A,{icon:"mdi-cog"}),s(_e,{activator:"parent"},{default:h(()=>[s(Ve,{density:"compact"},{default:h(()=>[s($,{title:f(e)("Mark as read"),"prepend-icon":"mdi-eye",onClick:t[2]||(t[2]=()=>L("read"))},null,8,["title"]),s($,{title:f(e)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:t[3]||(t[3]=()=>L("unread"))},null,8,["title"]),s($,{title:f(e)("Mark as followed"),"prepend-icon":"mdi-star",onClick:t[4]||(t[4]=()=>L("flagged"))},null,8,["title"]),s($,{title:f(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:f(e)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:ee},null,8,["title"])):B("",!0)]),_:1})]),_:1})]),_:1}),s(q),i.value.results?(r(),_("div",Ne,[d("div",ze,m(i.value.first_index)+"-"+m(i.value.last_index)+" "+m(f(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"])])])):B("",!0)]),_:1})]),_:1}),p.value?(r(),v(Ie,{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:h(()=>[s(Ce,{class:G(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:h(()=>[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=>K(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(A,{key:0,icon:"mdi-reply-outline"})):B("",!0),l.forwarded?(r(),v(A,{key:1,icon:"mdi-share-outline"})):B("",!0),l.attachments?(r(),v(A,{key:2,icon:"mdi-paperclip"})):B("",!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:f(e)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},Oe=ue(De,[["__scopeId","data-v-0050ed0f"]]),Xe={class:"position-relative h-100"},Ge={class:"text-h5 ml-4"},ca={__name:"MailboxView",setup(a){return(o,e)=>(r(),_("div",Xe,[d("div",Ge,m(o.$gettext("Webmail")),1),s(Oe,{mailbox:o.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{ca as default};
1
+ import{v as te,x as le,ar as se,y as oe,h as X,ab as ne,e as d,B as ie,C as re,J as G,k as ue,b as de,n as ce,g as b,M as me,d as ve,a4 as pe,L as J,m as _,a as s,c as v,w as h,q as B,bc as ge,f,t as m,F as U,G as fe,s as ke,o as r}from"./index-DV9Li2cg.js";import{a as x}from"./webmail-KrD8ZhNM.js";import{V as be}from"./VToolbar-CGwhgdmI.js";import{V as j}from"./VCheckbox-CKsH_vq3.js";import{V as he}from"./VTextField-CLwRV0Cb.js";import{r as xe,s as ye,V as y,d as A}from"./VAvatar-BAgTUIvX.js";import{V as _e}from"./VMenu-B_dVqOmo.js";import{V as Ve,a as $}from"./forwardRefs-Cpc3YYl6.js";import{V as q}from"./VSpacer-C6PZ3X24.js";import{b as R,V as Ce}from"./VCard-DFWiFORP.js";import{u as we}from"./VProgressCircular-CrEXxs7k.js";import{b as Se,u as Me,c as Be}from"./tag-CFK9dzMJ.js";import{V as $e}from"./VAlert-B7mzOJIO.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./ssrBoot-BsxW6uW4.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 Ae(a){let o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return d("div",{class:G(["v-skeleton-loader__bone",`v-skeleton-loader__${a}`])},[o])}function D(a){const[o,e]=a.split("@");return Array.from({length:e}).map(()=>E(o))}function E(a){let o=[];if(!a)return o;const e=Le[a];if(a!==e){if(a.includes(","))return O(a);if(a.includes("@"))return D(a);e.includes(",")?o=O(e):e.includes("@")?o=D(e):e&&o.push(E(e))}return[Ae(a,o)]}function O(a){return a.replace(/\s/g,"").split(",").map(E)}const Ee=le({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...Be(),...ye(),...re()},"VSkeletonLoader"),Ie=te()({name:"VSkeletonLoader",props:Ee(),setup(a,o){let{slots:e}=o;const{backgroundColorClasses:V,backgroundColorStyles:M}=we(()=>a.color),{dimensionStyles:I}=Se(a),{elevationClasses:N}=xe(a),{themeClasses:p}=se(a),{t:i}=oe(),C=X(()=>E(ne(a.type).join(",")));return Me(()=>{var n;const g=!e.default||a.loading,w=a.boilerplate||!g?{}:{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,N.value],style:[M.value,g?I.value:{}]},w),[g?C.value:(n=e.default)==null?void 0:n.call(e)])}),{}}}),Ne={key:2,class:"d-flex align-center"},ze={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:M}=ce(),I=ke(),N=me(),p=b(!1),i=b({}),C=b(1),g=b(""),w=b(!1),n=b([]),c=b(!1);let P=null;const S=X(()=>N.query.mailbox||"INBOX"),K=u=>{I.push({name:"EmailView",query:{mailbox:o.mailbox,mailid:u}})},k=()=>{i.value={},p.value=!0,x.getMailboxEmails(o.mailbox,{page:C.value,search:g.value}).then(u=>{i.value=u.data,p.value=!1}).catch(()=>{p.value=!1})},z=()=>{k()},W=()=>{g.value&&k()},H=u=>{u?n.value=i.value.results.map(t=>t.imapid):n.value=[]},Q=()=>{n.value.length&&(c.value=!0,x.deleteSelection(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) deleted")}),k(),M()}))},Y=()=>{n.value.length&&(c.value=!0,x.markSelectionAsJunk(S.value,n.value).then(()=>{c.value=!1,V({msg:e("Message(s) marked as junk")}),z()}))},Z=()=>{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")}),z()}))},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(),M()}))},ee=()=>{p.value=!0,x.emptyUserMailbox(S.value).then(()=>{i.value={},p.value=!1,M()})},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(z,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:h(()=>[s(be,{color:"white",flat:""},{default:h(()=>[s(j,{modelValue:w.value,"onUpdate:modelValue":[t[0]||(t[0]=l=>w.value=l),H],class:"mr-4","hide-details":""},null,8,["modelValue"]),s(he,{modelValue:g.value,"onUpdate:modelValue":t[1]||(t[1]=l=>g.value=l),"prepend-inner-icon":"mdi-magnify",placeholder:f(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(W,["enter"])},null,8,["modelValue","placeholder"]),s(y,{class:"ml-2",color:"error",variant:"tonal",icon:"mdi-trash-can",size:"small",loading:c.value,onClick:Q},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:Y},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:Z},null,8,["loading"])),s(y,{class:"ml-2",variant:"tonal",icon:"",size:"small"},{default:h(()=>[s(A,{icon:"mdi-cog"}),s(_e,{activator:"parent"},{default:h(()=>[s(Ve,{density:"compact"},{default:h(()=>[s($,{title:f(e)("Mark as read"),"prepend-icon":"mdi-eye",onClick:t[2]||(t[2]=()=>L("read"))},null,8,["title"]),s($,{title:f(e)("Mark as unread"),"prepend-icon":"mdi-eye-outline",onClick:t[3]||(t[3]=()=>L("unread"))},null,8,["title"]),s($,{title:f(e)("Mark as followed"),"prepend-icon":"mdi-star",onClick:t[4]||(t[4]=()=>L("flagged"))},null,8,["title"]),s($,{title:f(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:f(e)("Empty mailbox"),"prepend-icon":"mdi-trash-can",onClick:ee},null,8,["title"])):B("",!0)]),_:1})]),_:1})]),_:1}),s(q),i.value.results?(r(),_("div",Ne,[d("div",ze,m(i.value.first_index)+"-"+m(i.value.last_index)+" "+m(f(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"])])])):B("",!0)]),_:1})]),_:1}),p.value?(r(),v(Ie,{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:h(()=>[s(Ce,{class:G(["d-flex align-center",{"font-weight-bold":l.style==="unseen"}])},{default:h(()=>[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=>K(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(A,{key:0,icon:"mdi-reply-outline"})):B("",!0),l.forwarded?(r(),v(A,{key:1,icon:"mdi-share-outline"})):B("",!0),l.attachments?(r(),v(A,{key:2,icon:"mdi-paperclip"})):B("",!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:f(e)("No message yet in this mailbox"),variant:"tonal"},null,8,["text"]))]))],64)}}},Oe=ue(De,[["__scopeId","data-v-0050ed0f"]]),Xe={class:"position-relative h-100"},Ge={class:"text-h5 ml-4"},ca={__name:"MailboxView",setup(a){return(o,e)=>(r(),_("div",Xe,[d("div",Ge,m(o.$gettext("Webmail")),1),s(Oe,{mailbox:o.$route.query.mailbox||"INBOX"},null,8,["mailbox"])]))}};export{ca as default};
@@ -1 +1 @@
1
- import{a as s,b as n,V as i}from"./forwardRefs-Cn7kyt_f.js";import{d as u}from"./VAvatar-DbAmPjyA.js";import{c as l,o as a,w as t,m,F as p,G as d,a as c,l as f,t as _}from"./index-BCUdq-Zu.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(k,V)=>(a(),l(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,r)=>(a(),l(s,{key:r,value:e,onClick:b=>e.onClick(o.obj)},{prepend:t(()=>[c(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[c(n,null,{default:t(()=>[f(_(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
1
+ import{a as s,b as n,V as i}from"./forwardRefs-Cpc3YYl6.js";import{d as u}from"./VAvatar-BAgTUIvX.js";import{c as l,o as a,w as t,m,F as p,G as d,a as c,l as f,t as _}from"./index-DV9Li2cg.js";const C={__name:"MenuItems",props:{items:{type:Object,default:()=>{}},obj:{type:Object,default:()=>{}}},setup(o){return(k,V)=>(a(),l(i,{density:"compact"},{default:t(()=>[(a(!0),m(p,null,d(o.items,(e,r)=>(a(),l(s,{key:r,value:e,onClick:b=>e.onClick(o.obj)},{prepend:t(()=>[c(u,{color:e.color,icon:e.icon},null,8,["color","icon"])]),default:t(()=>[c(n,null,{default:t(()=>[f(_(e.label),1)]),_:2},1024)]),_:2},1032,["value","onClick"]))),128))]),_:1}))}};export{C as _};
@@ -1 +1 @@
1
- import{b as y,g as l,c as b,w as a,a as s,l as m,t as c,f as h,o as V,k as T,m as M,F as $}from"./index-BCUdq-Zu.js";import{l as D}from"./logs-DIXCC1C0.js";import{d as F}from"./index-CJ87ZZG1.js";import{V as v,a as S}from"./VToolbar-AQXTYlxS.js";import{V as C}from"./VTextField-FBM5XwC5.js";import{V as I}from"./VDataTableServer-BNNG6dBx.js";import{b as N}from"./VCard-BGXTuaE-.js";import"./tag-DCSJ2lri.js";import"./VAvatar-DbAmPjyA.js";import"./VProgressCircular-1VQzh5PK.js";import"./forwardRefs-Cn7kyt_f.js";import"./ssrBoot-B-x5LB2_.js";import"./VDataTable-Etpc99CI.js";import"./VSelect-CeY-emKK.js";import"./VMenu-CTyyRlRb.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";const U={__name:"MessageList",setup(k){const{$gettext:t}=y(),d=[{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"}],p=l(!0),u=l([]),i=l(""),f=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:w}){let g;e.length&&(g=(e[0].order==="desc"?"-":"")+e[0].key);const x={ordering:g,page:o,page_size:r,search:w};p.value=!0,D.getMessages(x).then(_=>{u.value=_.data.results,f.value=_.data.count,p.value=!1})}return n=F(n,500),(o,r)=>(V(),b(N,{class:"mt-6"},{default:a(()=>[s(I,{headers:d,items:u.value,search:i.value,class:"elevation-0","items-length":f.value,"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(c(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[m(c(o.$truncate(e.sender,50)),1)]),_:2},1032,["items","search","items-length"])]),_:1}))}},q={__name:"MessagesView",setup(k){return(t,d)=>(V(),M($,null,[s(v,{flat:""},{default:a(()=>[s(S,null,{default:a(()=>[m(c(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(U))],64))}},ae=T(q,[["__scopeId","data-v-9c91b6c8"]]);export{ae as default};
1
+ import{b as y,g as l,c as b,w as a,a as s,l as m,t as c,f as h,o as V,k as T,m as M,F as $}from"./index-DV9Li2cg.js";import{l as D}from"./logs-DrTzylW7.js";import{d as F}from"./index-DzL89N4E.js";import{V as v,a as S}from"./VToolbar-CGwhgdmI.js";import{V as C}from"./VTextField-CLwRV0Cb.js";import{V as I}from"./VDataTableServer-BWTt4Mzi.js";import{b as N}from"./VCard-DFWiFORP.js";import"./tag-CFK9dzMJ.js";import"./VAvatar-BAgTUIvX.js";import"./VProgressCircular-CrEXxs7k.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VDataTable-D_0_xJTl.js";import"./VSelect-CS51PDEt.js";import"./VMenu-B_dVqOmo.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VChip-nZ0uhY7t.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";const U={__name:"MessageList",setup(k){const{$gettext:t}=y(),d=[{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"}],p=l(!0),u=l([]),i=l(""),f=l(0);function n({page:o,itemsPerPage:r,sortBy:e,search:w}){let g;e.length&&(g=(e[0].order==="desc"?"-":"")+e[0].key);const x={ordering:g,page:o,page_size:r,search:w};p.value=!0,D.getMessages(x).then(_=>{u.value=_.data.results,f.value=_.data.count,p.value=!1})}return n=F(n,500),(o,r)=>(V(),b(N,{class:"mt-6"},{default:a(()=>[s(I,{headers:d,items:u.value,search:i.value,class:"elevation-0","items-length":f.value,"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(c(o.$date(e.date)),1)]),"item.sender":a(({item:e})=>[m(c(o.$truncate(e.sender,50)),1)]),_:2},1032,["items","search","items-length"])]),_:1}))}},q={__name:"MessagesView",setup(k){return(t,d)=>(V(),M($,null,[s(v,{flat:""},{default:a(()=>[s(S,null,{default:a(()=>[m(c(t.$gettext("Message history")),1)]),_:1})]),_:1}),s(h(U))],64))}},ae=T(q,[["__scopeId","data-v-9c91b6c8"]]);export{ae as default};
@@ -1 +1 @@
1
- import{_ as c,b as y,n as U,g as s,r as j,c as z,o as B,w as o,a as t,f as g,B as $,l as v,t as _,k as I,m as L}from"./index-BCUdq-Zu.js";import{_ as P}from"./MenuItems-Bck8ixGf.js";import{V as q}from"./VDataTable-Etpc99CI.js";import{V as k}from"./VMenu-CTyyRlRb.js";import{V as p}from"./VAvatar-DbAmPjyA.js";import{V as T,a as E}from"./VToolbar-AQXTYlxS.js";import{V as F}from"./forwardRefs-Cn7kyt_f.js";import{V as C}from"./VSpacer-pLqQLLwB.js";import{V as G}from"./VTextField-FBM5XwC5.js";import{b as O}from"./VCard-BGXTuaE-.js";import"./tag-DCSJ2lri.js";import"./VProgressCircular-1VQzh5PK.js";import"./VSelect-CeY-emKK.js";import"./VCheckboxBtn-DdHQE-gt.js";import"./VSelectionControl-BYdVI5Q9.js";import"./VChip-Bm7znPZ6.js";import"./VTable-BeyU0Uhj.js";import"./filter-BSw3r225.js";import"./ssrBoot-B-x5LB2_.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(""),b=s({}),M=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,M.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 B(),z(O,{class:"mt-6"},{default:o(()=>[t(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=e=>x.value=e),options:b.value,"onUpdate:options":a[3]||(a[3]=e=>b.value=e),headers:S,items:n.value,search:m.value,"server-items-length":M.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(C),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)=>(B(),L("div",null,[t(T,{flat:""},{default:o(()=>[t(E,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),t(C)]),_:1}),t(H)]))}},pt=I(J,[["__scopeId","data-v-5f22702f"]]);export{pt as default};
1
+ import{_ as c,b as y,n as U,g as s,r as j,c as z,o as B,w as o,a as t,f as g,B as $,l as v,t as _,k as I,m as L}from"./index-DV9Li2cg.js";import{_ as P}from"./MenuItems-kHCMzR5E.js";import{V as q}from"./VDataTable-D_0_xJTl.js";import{V as k}from"./VMenu-B_dVqOmo.js";import{V as p}from"./VAvatar-BAgTUIvX.js";import{V as T,a as E}from"./VToolbar-CGwhgdmI.js";import{V as F}from"./forwardRefs-Cpc3YYl6.js";import{V as C}from"./VSpacer-C6PZ3X24.js";import{V as G}from"./VTextField-CLwRV0Cb.js";import{b as O}from"./VCard-DFWiFORP.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./VSelect-CS51PDEt.js";import"./VCheckboxBtn-j7di4leN.js";import"./VSelectionControl-DiOqtY38.js";import"./VChip-nZ0uhY7t.js";import"./VTable-KsiZ3cBz.js";import"./filter-D7NrAf6a.js";import"./ssrBoot-BsxW6uW4.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(""),b=s({}),M=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,M.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 B(),z(O,{class:"mt-6"},{default:o(()=>[t(q,{modelValue:x.value,"onUpdate:modelValue":a[2]||(a[2]=e=>x.value=e),options:b.value,"onUpdate:options":a[3]||(a[3]=e=>b.value=e),headers:S,items:n.value,search:m.value,"server-items-length":M.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(C),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)=>(B(),L("div",null,[t(T,{flat:""},{default:o(()=>[t(E,null,{default:o(()=>[v(_(g(i)("Migrations")),1)]),_:1}),t(C)]),_:1}),t(H)]))}},pt=I(J,[["__scopeId","data-v-5f22702f"]]);export{pt as default};
@@ -1 +1 @@
1
- import{k as B,b as P,n 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,q as L,e as j,f as z}from"./index-BCUdq-Zu.js";import{_ as G}from"./HtmlEditor-KH0pmxrK.js";import{V as O,a as W,b as $,c as q}from"./VTabs-Dzq8prKm.js";import{V as A}from"./VAvatar-DbAmPjyA.js";import{V as D}from"./VContainer-B8HjqhNU.js";import{b as H,V as J}from"./VCard-BGXTuaE-.js";import{V as M}from"./VSwitch-BSifpScd.js";import{V as K}from"./VSelect-CeY-emKK.js";import{V as Q}from"./VTextarea-BwkVlXPS.js";import{V as R}from"./VColorPicker-CYCnVu_Z.js";import{V as X}from"./VTextField-FBM5XwC5.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(q,{key:o.label},{default:d(()=>[c(D,{fluid:"",class:"pa-0"},{default:d(()=>[c(H,null,{default:d(()=>[c(J,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(M,{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(A,{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{k as B,b as P,n 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,q as L,e as j,f as z}from"./index-DV9Li2cg.js";import{_ as G}from"./HtmlEditor-uM4AtIGi.js";import{V as O,a as W,b as $,c as q}from"./VTabs-tNrJIYO0.js";import{V as A}from"./VAvatar-BAgTUIvX.js";import{V as D}from"./VContainer-Btam4lk2.js";import{b as H,V as J}from"./VCard-DFWiFORP.js";import{V as M}from"./VSwitch-Chg5o-Cp.js";import{V as K}from"./VSelect-CS51PDEt.js";import{V as Q}from"./VTextarea-Di8jbl8m.js";import{V as R}from"./VColorPicker-Os2aeP6J.js";import{V as X}from"./VTextField-CLwRV0Cb.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(q,{key:o.label},{default:d(()=>[c(D,{fluid:"",class:"pa-0"},{default:d(()=>[c(H,null,{default:d(()=>[c(J,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(M,{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(A,{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{k as b,b as g,g as r,h as S,L as h,M as V,m as x,a as e,w as u,f as n,o as P,l as w,t as G}from"./index-DV9Li2cg.js";import{p}from"./parameters-Lgiqp7aw.js";import{P as A}from"./ParametersForm-BCeQljir.js";import{V as T,a as k}from"./VToolbar-CGwhgdmI.js";import{u as N}from"./global.store-DUP26-A5.js";import{u as B}from"./parameters.store-C9k9DuTj.js";import"./HtmlEditor-uM4AtIGi.js";import"./VAvatar-BAgTUIvX.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VTabs-tNrJIYO0.js";import"./VWindowItem-wWSFAGI-.js";import"./VChip-nZ0uhY7t.js";import"./VMenu-B_dVqOmo.js";import"./VContainer-Btam4lk2.js";/* empty css */import"./VCard-DFWiFORP.js";import"./VSwitch-Chg5o-Cp.js";import"./VTextField-CLwRV0Cb.js";import"./VSelectionControl-DiOqtY38.js";import"./VSelect-CS51PDEt.js";import"./VCheckboxBtn-j7di4leN.js";import"./VTextarea-Di8jbl8m.js";import"./VColorPicker-Os2aeP6J.js";import"./colors-DoZdCu1D.js";import"./VPicker-CXkIGEze.js";import"./VSheet-5VVWtHvs.js";import"./admin-CJVLMHh9.js";const E={__name:"ParametersView",setup(M){const{$gettext:c}=g(),f=N(),o=V(),d=B(),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{k as v,b as d,g as e,h as _,L as V,M as g,m as h,a as r,w as u,f as c,o as x,l as b,t as w}from"./index-DV9Li2cg.js";import{P}from"./ParametersForm-BCeQljir.js";import{p as o}from"./parameters-Lgiqp7aw.js";import{V as A,a as T}from"./VToolbar-CGwhgdmI.js";import"./HtmlEditor-uM4AtIGi.js";import"./VAvatar-BAgTUIvX.js";import"./tag-CFK9dzMJ.js";import"./VProgressCircular-CrEXxs7k.js";import"./forwardRefs-Cpc3YYl6.js";import"./ssrBoot-BsxW6uW4.js";import"./VTabs-tNrJIYO0.js";import"./VWindowItem-wWSFAGI-.js";import"./VChip-nZ0uhY7t.js";import"./VMenu-B_dVqOmo.js";import"./VContainer-Btam4lk2.js";/* empty css */import"./VCard-DFWiFORP.js";import"./VSwitch-Chg5o-Cp.js";import"./VTextField-CLwRV0Cb.js";import"./VSelectionControl-DiOqtY38.js";import"./VSelect-CS51PDEt.js";import"./VCheckboxBtn-j7di4leN.js";import"./VTextarea-Di8jbl8m.js";import"./VColorPicker-Os2aeP6J.js";import"./colors-DoZdCu1D.js";import"./VPicker-CXkIGEze.js";import"./VSheet-5VVWtHvs.js";const k={__name:"ParametersView",setup(S){const{$gettext:n}=d(),p=g(),s=e(""),i=e([]),m=e({}),f=_(()=>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,[r(A,{flat:""},{default:u(()=>[r(T,null,{default:u(()=>[b(w(f.value),1)]),_:1})]),_:1}),r(c(P),{app:t.$route.params.app,structure:i.value,values:m.value,"save-function":c(o).saveUserApplication},null,8,["app","structure","values","save-function"])]))}},at=v(k,[["__scopeId","data-v-3e7380ff"]]);export{at as default};