f7cloud_client/apps/mail/js/mail.new-message-modal.ca29dcec8d9fe9802974.js
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

2 lines
89 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(globalThis.webpackChunkf7cloud_mail=globalThis.webpackChunkf7cloud_mail||[]).push([[4073],{27192(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,'.message-composer[data-v-92fbc066]{z-index:100;display:flex;flex-direction:column;height:100%;max-height:100%}.composer-actions[data-v-92fbc066]{position:sticky;background:linear-gradient(rgba(255, 255, 255, 0), var(--color-main-background-translucent) 50%)}.composer-fields[data-v-92fbc066]{padding:var(--default-grid-baseline) calc(var(--default-grid-baseline)*2) 0 calc(var(--default-grid-baseline)*2)}.composer-fields__label[data-v-92fbc066]{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end}.composer-fields__label[data-v-92fbc066] .button-vue__text{font-weight:normal}.composer-fields.mail-account[data-v-92fbc066]{border-top:none;padding-top:calc(var(--default-grid-baseline)*2)}.composer-fields input[data-v-92fbc066],.composer-fields TextEditor[data-v-92fbc066]{flex-grow:1;max-width:none;border:none;border-radius:0}.composer-fields .composer-fields--custom[data-v-92fbc066]{display:flex;align-items:flex-start;justify-content:space-between;padding-top:calc(var(--default-grid-baseline)*.5)}.composer-fields .composer-fields--custom button[data-v-92fbc066]{margin-top:0;margin-bottom:0;background-color:rgba(0,0,0,0);border:none;opacity:.5;padding:calc(var(--default-grid-baseline)*2) calc(var(--default-grid-baseline)*4)}.composer-fields .composer-fields--custom .select[data-v-92fbc066]{width:100%}.composer-fields .composer-fields--custom .vs__search[data-v-92fbc066]{width:100%}.composer-fields .composer-fields--custom .v-select[data-v-92fbc066]{flex-grow:.95}.composer-fields .subject[data-v-92fbc066]{font-size:15px;font-weight:bold;margin:var(--default-grid-baseline) 0 !important;padding:0 !important;width:100%}.composer-fields .subject[data-v-92fbc066]:focus-visible{box-shadow:none !important}.composer-fields .message-body[data-v-92fbc066]{height:100%;width:100%;margin:0;border:none !important;outline:none !important;box-shadow:none !important;-webkit-user-select:text;user-select:text}.message-editor[data-v-92fbc066]{flex:1 1 100%;min-height:0;border-top:1px solid var(--color-border)}.draft-status[data-v-92fbc066]{padding:calc(var(--default-grid-baseline)*.5);opacity:.5;font-size:small;display:block}.from-label[data-v-92fbc066],.to-label[data-v-92fbc066],.copy-toggle[data-v-92fbc066],.cc-label[data-v-92fbc066],.bcc-label[data-v-92fbc066]{color:var(--color-text-maxcontrast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bcc-label[data-v-92fbc066]{top:initial;bottom:0}.copy-toggle[data-v-92fbc066]{cursor:pointer;width:initial}.copy-toggle[data-v-92fbc066]:hover,.copy-toggle[data-v-92fbc066]:focus{color:var(--color-main-text)}.reply[data-v-92fbc066]{min-height:100px}.subject[data-v-92fbc066]{border:none !important}[data-v-92fbc066] [data-select="create"] .avatardiv--unknown{background:var(--color-text-maxcontrast) !important}#from[data-v-92fbc066]{width:100%;cursor:pointer}[data-v-92fbc066] .vs__actions{display:none}[data-v-92fbc066] .v-select.select{inset-inline-start:0 !important}[data-v-92fbc066] .vs__dropdown-menu{padding:0 !important}[data-v-92fbc066] .vs__dropdown-option{border-radius:0 !important}.submit-message.send.primary.icon-confirm-white[data-v-92fbc066]{color:var(--color-main-background)}.button[data-v-92fbc066]{background-color:rgba(0,0,0,0);border:none}.send-button[data-v-92fbc066]{display:flex;align-items:center;padding:calc(var(--default-grid-baseline)*2) calc(var(--default-grid-baseline)*4);margin-inline-start:var(--default-grid-baseline)}.send-button .send-icon[data-v-92fbc066]{padding-inline-end:var(--default-grid-baseline)}.centered-content[data-v-92fbc066]{margin-top:0 !important}.composer-actions-right[data-v-92fbc066]{display:flex;align-items:center;flex-direction:row;justify-content:space-between;bottom:var(--default-grid-baseline)}.composer-actions--primary-actions[data-v-92fbc066]{display:flex;flex-direction:row;padding-inline-start:calc(var(--default-grid-baseline)*2);align-items:center}.composer-actions--secondary-actions[data-v-92fbc066]{display:flex;flex-direction:row;padding:12px;gap:5px}.composer-actions--primary-actions .button[data-v-92fbc066]{padding:2px}.composer-actions--secondary-actions .button[data-v-92fbc066]{flex-shrink:0}.composer-actions-draft-status[data-v-92fbc066]{padding-inline-start:10px}[data-v-92fbc066] .vs__selected-options .vs__dropdown-toggle .vs--multiple{width:100%}@media only screen and (max-width: 580px){.composer-actions-right[data-v-92fbc066]{align-items:end;flex-direction:column-reverse}.composer-actions-draft-status[data-v-92fbc066]{text-align:end;padding-inline-end:15px}.composer-actions--primary-actions[data-v-92fbc066]{padding-inline-end:5px}}',"",{version:3,sources:["webpack://./src/components/Composer.vue"],names:[],mappings:"AACA,mCACC,WAAA,CACA,YAAA,CACA,qBAAA,CACA,WAAA,CACA,eAAA,CAGD,mCACC,eAAA,CACA,gGAAA,CAGD,kCACC,gHAAA,CAEA,yCACC,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,oBAAA,CAGA,2DACC,kBAAA,CAIF,+CACC,eAAA,CACA,gDAAA,CAGD,qFAEC,WAAA,CACA,cAAA,CACA,WAAA,CACA,eAAA,CAGD,2DACC,YAAA,CACA,sBAAA,CACA,6BAAA,CACA,iDAAA,CAEA,kEACC,YAAA,CACA,eAAA,CACA,8BAAA,CACA,WAAA,CACA,UAAA,CACA,iFAAA,CAGD,mEACC,UAAA,CAED,uEACC,UAAA,CAED,qEACC,aAAA,CAIF,2CACC,cAAA,CACA,gBAAA,CACA,gDAAA,CACA,oBAAA,CACA,UAAA,CAEA,yDACC,0BAAA,CAIF,gDACC,WAAA,CACA,UAAA,CACA,QAAA,CACA,sBAAA,CACA,uBAAA,CACA,0BAAA,CAIA,wBAAA,CACA,gBAAA,CAKF,iCACC,aAAA,CACA,YAAA,CACA,wCAAA,CAGD,+BACC,6CAAA,CACA,UAAA,CACA,eAAA,CACA,aAAA,CAGD,6IAKC,mCAAA,CACA,kBAAA,CACA,eAAA,CACA,sBAAA,CAGD,4BACC,WAAA,CACA,QAAA,CAGD,8BACC,cAAA,CACA,aAAA,CAEA,wEAEC,4BAAA,CAIF,wBACC,gBAAA,CAGD,0BACC,sBAAA,CAGD,6DACC,mDAAA,CAGD,uBACC,UAAA,CACA,cAAA,CAGD,+BACC,YAAA,CAGD,mCACC,+BAAA,CAGD,qCACC,oBAAA,CAGD,uCACC,0BAAA,CAGD,iEACC,kCAAA,CAGD,yBACC,8BAAA,CACA,WAAA,CAGD,8BACC,YAAA,CACA,kBAAA,CACA,iFAAA,CACA,gDAAA,CAGD,yCACC,+CAAA,CAGD,mCACC,uBAAA,CAGD,yCACC,YAAA,CACA,kBAAA,CACA,kBAAA,CACA,6BAAA,CACA,mCAAA,CAGD,oDACC,YAAA,CACA,kBAAA,CACA,yDAAA,CACA,kBAAA,CAGD,sDACC,YAAA,CACA,kBAAA,CACA,YAAA,CACA,OAAA,CAGD,4DACC,WAAA,CAGD,8DACC,aAAA,CAGD,gDACC,yBAAA,CAGD,2EACC,UAAA,CAGD,0CACC,yCACC,eAAA,CACA,6BAAA,CAED,gDACC,cAAA,CACA,uBAAA,CAED,oDACC,sBAAA,CAAA",sourcesContent:['\n.message-composer {\n\tz-index: 100;\n\tdisplay: flex;\n\tflex-direction: column;\n\theight: 100%;\n\tmax-height: 100%;\n}\n\n.composer-actions {\n\tposition: sticky;\n\tbackground: linear-gradient(rgba(255, 255, 255, 0), var(--color-main-background-translucent) 50%);\n}\n\n.composer-fields {\n\tpadding: var(--default-grid-baseline) calc(var(--default-grid-baseline) * 2) 0 calc(var(--default-grid-baseline) * 2);\n\n\t&__label {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\t\talign-items: flex-end;\n\n\t\t/** NcButton does not allow font weight styling */\n\t\t:deep(.button-vue__text) {\n\t\t\tfont-weight: normal;\n\t\t}\n\t}\n\n\t&.mail-account {\n\t\tborder-top: none;\n\t\tpadding-top: calc(var(--default-grid-baseline) * 2);\n\t}\n\n\tinput,\n\tTextEditor {\n\t\tflex-grow: 1;\n\t\tmax-width: none;\n\t\tborder: none;\n\t\tborder-radius: 0;\n\t}\n\n\t.composer-fields--custom {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tjustify-content: space-between;\n\t\tpadding-top: calc(var(--default-grid-baseline) * 0.5);\n\n\t\tbutton {\n\t\t\tmargin-top: 0;\n\t\t\tmargin-bottom: 0;\n\t\t\tbackground-color: transparent;\n\t\t\tborder: none;\n\t\t\topacity: 0.5;\n\t\t\tpadding: calc(var(--default-grid-baseline) * 2) calc(var(--default-grid-baseline) * 4);\n\t\t}\n\n\t\t.select {\n\t\t\twidth: 100%;\n\t\t}\n\t\t.vs__search{\n\t\t\twidth: 100%;\n\t\t}\n\t\t.v-select{\n\t\t\tflex-grow: 0.95;\n\t\t}\n\t}\n\n\t.subject {\n\t\tfont-size: 15px;\n\t\tfont-weight: bold;\n\t\tmargin: var(--default-grid-baseline) 0 !important;\n\t\tpadding: 0 !important;\n\t\twidth: 100%;\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: none !important;\n\t\t}\n\t}\n\n\t.message-body {\n\t\theight: 100%;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t\tborder: none !important;\n\t\toutline: none !important;\n\t\tbox-shadow: none !important;\n\n\t\t// Fix contenteditable not becoming focused upon clichint within it\'s\n\t\t// boundaries in safari\n\t\t-webkit-user-select: text;\n\t\tuser-select: text;\n\t}\n}\n\n// Make composer editor expand\n.message-editor {\n\tflex: 1 1 100%;\n\tmin-height: 0;\n\tborder-top: 1px solid var(--color-border);\n}\n\n.draft-status {\n\tpadding: calc(var(--default-grid-baseline) * 0.5);\n\topacity: 0.5;\n\tfont-size: small;\n\tdisplay: block;\n}\n\n.from-label,\n.to-label,\n.copy-toggle,\n.cc-label,\n.bcc-label {\n\tcolor: var(--color-text-maxcontrast);\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.bcc-label {\n\ttop: initial;\n\tbottom: 0;\n}\n\n.copy-toggle {\n\tcursor: pointer;\n\twidth: initial;\n\n\t&:hover,\n\t&:focus {\n\t\tcolor: var(--color-main-text);\n\t}\n}\n\n.reply {\n\tmin-height: 100px;\n}\n\n.subject {\n\tborder: none !important;\n}\n\n:deep([data-select="create"] .avatardiv--unknown) {\n\tbackground: var(--color-text-maxcontrast) !important;\n}\n\n#from{\n\twidth: 100%;\n\tcursor: pointer;\n}\n\n:deep(.vs__actions){\n\tdisplay: none;\n}\n\n:deep(.v-select.select){\n\tinset-inline-start: 0 !important;\n}\n\n:deep(.vs__dropdown-menu){\n\tpadding: 0 !important;\n}\n\n:deep(.vs__dropdown-option){\n\tborder-radius: 0 !important;\n}\n\n.submit-message.send.primary.icon-confirm-white {\n\tcolor: var(--color-main-background);\n}\n\n.button {\n\tbackground-color: transparent;\n\tborder: none;\n}\n\n.send-button {\n\tdisplay: flex;\n\talign-items: center;\n\tpadding: calc(var(--default-grid-baseline) * 2) calc(var(--default-grid-baseline) * 4);\n\tmargin-inline-start: var(--default-grid-baseline);\n}\n\n.send-button .send-icon {\n\tpadding-inline-end: var(--default-grid-baseline);\n}\n\n.centered-content {\n\tmargin-top: 0 !important;\n}\n\n.composer-actions-right {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: row;\n\tjustify-content: space-between;\n\tbottom: var(--default-grid-baseline);\n}\n\n.composer-actions--primary-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding-inline-start: calc(var(--default-grid-baseline) * 2);\n\talign-items: center;\n}\n\n.composer-actions--secondary-actions {\n\tdisplay: flex;\n\tflex-direction: row;\n\tpadding: 12px;\n\tgap: 5px;\n}\n\n.composer-actions--primary-actions .button {\n\tpadding: 2px;\n}\n\n.composer-actions--secondary-actions .button{\n\tflex-shrink: 0;\n}\n\n.composer-actions-draft-status {\n\tpadding-inline-start: 10px;\n}\n\n:deep(.vs__selected-options .vs__dropdown-toggle .vs--multiple ){\n\twidth: 100%;\n}\n\n@media only screen and (max-width: 580px) {\n\t.composer-actions-right {\n\t\talign-items: end;\n\t\tflex-direction: column-reverse;\n\t}\n\t.composer-actions-draft-status {\n\t\ttext-align: end;\n\t\tpadding-inline-end: 15px;\n\t}\n\t.composer-actions--primary-actions {\n\t\tpadding-inline-end: 5px;\n\t}\n}\n\n'],sourceRoot:""}]);const r=o},21980(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,".composer-attachment[data-v-531b0e4a]{width:calc(50% - 20px);box-sizing:border-box;display:flex;justify-content:space-between;align-items:flex-start;margin:10px;flex-wrap:wrap}.composer-attachment--with-error[data-v-531b0e4a]{color:red;opacity:.5}.composer-attachment .cloud-attachment-icon[data-v-531b0e4a]{position:absolute;z-index:2;inset-inline-end:2px;top:2px;color:#000}.composer-attachment .attachment-preview[data-v-531b0e4a]{display:inline-flex;flex-wrap:wrap;width:50px;height:50px;overflow:hidden;border-radius:3px;align-items:center;justify-content:center;position:relative}.composer-attachment .attachment-preview img[data-v-531b0e4a]{display:block;min-width:50px;min-height:50px;max-width:72px;max-height:72px;position:absolute}.composer-attachment .attachment-preview span[data-v-531b0e4a]{color:rgba(0,0,0,.3);font-size:13px;text-transform:uppercase;font-weight:bold}.composer-attachment button[data-v-531b0e4a]{padding:0;background:rgba(0,0,0,0);border:none;margin:6px -2px 0 0}.attachments-upload-progress[data-v-531b0e4a]{display:block;height:5px;width:100%;position:relative;border-radius:5px;background:var(--color-background-dark);margin-top:7px}.attachments-upload-progress .attachments-upload-progress--bar[data-v-531b0e4a]{height:5px;background:var(--color-primary-element-light);position:absolute;z-index:1;inset-inline-start:0;border-radius:5px}.attachments-upload-progress>div[data-v-531b0e4a]{padding-inline-start:3px}.new-message-attachments-action[data-v-531b0e4a]{display:inline-block;vertical-align:middle;padding:18px;opacity:.5}.attachment-inner[data-v-531b0e4a]{display:flex;flex-wrap:wrap;width:calc(100% - 90px);position:relative}.new-message-attachment-name[data-v-531b0e4a]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;margin-bottom:3px}.new-message-attachment-size[data-v-531b0e4a]{color:#6a6a6a;width:100%}.new-message-attachment-name.upload-ongoing[data-v-531b0e4a]{color:#0082c9}.new-message-attachment-name.upload-warning[data-v-531b0e4a]{color:#d2322d}.new-message-attachment-name.upload-warning .ui-progressbar-value[data-v-531b0e4a]{border:1px solid #e9322d;background:#e9322d}","",{version:3,sources:["webpack://./src/components/ComposerAttachment.vue"],names:[],mappings:"AAEA,sCACC,sBAAA,CACG,qBAAA,CACA,YAAA,CACA,6BAAA,CACA,sBAAA,CACA,WAAA,CACA,cAAA,CAEH,kDACC,SAAA,CACA,UAAA,CAGD,6DACC,iBAAA,CACA,SAAA,CACA,oBAAA,CACA,OAAA,CACA,UAAA,CAGD,0DACC,mBAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,iBAAA,CACA,kBAAA,CACA,sBAAA,CACA,iBAAA,CAEA,8DACC,aAAA,CACA,cAAA,CACA,eAAA,CACA,cAAA,CACA,eAAA,CACA,iBAAA,CAGD,+DACC,oBAAA,CACA,cAAA,CACA,wBAAA,CACA,gBAAA,CAKF,6CACC,SAAA,CACA,wBAAA,CACA,WAAA,CACA,mBAAA,CAIF,8CACC,aAAA,CACA,UAAA,CACA,UAAA,CACA,iBAAA,CACA,iBAAA,CACA,uCAAA,CACA,cAAA,CAEA,gFACC,UAAA,CACA,6CAAA,CACA,iBAAA,CACA,SAAA,CACA,oBAAA,CACA,iBAAA,CAIF,kDACC,wBAAA,CAGD,iDACC,oBAAA,CACA,qBAAA,CACA,YAAA,CACA,UAAA,CAGD,mCACC,YAAA,CACG,cAAA,CACH,uBAAA,CACA,iBAAA,CAKD,8CACC,sBAAA,CACA,eAAA,CACA,kBAAA,CACA,iBAAA,CAGD,8CACC,aAAA,CACA,UAAA,CAID,6DACC,aAAA,CAID,6DACC,aAAA,CAID,mFACC,wBAAA,CACA,kBAAA",sourcesContent:["\n\n.composer-attachment {\n\twidth: calc(50% - 20px);\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin: 10px;\n flex-wrap: wrap;\n\n\t&--with-error {\n\t\tcolor:red;\n\t\topacity: 0.5;\n\t}\n\n\t.cloud-attachment-icon {\n\t\tposition:absolute;\n\t\tz-index: 2;\n\t\tinset-inline-end: 2px;\n\t\ttop: 2px;\n\t\tcolor: rgba(0, 0, 0, 1);\n\t}\n\n\t.attachment-preview {\n\t\tdisplay: inline-flex;\n\t\tflex-wrap: wrap;\n\t\twidth: 50px;\n\t\theight:50px;\n\t\toverflow: hidden;\n\t\tborder-radius: 3px;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tposition: relative;\n\n\t\timg {\n\t\t\tdisplay: block;\n\t\t\tmin-width: 50px;\n\t\t\tmin-height: 50px;\n\t\t\tmax-width: 72px;\n\t\t\tmax-height: 72px;\n\t\t\tposition: absolute;\n\t\t}\n\n\t\tspan {\n\t\t\tcolor: rgba(0,0,0,0.3);\n\t\t\tfont-size: 13px;\n\t\t\ttext-transform: uppercase;\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t}\n\n\tbutton {\n\t\tpadding: 0;\n\t\tbackground: transparent;\n\t\tborder: none;\n\t\tmargin: 6px -2px 0 0;\n\t}\n}\n\n.attachments-upload-progress {\n\tdisplay: block;\n\theight: 5px;\n\twidth: 100%;\n\tposition: relative;\n\tborder-radius: 5px;\n\tbackground: var(--color-background-dark);\n\tmargin-top: 7px;\n\n\t.attachments-upload-progress--bar {\n\t\theight: 5px;\n\t\tbackground: var(--color-primary-element-light);\n\t\tposition: absolute;\n\t\tz-index: 1;\n\t\tinset-inline-start: 0;\n\t\tborder-radius: 5px;\n\t}\n}\n\n.attachments-upload-progress > div {\n\tpadding-inline-start: 3px;\n}\n\n.new-message-attachments-action {\n\tdisplay: inline-block;\n\tvertical-align: middle;\n\tpadding: 18px;\n\topacity: 0.5;\n}\n\n.attachment-inner {\n\tdisplay: flex;\n flex-wrap: wrap;\n\twidth: calc(100% - 90px);\n\tposition: relative;\n\n}\n\n/* attachment filenames */\n.new-message-attachment-name {\n\ttext-overflow: ellipsis;\n\toverflow: hidden;\n\twhite-space:nowrap;\n\tmargin-bottom: 3px;\n}\n\n.new-message-attachment-size {\n\tcolor: #6a6a6a;\n\twidth: 100%;\n}\n\n/* Colour the filename with a different color during attachment upload */\n.new-message-attachment-name.upload-ongoing {\n\tcolor: #0082c9;\n}\n\n/* Colour the filename in red if the attachment upload failed */\n.new-message-attachment-name.upload-warning {\n\tcolor: #d2322d;\n}\n\n/* Red ProgressBar for failed attachment uploads */\n.new-message-attachment-name.upload-warning .ui-progressbar-value {\n\tborder: 1px solid #e9322d;\n\tbackground: #e9322d;\n}\n"],sourceRoot:""}]);const r=o},32941(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,".new-message-attachments--counter[data-v-26320fc7]{color:var(--color-text-maxcontrast);padding:10px 20px;cursor:pointer;display:flex;align-items:center}.new-message-attachments--counter--with-errors[data-v-26320fc7]{color:red}.new-message-attachments--list[data-v-26320fc7]{display:flex;flex-wrap:wrap;overflow:auto;transition:max-height .5s cubic-bezier(0, 1, 0, 1);padding:0 10px}.new-message-attachments--list.hide[data-v-26320fc7]{overflow:hidden;max-height:0;transition:max-height .5s cubic-bezier(0, 1, 0, 1)}.new-message-attachments--list.active[data-v-26320fc7]{overflow:auto;max-height:287px}","",{version:3,sources:["webpack://./src/components/ComposerAttachments.vue"],names:[],mappings:"AAGC,mDACC,mCAAA,CACA,iBAAA,CACA,cAAA,CACA,YAAA,CACA,kBAAA,CAEA,gEACC,SAAA,CAIF,gDACC,YAAA,CACA,cAAA,CAEA,aAAA,CACA,kDAAA,CACA,cAAA,CAEA,qDACC,eAAA,CACA,YAAA,CACA,kDAAA,CAGD,uDACC,aAAA,CACA,gBAAA",sourcesContent:["\n\n.new-message-attachments {\n\t&--counter {\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tpadding: 10px 20px;\n\t\tcursor:pointer;\n\t\tdisplay:flex;\n\t\talign-items: center;\n\n\t\t&--with-errors {\n\t\t\tcolor:red;\n\t\t}\n\t}\n\n\t&--list {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t\t// 2 and a half attachment height\n\t\toverflow: auto;\n\t\ttransition: max-height 0.5s cubic-bezier(0, 1, 0, 1);\n\t\tpadding: 0 10px;\n\n\t\t&.hide {\n\t\t\toverflow: hidden;\n\t\t\tmax-height:0;\n\t\t\ttransition: max-height 0.5s cubic-bezier(0, 1, 0, 1);\n\t\t}\n\n\t\t&.active {\n\t\t\toverflow: auto;\n\t\t\tmax-height: 287px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const r=o},95188(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,"@media only screen and (max-width: 600px){[data-v-28ed5cfa] .modal-container{max-width:80%}}[data-v-28ed5cfa] .modal-wrapper .modal-container{overflow-y:auto !important;overflow-x:auto !important;height:90%;max-height:700px !important}.minimize-button[data-v-28ed5cfa]{float:inline-end;position:absolute;top:4px;inset-inline-end:63px}.maximize-button[data-v-28ed5cfa]{float:inline-end;position:absolute;top:4px;inset-inline-end:33px}.empty-content[data-v-28ed5cfa]{height:100%;display:flex}.modal-content[data-v-28ed5cfa]{display:flex;height:100%;flex-direction:row;width:100%}.left-pane[data-v-28ed5cfa]{flex:1;overflow-y:auto}.right-pane[data-v-28ed5cfa]{flex:0 0 370px;overflow-y:auto;padding-inline-start:5px;border-inline-start:1px solid var(--color-text-maxcontrast)}@media(max-width: 1024px){.right-pane[data-v-28ed5cfa]{display:none}}.modal-content.with-recipient .left-pane[data-v-28ed5cfa]{flex:1}.modal-content .left-pane[data-v-28ed5cfa]{width:100%}","",{version:3,sources:["webpack://./src/components/NewMessageModal.vue"],names:[],mappings:"AACA,0CACC,mCACC,aAAA,CAAA,CAIF,kDACC,0BAAA,CACA,0BAAA,CAEA,UAAA,CAEA,2BAAA,CAGD,kCACC,gBAAA,CACA,iBAAA,CACA,OAAA,CACA,qBAAA,CAGD,kCACC,gBAAA,CACA,iBAAA,CACA,OAAA,CACA,qBAAA,CAID,gCACC,WAAA,CACA,YAAA,CAGD,gCACC,YAAA,CACA,WAAA,CACA,kBAAA,CACA,UAAA,CAGD,4BACC,MAAA,CACA,eAAA,CAGD,6BACC,cAAA,CACA,eAAA,CACA,wBAAA,CACA,2DAAA,CACA,0BALD,6BAME,YAAA,CAAA,CAIF,0DACC,MAAA,CAGD,2CACC,UAAA",sourcesContent:["\n@media only screen and (max-width: 600px) {\n\t:deep(.modal-container) {\n\t\tmax-width: 80%;\n\t}\n}\n\n:deep(.modal-wrapper .modal-container) {\n\toverflow-y: auto !important;\n\toverflow-x: auto !important;\n\t// from original Modal max-height\n\theight: 90%;\n\t// Max editor + modal height\n\tmax-height: 700px !important;\n}\n\n.minimize-button {\n\tfloat: inline-end;\n\tposition: absolute;\n\ttop: 4px;\n\tinset-inline-end: 63px;\n}\n\n.maximize-button {\n\tfloat: inline-end;\n\tposition: absolute;\n\ttop: 4px;\n\tinset-inline-end: 33px;\n\n}\n\n.empty-content{\n\theight: 100%;\n\tdisplay: flex;\n}\n\n.modal-content {\n\tdisplay: flex;\n\theight: 100%;\n\tflex-direction: row;\n\twidth: 100%;\n}\n\n.left-pane {\n\tflex: 1;\n\toverflow-y: auto;\n}\n\n.right-pane {\n\tflex: 0 0 370px;\n\toverflow-y: auto;\n\tpadding-inline-start: 5px;\n\tborder-inline-start: 1px solid var(--color-text-maxcontrast);\n\t@media (max-width: 1024px) {\n\t\tdisplay: none;\n\t}\n}\n\n.modal-content.with-recipient .left-pane {\n\tflex: 1;\n}\n\n.modal-content .left-pane {\n\twidth: 100%;\n}\n"],sourceRoot:""}]);const r=o},94904(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,".recipient-info[data-v-b71c9eac]{display:inline;width:100%}.recipient-info__single[data-v-b71c9eac]{width:370px;display:inline-block}.recipient-info__avatar[data-v-b71c9eac]{margin-top:20px;display:inline;float:inline-start;padding:20px}.recipient-info__details[data-v-b71c9eac]{max-width:100%}.recipient-info__multiple[data-v-b71c9eac]{margin-top:10px;display:flex;flex-direction:column}.recipient-info__item[data-v-b71c9eac]{margin-bottom:10px}.recipient-info__expand-toggle[data-v-b71c9eac]{cursor:pointer;display:flex;gap:5px}.recipient-info__header[data-v-b71c9eac]{display:contents}.recipient-info__name[data-v-b71c9eac]{margin-top:50px}.recipient-info__show-less[data-v-b71c9eac]{margin-top:40px}","",{version:3,sources:["webpack://./src/components/RecipientInfo.vue"],names:[],mappings:"AACA,iCACC,cAAA,CACA,UAAA,CAEA,yCACC,WAAA,CACA,oBAAA,CAGD,yCACC,eAAA,CACA,cAAA,CACA,kBAAA,CACA,YAAA,CAGD,0CACC,cAAA,CAGD,2CACC,eAAA,CACA,YAAA,CACA,qBAAA,CAGD,uCACC,kBAAA,CAGD,gDACC,cAAA,CACA,YAAA,CACA,OAAA,CAGD,yCACC,gBAAA,CAGD,uCACC,eAAA,CAGD,4CACC,eAAA",sourcesContent:["\n.recipient-info {\n\tdisplay: inline;\n\twidth: 100%;\n\n\t&__single {\n\t\twidth: 370px;\n\t\tdisplay: inline-block;\n\t}\n\n\t&__avatar {\n\t\tmargin-top: 20px;\n\t\tdisplay: inline;\n\t\tfloat: inline-start;\n\t\tpadding: 20px;\n\t}\n\n\t&__details {\n\t\tmax-width: 100%;\n\t}\n\n\t&__multiple {\n\t\tmargin-top: 10px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__item {\n\t\tmargin-bottom: 10px;\n\t}\n\n\t&__expand-toggle {\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tgap: 5px;\n\t}\n\n\t&__header {\n\t\tdisplay: contents;\n\t}\n\n\t&__name {\n\t\tmargin-top: 50px;\n\t}\n\n\t&__show-less {\n\t\tmargin-top: 40px;\n\t}\n}\n"],sourceRoot:""}]);const r=o},81979(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,".insert-button[data-v-0b204954]{justify-self:end;margin-bottom:calc(var(--default-grid-baseline)*2)}","",{version:3,sources:["webpack://./src/components/textBlocks/TextBlockModal.vue"],names:[],mappings:"AACA,gCACC,gBAAA,CACA,kDAAA",sourcesContent:["\n.insert-button {\n\tjustify-self: end;\n\tmargin-bottom: calc( var(--default-grid-baseline) * 2) ;\n}\n"],sourceRoot:""}]);const r=o},61458(t,e,a){"use strict";a.d(e,{A:()=>r});var n=a(71354),i=a.n(n),s=a(76314),o=a.n(s)()(i());o.push([t.id,"\n#mailvelope-composer[data-v-a6a82246] {\n\twidth: 100%;\n\theight: 450px;\n}\n","",{version:3,sources:["webpack://./src/components/MailvelopeEditor.vue"],names:[],mappings:";AAmEA;CACA,WAAA;CACA,aAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2020 F7cloud GmbH and F7cloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n<template>\n\t<div id=\"mailvelope-composer\" />\n</template>\n\n<script>\nimport { isPgpgMessage } from '../crypto/pgp.js'\nimport logger from '../logger.js'\n\nexport default {\n\tname: 'MailvelopeEditor',\n\tprops: {\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\trecipients: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\n\t\tquotedText: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: () => undefined,\n\t\t},\n\n\t\tisReplyOrForward: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\teditor: undefined,\n\t\t}\n\t},\n\n\tasync mounted() {\n\t\tconst isEncrypted = this.quotedText ? isPgpgMessage(this.quotedText) : false\n\t\tconst quotedMail = this.isReplyOrForward ? this.quotedText?.value : undefined\n\n\t\tthis.editor = await window.mailvelope.createEditorContainer('#mailvelope-composer', undefined, {\n\t\t\tquotedMail: isEncrypted ? quotedMail : undefined,\n\t\t})\n\t},\n\n\tmethods: {\n\t\tasync pull() {\n\t\t\tconst recipients = this.recipients.map((r) => r.email)\n\t\t\tlogger.info('encrypting message', { recipients })\n\t\t\tconst armored = await this.editor.encrypt(recipients)\n\t\t\tlogger.info('message encryted', { armored })\n\n\t\t\tthis.$emit('input', armored)\n\t\t},\n\t},\n}\n<\/script>\n\n<style scoped>\n#mailvelope-composer {\n\twidth: 100%;\n\theight: 450px;\n}\n</style>\n"],sourceRoot:""}]);const r=o},60678(t){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960" fill="#5f6368"><path d="M200-200h560v-367L567-760H200v560Zm0 80q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h400l240 240v400q0 33-23.5 56.5T760-120H200Zm80-160h400v-80H280v80Zm0-160h400v-80H280v80Zm0-160h280v-80H280v80Zm-80 400v-560 560Z"></path></svg>'},46563(e,a,n){"use strict";n.r(a),n.d(a,{default:()=>be});var i=n(85168),s=n(53334),o=n(60103),r=n(51849),c=n(42646),l=n(4152),d=n(53797),m=n(51651),A=n(22457),p=n(76459),h=n.n(p),u=n(12572),f=n.n(u),g=n(22556),C=n.n(g),v=n(69655),b=n.n(v),y=n(27380),w=n(85471),x=n(89157),_=n(64508),k=n(11893),S=n(71561),D=n(52294),B=n(32119),T=n(35538),M=n(94479),I=n(18896),E=n(46859),R=n(76476),z=n(80415),P=n(73782),L=n(21777),N=n(8184),F=n(6555),O=n(68821),G=n.n(O),j=n(27742),V=n.n(j),q=n(4821),$=n.n(q),U=n(6961),H=n(39487),Y=n(63814),W=n(56702),K=n(28860),Q=n(60943);const J={name:"ComposerAttachment",components:{Close:W.A,Cloud:K.A,EmailArrowRightIcon:Q.A},props:{attachment:{type:Object,required:!0},uploading:{type:Boolean,default:!1}},data:()=>({progress:0,sizeString:"",finished:!1}),computed:{previewURL(){return this.attachment.hasPreview&&this.attachment.id>0?(0,Y.Jv)(`/core/preview?fileId=${this.attachment.id}&x=100&y=100&a=0`):""},getIcon(){return OC.MimeType.getIconUrl(this.attachment.fileType)},extension(){return this.attachment.fileName.split(".").pop()}},methods:{onDelete(t){this.$emit("on-delete-attachment",t)}}};var Z=n(85072),X=n.n(Z),tt=n(97825),et=n.n(tt),at=n(77659),nt=n.n(at),it=n(55056),st=n.n(it),ot=n(10540),rt=n.n(ot),ct=n(41113),lt=n.n(ct),dt=n(21980),mt={};mt.styleTagTransform=lt(),mt.setAttributes=st(),mt.insert=nt().bind(null,"head"),mt.domAPI=et(),mt.insertStyleElement=rt(),X()(dt.A,mt),dt.A&&dt.A.locals&&dt.A.locals;var At=n(14486);const pt=(0,At.A)(J,function(){var t=this,e=t._self._c;return e("li",{staticClass:"composer-attachment",class:{"composer-attachment--with-error":t.attachment.error}},[e("div",{staticClass:"attachment-preview"},[!1!==t.attachment.imageBlobURL?e("img",{staticClass:"attachment-preview-image",attrs:{src:t.attachment.imageBlobURL}}):t.attachment.hasPreview?e("img",{staticClass:"attachment-preview-image",attrs:{src:t.previewURL}}):e("img",{staticClass:"attachment-preview-image",attrs:{src:t.getIcon}}),t._v(" "),"cloud"===t.attachment.type?e("span",{staticClass:"cloud-attachment-icon"},[e("Cloud",{attrs:{size:20}})],1):"message"===t.attachment.type?e("span",[e("EmailArrowRightIcon")],1):t._e()]),t._v(" "),e("div",{staticClass:"attachment-inner"},[e("span",{staticClass:"new-message-attachment-name"},[t._v("\n\t\t\t"+t._s(t.attachment.displayName?t.attachment.displayName:t.attachment.fileName)+"\n\t\t")]),t._v(" "),t.attachment.finished?t.attachment.sizeString?e("span",{staticClass:"new-message-attachment-size"},[t._v("\n\t\t\t"+t._s(t.attachment.sizeString)+"\n\t\t")]):t._e():e("span",{staticClass:"attachments-upload-progress"},[e("span",{staticClass:"attachments-upload-progress--bar",style:"width:"+t.attachment.percent+"%"})])]),t._v(" "),e("button",{on:{click:function(e){return t.onDelete(t.attachment)}}},[e("Close",{attrs:{size:20}})],1)])},[],!1,null,"531b0e4a",null).exports;var ht=n(85745),ut=n(93173),ft=n(4606);async function gt(t){const e=await(0,ft.K)("files").stat(t,{data:'<?xml version="1.0"?>\n\t\t\t<d:propfind\n\t\t\txmlns:d="DAV:"\n\t\t\txmlns:oc="http://owncloud.org/ns"\n\t\t\txmlns:nc="http://f7cloud.org/ns">\n\t\t\t\t<d:prop>\n\t\t\t\t\t<oc:size />\n\t\t\t\t\t<oc:fileid />\n\t\t\t\t\t<nc:has-preview />\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind>',details:!0});return e?.data?.props}var Ct=n(66802);const vt=["image/gif","image/jpeg","image/pjpeg","image/png","image/webp"],bt={name:"ComposerAttachments",components:{FilePicker:N.Z,ComposerAttachment:pt,ChevronDown:U.A,ChevronUp:H.A},props:{value:{type:Array,required:!0},bus:{type:Object,required:!0},uploadSizeLimit:{type:Number,default:0}},data(){return{uploading:!1,uploads:{},attachments:[],isToggle:!1,hasNextLine:!1,isAttachementPickerOpen:!1,isLinkPickerOpen:!1,attachementPickerButtons:[{label:(0,s.Tl)("mail","Choose"),callback:this.onAddCloudAttachment,type:"primary"}],linkPickerButtons:[{label:(0,s.Tl)("mail","Choose"),callback:this.onAddCloudAttachmentLink,type:"primary"}]}},computed:{hasAttachmentErrors(){return this.attachments.some(t=>t.error)},uploadProgress(){let t=0,e=0;for(const a in this.uploads)t+=this.uploads[a].uploaded,e+=this.uploads[a].total;return(t/e*100).toFixed(1)},total(){let t=0;for(const e in this.uploads)t+=this.uploads[e].total;return t}},watch:{attachments(){this.$nextTick(function(){let t=null;this.$refs.attachments.some((e,a)=>{const n=e.$el.getBoundingClientRect().top;return null!==t&&t!==n?(this.hasNextLine||(this.isToggle=!0,this.hasNextLine=!0),!0):(t=n,this.$refs.attachments.length===a+1&&(this.hasNextLine=!1,this.isToggle=!1,!0))})})}},created(){this.bus.on("on-add-local-attachment",this.onAddLocalAttachment),this.bus.on("on-add-cloud-attachment",this.openAttachementPicker),this.bus.on("on-add-cloud-attachment-link",this.OpenLinkPicker),this.bus.on("on-add-message-as-attachment",this.onAddMessageAsAttachment),this.value.map(t=>(this.attachments.push({id:t.id,fileName:t.fileName,displayName:C()("/",t.fileName),total:t.size,finished:!0,sizeString:this.formatBytes(t.size),imageBlobURL:t.isImage?t.downloadUrl:t.mimeUrl}),t))},methods:{filterAttachements(t){const e=t.attributes["share-attributes"]?JSON.parse(t.attributes["share-attributes"])?.find(t=>"download"===t.key):void 0,a=void 0===e||e.value;return t.permissions&OC.PERMISSION_READ&&a},openAttachementPicker(){this.isAttachementPickerOpen=!0},OpenLinkPicker(){this.isLinkPickerOpen=!0},onAddLocalAttachment(){this.$refs.localAttachments.click()},emitNewAttachments(t){this.$emit("input",this.value.concat(t))},totalSizeOfUpload(){return Object.values(this.value).reduce((t,e)=>"local"===!e.type?t:t+e.size,0)},onLocalAttachmentSelected(t){this.uploading=!0,w.Ay.set(this,"uploads",{});const e=$()(V()("size"),Object.values(t.target.files)),a=e+this.totalSizeOfUpload();if(ht.A.debug("checking upload size limit",{existingUploads:this.totalSizeOfUpload(),toUpload:e,limit:this.uploadSizeLimit,newTotal:a}),this.uploadSizeLimit&&a>this.uploadSizeLimit)return this.showAttachmentFileSizeWarning(t.target.files.length),void(this.uploading=!1);const n=t=>(e,a)=>{this.uploads[t].uploaded=a,this.attachments.map((e,n)=>(e.displayName===t&&(this.attachments[n].progress=a,this.changeProgress(e,a)),e))},i=G()(t=>{const e=new AbortController,a={fileName:t.name,fileType:t.type,imageBlobURL:this.generatePreview(t),displayName:C()("/",t.name),progress:null,percent:0,total:t.size,finished:!1,error:!1,hasPreview:!1,controller:e};this.attachments.push(a),w.Ay.set(this.uploads,t.name,{total:t.size,uploaded:0});try{return(0,ut.ul)(t,n(t.name),e).catch(()=>{this.attachments.some(e=>e.displayName===t.name&&!e.error&&(this.$set(e,"error",!0),!0))}).then(({file:t,id:e})=>{ht.A.info("local attachment uploaded",{file:t,id:e}),a.id=e,this.emitNewAttachments([{fileName:t.name,displayName:C()("/",t.name),id:e,size:t.size,type:"local"}])})}catch(e){ht.A.error("Could not upload file",{file:t,error:e})}},t.target.files),s=Promise.all(i).catch(t=>ht.A.error("could not upload all attachments",{error:t})).then(()=>this.uploading=!1);return this.$emit("upload",s),s},async onAddCloudAttachment(t){try{const e=t.map(t=>t.path);this.cloudAttachement=!1;const a=await Promise.all(e.map(gt)),n=a.reduce((t,e)=>t+e.size,0)+this.totalSizeOfUpload();if(this.uploadSizeLimit&&n>this.uploadSizeLimit)return void this.showAttachmentFileSizeWarning(e.length);this.emitNewAttachments(e.map((t,e)=>{const n={fileName:t,displayName:C()("/",t),type:"cloud",size:a[e].size},i={finished:!0,imageBlobURL:this.generatePreview(n),total:a[e].size,sizeString:this.formatBytes(a[e].size),hasPreview:a[e]["has-preview"],id:a[e].fileid,uploaded:0};return this.attachments.push(Object.assign(i,n)),n}))}catch(t){ht.A.error("could not choose a file as attachment",{error:t})}},async onAddCloudAttachmentLink(e){try{this.cloudAttachementLink=!1;const a=await async function(e,a){try{return(await Ct.Ay.post((0,Y.KT)("apps/files_sharing/api/v1/",2)+"shares",{shareType:3,path:e,shareWith:a})).data.ocs.data.url}catch(e){throw e.response&&e.response.data&&e.response.data.ocs&&e.response.data.ocs.meta&&e.response.data.ocs.meta.message?(console.error(`Error while sharing file: ${e.response.data.ocs.meta.message||"Unknown error"}`),(0,i.Qg)(e.response.data.ocs.meta.message),e):(console.error("Error while sharing file: Unknown error"),(0,i.Qg)(t("mail","Error while sharing file")),e)}}(e[0].path,(0,L.do)());this.appendToBodyAtCursor(`<a href="${a}">${a}</a>`)}catch(t){ht.A.error("could not choose a file as attachment link",{error:t})}},onAddMessageAsAttachment({id:t,fileName:e}){const a={type:"message",id:t,fileName:e};this.attachments.push({...a,finished:!0}),this.emitNewAttachments([a])},showAttachmentFileSizeWarning(t){(0,i.I9)((0,s.zw)("mail","The attachment exceed the allowed attachments size of {size}. Please share the file via link instead.","The attachments exceed the allowed attachments size of {size}. Please share the files via link instead.",t,{size:(0,F.v7)(this.uploadSizeLimit)}))},onDelete(t){!t.finished&&t.controller&&t.controller.abort();const e=t.fileName,a=(t.displayName,t.id),n=(t.total,t.type);this.attachments=this.attachments.filter(e=>e!==t),this.$emit("input",this.value.filter(t=>"cloud"===n?t.fileName!==e:t.id!==a));const i=Object.keys(this.uploads).filter(e=>e!==t.fileName).reduce((t,e)=>(t[e]=this.uploads[e],t),{});this.uploads=i,this.$emit("on-delete-attachment",t)},appendToBodyAtCursor(t){this.bus.emit("append-to-body-at-cursor",t)},formatBytes(t,e=2){if(0===t)return"0 B";const a=e<0?0:e,n=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,n)).toFixed(a))+" "+["B","KB","MB","GB","TB","PB","EB","ZB","YB"][n]},changeProgress(t,e){this.attachments.map((a,n)=>{if(t.fileName===a.fileName&&!a.finished){const n=e<=a.total?e:a.total;this.$set(a,"progress",n),this.$set(a,"sizeString",this.formatBytes(n)),this.$set(a,"percent",n/a.total*100).toFixed(1),t.total<=n&&this.$set(a,"finished",!0)}return a})},generatePreview(t){return!!this.isImage(t)&&URL.createObjectURL(t)},isImage:t=>t.type&&-1!==vt.indexOf(t.type)}};var yt=n(32941),wt={};wt.styleTagTransform=lt(),wt.setAttributes=st(),wt.insert=nt().bind(null,"head"),wt.domAPI=et(),wt.insertStyleElement=rt(),X()(yt.A,wt),yt.A&&yt.A.locals&&yt.A.locals;const xt=(0,At.A)(bt,function(){var t=this,e=t._self._c;return e("div",{staticClass:"new-message-attachments"},[t.hasNextLine?e("div",{staticClass:"new-message-attachments--counter",class:{"new-message-attachments--counter--with-errors":t.hasAttachmentErrors},on:{click:function(e){t.isToggle=!t.isToggle}}},[e("span",[t._v("\n\t\t\t"+t._s(t.n("mail","{count} attachment","{count} attachments",t.attachments.length,{count:t.attachments.length}))+" ("+t._s(t.formatBytes(t.totalSizeOfUpload()))+")\n\t\t")]),t._v(" "),t.isToggle?e("ChevronUp",{attrs:{size:20}}):t._e(),t._v(" "),t.isToggle?t._e():e("ChevronDown",{attrs:{size:20}})],1):t._e(),t._v(" "),e("ul",{staticClass:"new-message-attachments--list",class:{hide:t.isToggle,active:!t.isToggle&&t.hasNextLine}},t._l(t.attachments,function(a){return e("ComposerAttachment",{key:a.id,ref:"attachments",refInFor:!0,attrs:{attachment:a,uploading:t.uploading},on:{"on-delete-attachment":function(e){return t.onDelete(a)}}})}),1),t._v(" "),e("input",{ref:"localAttachments",staticStyle:{display:"none"},attrs:{type:"file",multiple:""},on:{change:t.onLocalAttachmentSelected}}),t._v(" "),t.isAttachementPickerOpen?e("FilePicker",{attrs:{name:t.t("mail","Choose a file to add as attachment"),buttons:t.attachementPickerButtons,"filter-fn":t.filterAttachements},on:{close:()=>t.isAttachementPickerOpen=!1}}):t._e(),t._v(" "),t.isLinkPickerOpen?e("FilePicker",{attrs:{name:t.t("mail","Choose a file to share as a link"),multiselect:!1,buttons:t.linkPickerButtons,"filter-fn":t.filterAttachements},on:{close:()=>t.isLinkPickerOpen=!1}}):t._e()],1)},[],!1,null,"26320fc7",null).exports;var _t=n(84316);const kt={name:"MailvelopeEditor",props:{value:{type:String,required:!0},recipients:{type:Array,required:!0},quotedText:{type:Object,required:!1,default:()=>{}},isReplyOrForward:{type:Boolean,default:!1}},data:()=>({editor:void 0}),async mounted(){const t=!!this.quotedText&&(0,_t.y)(this.quotedText),e=this.isReplyOrForward?this.quotedText?.value:void 0;this.editor=await window.mailvelope.createEditorContainer("#mailvelope-composer",void 0,{quotedMail:t?e:void 0})},methods:{async pull(){const t=this.recipients.map(t=>t.email);ht.A.info("encrypting message",{recipients:t});const e=await this.editor.encrypt(t);ht.A.info("message encryted",{armored:e}),this.$emit("input",e)}}};var St=n(61458),Dt={};Dt.styleTagTransform=lt(),Dt.setAttributes=st(),Dt.insert=nt().bind(null,"head"),Dt.domAPI=et(),Dt.insertStyleElement=rt(),X()(St.A,Dt),St.A&&St.A.locals&&St.A.locals;const Bt=(0,At.A)(kt,function(){return(0,this._self._c)("div",{attrs:{id:"mailvelope-composer"}})},[],!1,null,"a6a82246",null).exports;var Tt=n(54598),Mt=n(90629),It=n(5848),Et=n(49519);const Rt={name:"TextBlockModal",components:{ListItem:It.A,NcDialog:o.i$,NcButton:o.x1,IconCheck:Mt.A},data:()=>({picked:null}),computed:{...(0,r.aH)(Et.A,["getMyTextBlocks","getSharedTextBlocks"])},methods:{handleClick(t){this.picked=t},handleClose(){this.$emit("close")}}};var zt=n(81979),Pt={};Pt.styleTagTransform=lt(),Pt.setAttributes=st(),Pt.insert=nt().bind(null,"head"),Pt.domAPI=et(),Pt.insertStyleElement=rt(),X()(zt.A,Pt),zt.A&&zt.A.locals&&zt.A.locals;const Lt=(0,At.A)(Rt,function(){var t=this,e=t._self._c;return e("NcDialog",{attrs:{id:"text-block-picker",name:t.t("mail","Text blocks")},on:{closing:t.handleClose}},[e("p",[t._v(t._s(t.t("mail","Choose a text block to insert at the cursor")))]),t._v(" "),t._l(t.getMyTextBlocks(),function(a){return e("ListItem",{key:a.id,attrs:{"text-block":a,"is-view-mode":!0,picked:a.id===t.picked?.id},on:{click:t.handleClick}})}),t._v(" "),t._l(t.getSharedTextBlocks(),function(a){return e("ListItem",{key:a.id,attrs:{"text-block":a,shared:!0,"is-view-mode":!0,picked:a.id===t.picked?.id},on:{click:t.handleClick}})}),t._v(" "),e("NcButton",{staticClass:"insert-button",attrs:{disabled:!t.picked},on:{click:function(e){return t.$emit("insert",t.picked)}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconCheck",{attrs:{size:20,name:t.t("mail","Insert text block")}})]},proxy:!0}])},[t._v("\n\t\t"+t._s(t.t("mail","Insert"))+"\n\t\t")])],2)},[],!1,null,"0b204954",null).exports;var Nt=n(28793),Ft=n(4728),Ot=n(39679),Gt=n(61178),jt=n(94674),Vt=n(92641),qt=n(87314),$t=n(18446),Ut=n(60678),Ht=n.n(Ut);const Yt=h()(jt.F,500);w.Ay.use(x);const Wt={name:"Composer",components:{MailvelopeEditor:Bt,Actions:o.B6,ActionButton:o.Ko,ActionCheckbox:o.RI,ActionInput:o.Az,ActionRadio:o.H_,ButtonVue:o.x1,ComposerAttachments:xt,TextBlockModal:Lt,ChevronLeft:k.A,Delete:R.A,Download:z.A,IconUpload:P.A,IconFolder:S.A,IconPublic:B.A,IconLinkPicker:E.A,NcSelect:o.EQ,NcIconSvgWrapper:o.K1,Paperclip:T.A,TextEditor:Nt.A,ListItemIcon:o.y_,RecipientListItem:Tt.A,Send:I.A,SendClock:M.A,IconFormat:D.A,NcReferencePickerModal:_.mN},props:{fromAccount:{type:Number,default:()=>{}},fromAlias:{type:Number,default:void 0},to:{type:Array,default:()=>[]},cc:{type:Array,default:()=>[]},bcc:{type:Array,default:()=>[]},subject:{type:String,default:""},body:{type:Object,default:()=>(0,$t.qy)("")},editorBody:{type:String,default:""},inReplyToMessageId:{type:String,default:void 0},replyTo:{type:Object,required:!1,default:()=>{}},forwardFrom:{type:Object,required:!1,default:()=>{}},forwardedMessages:{type:Array,required:!1,default:()=>[]},smartReply:{type:String,required:!1,default:void 0},sendAt:{type:Number,default:void 0},attachmentsData:{type:Array,default:()=>[]},error:{type:String,default:void 0},canSaveDraft:{type:Boolean,default:!1},uploadingAttachments:{type:Boolean,default:!1},savingDraft:{type:Boolean,default:!1},draftSaved:{type:Boolean,default:!1},smimeSign:{type:Boolean,default:!1},smimeEncrypt:{type:Boolean,default:!1},isFirstOpen:{type:Boolean,required:!0},requestMdn:{type:Boolean,default:!1},accounts:{type:Array,required:!0}},data(){const t=new Date;return t.setHours(t.getHours()+1),{sending:!1,textBlockSvg:Ht(),showCC:this.cc.length>0,showBCC:this.bcc.length>0,selectedAlias:-1,autocompleteRecipients:this.to.concat(this.cc).concat(this.bcc),newRecipients:[],subjectVal:this.subject,bodyVal:this.editorBody,attachments:this.attachmentsData,noReply:this.to.some(t=>t.email?.startsWith("noreply@")||t.email?.startsWith("no-reply@")),saveDraftDebounced:f()(5e3,this.saveDraft),selectTo:this.to,selectCc:this.cc,selectBcc:this.bcc,bus:(0,y.A)(),encrypt:!1,mailvelope:{available:!1,keyRing:void 0,keysMissing:[]},editorMode:"html"!==this.body?.format?qt._s:qt.Gf,requestMdnVal:this.requestMdn,changeSignature:!1,loadingIndicatorTo:!1,loadingIndicatorCc:!1,loadingIndicatorBcc:!1,isAddAttachmentsOpen:!1,isActionsOpen:!1,isMoreActionsOpen:!1,selectedDate:t,sendAtVal:this.sendAt,firstDayDatetimePicker:0===(0,s.JN)()?7:(0,s.JN)(),formatter:{stringify:t=>t?(0,m.A)(t).format("LLL"):"",parse:t=>t?(0,m.A)(t,"LLL").toDate():null},autoLimit:!0,wantsSmimeSign:this.smimeSign,wantsSmimeEncrypt:this.smimeEncrypt,isPickerOpen:!1,isTextBlockPickerOpen:!1,recipientSearchTerms:{},smimeSignAliases:[]}},computed:{...(0,r.n2)(Et.A),...(0,r.aH)(Et.A,["isScheduledSendingDisabled"]),isPickerAvailable(){return parseInt(this.mainStore.getNcVersion)>=26},aliases(){let t=0;return this.accounts.filter(t=>!t.isUnified).flatMap(e=>[{id:e.id,aliasId:null,selectId:t++,editorMode:e.editorMode,signature:e.signature,name:e.name,emailAddress:e.emailAddress,signatureAboveQuote:e.signatureAboveQuote,smimeCertificateId:e.smimeCertificateId,selectable:e.connectionStatus},e.aliases.map(a=>({id:e.id,aliasId:a.id,selectId:t++,editorMode:e.editorMode,signature:a.signature,name:a.name,emailAddress:a.alias,signatureAboveQuote:e.signatureAboveQuote,smimeCertificateId:a.smimeCertificateId,selectable:e.connectionStatus}))]).flat()},allRecipients(){return this.selectTo.concat(this.selectCc).concat(this.selectBcc)},dateToday:()=>new Date((new Date).setDate((new Date).getDate())),attachmentSizeLimit(){return this.mainStore.getPreference("attachment-size-limit")},selectableRecipients(){return b()("email")(this.newRecipients.concat(this.autocompleteRecipients).map(t=>({...t,label:t.label||t.email})))},isForward(){return void 0!==this.forwardFrom},isReply(){return void 0!==this.replyTo},canSend(){return!(this.wantsSmimeEncrypt&&(!this.smimeCertificateForCurrentAlias||this.missingSmimeCertificatesForRecipients.length)||this.encrypt&&this.mailvelope.keysMissing.length||!(this.selectTo.length>0||this.selectCc.length>0||this.selectBcc.length>0))},editorPlainText(){return this.editorMode===qt._s},submitButtonTitle(){return this.wantsSmimeEncrypt?this.sendAtVal?(0,s.Tl)("mail","Encrypt with S/MIME and send later")+` ${this.convertToLocalDate(this.sendAtVal)}`:(0,s.Tl)("mail","Encrypt with S/MIME and send"):this.mailvelope.available&&this.encrypt?this.sendAtVal?(0,s.Tl)("mail","Encrypt with Mailvelope and send later")+` ${this.convertToLocalDate(this.sendAtVal)}`:(0,s.Tl)("mail","Encrypt with Mailvelope and send"):this.sendAtVal?(0,s.Tl)("mail","Send later")+` ${this.convertToLocalDate(this.sendAtVal)}`:(0,s.Tl)("mail","Send")},dateTomorrowMorning(){const t=new Date;return t.setTime(t.getTime()+864e5),t.setHours(9,0,0,0)},dateTomorrowAfternoon(){const t=new Date;return t.setTime(t.getTime()+864e5),t.setHours(14,0,0,0)},dateMondayMorning(){const t=new Date;return t.setHours(9,0,0,0),t.setDate(t.getDate()+(7-t.getDay())%7+1)},customSendTime(){return new Date(this.selectedDate).getTime()},showAmPm:()=>-1!==(0,m.A)().locale((0,s.JK)()).localeData().longDateFormat("LT").toLowerCase().indexOf("a"),isSendAtTomorrowMorning(){return!(!this.sendAtVal||Math.floor(this.dateTomorrowMorning/1e3)!==Math.floor(this.sendAtVal/1e3))},isSendAtTomorrowAfternoon(){return!(!this.sendAtVal||Math.floor(this.dateTomorrowAfternoon/1e3)!==Math.floor(this.sendAtVal/1e3))},isSendAtMondayMorning(){return!(!this.sendAtVal||Math.floor(this.dateMondayMorning/1e3)!==Math.floor(this.sendAtVal/1e3))},isSendAtCustom(){return!(!this.sendAtVal||this.isSendAtTomorrowMorning||this.isSendAtTomorrowAfternoon||this.isSendAtMondayMorning)},smimeCertificateForCurrentAlias(){if(-1!==this.selectedAlias)return this.smimeCertificateForAlias(this.selectedAlias)},shouldSmimeSign(){return this.wantsSmimeSign&&!!this.smimeCertificateForCurrentAlias},shouldSmimeEncrypt(){return this.wantsSmimeEncrypt&&!!this.smimeCertificateForCurrentAlias&&0===this.missingSmimeCertificatesForRecipients.length},missingSmimeCertificatesForRecipients(){const t=[];return this.allRecipients.forEach(e=>{this.mainStore.getSmimeCertificateByEmail(e.email)||t.push(e.email)}),t},textBlocks(){return this.mainStore.getSharedTextBlocks()?.map(t=>({title:t.title,content:t.content})).concat(this.mainStore.getMyTextBlocks().map(t=>({title:t.title,content:t.content})))}},watch:{"$route.params.threadId":function(){this.reset()},allRecipients(){this.checkRecipientsKeys()},aliases(t){if(console.debug("aliases changed"),-1===this.selectedAlias)return;const e=t.find(t=>t.id===this.selectedAlias.id&&t.aliasId===this.selectedAlias.aliasId);void 0===e?this.onAliasChange(t[0]):this.onAliasChange(e)},selectTo(t){this.$emit("update:to",t)},selectCc(t){this.$emit("update:cc",t)},selectBcc(t){this.$emit("update:bcc",t)},subjectVal(t){this.$emit("update:subject",t)},bodyVal(t){this.$emit("update:editor-body",t)},attachments(t){this.$emit("update:attachments-data",t)},sendAtVal(t){this.$emit("update:send-at",t)},wantsSmimeSign(t){this.$emit("update:smime-sign",t)},wantsSmimeEncrypt(t){this.$emit("update:smime-encrypt",t)},requestMdnVal(t){this.$emit("update:request-mdn",t)},selectedAlias:{handler(){const t=this.selectedAlias.emailAddress;this.wantsSmimeSign=-1!==this.smimeSignAliases.indexOf(t)},immediate:!0}},async beforeMount(){this.setAlias(),this.initBody(),await this.onMailvelopeLoaded(await(0,Ot.J)())},mounted(){!this.isReply&&this.isFirstOpen&&this.$nextTick(()=>this.$refs.toLabel.$el.focus()),void 0!==this.forwardFrom?.attachments&&this.forwardFrom.attachments.forEach(t=>{this.attachments.push({fileName:t.fileName,displayName:C()("/",t.fileName),id:t.id,messageId:this.forwardFrom.databaseId,type:"message-attachment"})});for(const t of this.forwardedMessages){const e=this.mainStore.getEnvelope(t);e?this.bus.emit("on-add-message-as-attachment",{id:t,fileName:e.subject+".eml"}):(0,i.Qg)((0,s.Tl)("mail","Message {id} could not be found",{id:t}))}this.sendAt&&this.isSendAtCustom&&(this.selectedDate=new Date(this.sendAt)),this.smimeSignAliases=this.mainStore.getPreference("smime-sign-aliases",[]),this.mainStore.areTextBlocksFetched||(this.mainStore.fetchSharedTextBlocks(),this.mainStore.fetchMyTextBlocks())},beforeDestroy(){window.removeEventListener("mailvelope",this.onMailvelopeLoaded)},methods:{clearOnBlur(t){return!!this.recipientSearchTerms[t]&&this.seemsValidEmailAddress(this.recipientSearchTerms[t])},handleShow(t){this.$emit("show-toolbar",t)},openPicker(){this.isPickerOpen=!0},openTextBlockPicker(){this.isTextBlockPickerOpen=!0},closePicker(){this.isPickerOpen=!1},filterOption(t,e,a,n){let i=[];if("to"===n?i=this.selectTo:"cc"===n?i=this.selectCc:"bcc"===n&&(i=this.selectBcc),i.some(e=>e.email===t.email))return!1;const s=a.toLocaleLowerCase();return(e||"").toLocaleLowerCase().includes(s)||(t?.email||"").toLocaleLowerCase().includes(s)},setAlias(){const t=this.selectedAlias;if(this.fromAccount&&this.fromAlias)this.selectedAlias=this.aliases.find(t=>t.id===this.fromAccount&&t.aliasId===this.fromAlias);else if(this.fromAccount)this.selectedAlias=this.aliases.find(t=>t.id===this.fromAccount&&!t.aliasId);else{const t=this.mainStore.getMailbox(this.$route.params.mailboxId)?.accountId;this.selectedAlias=t?this.aliases.find(e=>e.id===t):this.aliases[0]}-1!==t||this.body&&""!==this.body.value||(this.editorMode=this.selectedAlias.editorMode)},async checkRecipientsKeys(){if(!this.encrypt||!this.mailvelope.available)return;const t=this.allRecipients.map(t=>t.email),e=await this.mailvelope.keyRing.validKeyForAddress(t);ht.A.debug("recipients keys validated",{recipients:t,keysValid:e}),this.mailvelope.keysMissing=t.filter(t=>!1===e[t])},initBody(){let t;t=this.replyTo&&this.isFirstOpen?(0,Gt.rv)(this.editorPlainText?(0,$t.Ul)(this.body):(0,$t.Vw)(this.body),this.replyTo.from[0],this.replyTo.dateInt,"top"===this.mainStore.getPreference("reply-mode","top")).value:this.forwardFrom&&this.isFirstOpen?(0,Gt.rv)(this.editorPlainText?(0,$t.Ul)(this.body):(0,$t.Vw)(this.body),this.forwardFrom.from[0],this.forwardFrom.dateInt,"top"===this.mainStore.getPreference("reply-mode","top")).value:this.bodyVal,this.bodyVal=(0,$t.qy)(t).value},getMessageData(){const t={account:this.selectedAlias.id,accountId:this.selectedAlias.id,aliasId:this.selectedAlias.aliasId,to:this.selectTo,cc:this.selectCc,bcc:this.selectBcc,subject:this.subjectVal,attachments:this.attachments,inReplyToMessageId:this.inReplyToMessageId??(this.replyTo?this.replyTo.messageId:void 0),isHtml:!this.encrypt&&!this.editorPlainText,requestMdn:this.requestMdnVal,sendAt:this.sendAtVal?Math.floor(this.sendAtVal/1e3):void 0,smimeSign:this.shouldSmimeSign,smimeEncrypt:this.shouldSmimeEncrypt,smimeCertificateId:this.smimeCertificateForCurrentAlias?.id,isPgpMime:this.encrypt};return t.isHtml?t.bodyHtml=this.bodyVal:t.bodyPlain=(0,$t.Ul)((0,$t.qy)(this.bodyVal)).value,t},saveDraft(){const t=this.getMessageData();""!==t.subject||""!==t.body?.value||0!==t.cc.length||0!==t.bcc.length||0!==t.to.length||void 0!==t.sendAt?this.$emit("draft",t):ht.A.debug("Nothing substantial to save, ignoring draft save")},insertSignature(){let t;t=this.changeSignature?Ft.Xu:Ft.TB,this.$refs.editor.editorExecute("insertSignature",t,(0,$t.Vw)((0,$t.o0)(this.selectedAlias.signature)).value,this.selectedAlias.signatureAboveQuote),this.changeSignature=!1},onPicked(t){this.closePicker(),this.bus.emit("append-to-body-at-cursor",t)},onTextBlockInsert(t){this.isTextBlockPickerOpen=!1,this.bus.emit("insert-text-block",t)},onEditorInput(t){this.bodyVal=t,this.saveDraftDebounced()},onEditorReady(t){this.bodyVal=t.getData(),this.insertSignature(),this.smartReply&&this.bus.emit("append-to-body-at-cursor",this.smartReply)},onEditorSubmit(t){this.bodyVal=t.getData(),this.onSend()},onChangeSendLater(t){this.sendAtVal=t?Number.parseInt(t,10):void 0},convertToLocalDate:t=>new Date(t).toLocaleString((0,s.lO)(),{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}),onAliasChange(t){ht.A.debug("changed alias",{alias:t}),this.selectedAlias=t,this.changeSignature=!0,this.$emit("update:from-account",t.id),t.aliasId&&this.$emit("update:from-alias",t.aliasId),(this.wantsSmimeSign||this.wantsSmimeEncrypt)&&(this.smimeCertificateForAlias(t)||(this.wantsSmimeSign=!1,this.wantsSmimeEncrypt=!1,(0,i.I9)((0,s.Tl)("mail","Sign or Encrypt with S/MIME was selected, but we don't have a certificate for the selected alias. The message will not be signed or encrypted.")))),this.editorMode===qt._s&&t.editorMode===qt.Gf?this.editorMode=qt.Gf:this.insertSignature()},onAddLocalAttachment(){this.bus.emit("on-add-local-attachment"),this.saveDraftDebounced()},onAddCloudAttachment(){this.bus.emit("on-add-cloud-attachment"),this.saveDraftDebounced()},onAddCloudAttachmentLink(){this.bus.emit("on-add-cloud-attachment-link")},onAutocomplete(t,e){if(void 0===t||""===t)return;this.loadingIndicatorTo="to"===e,this.loadingIndicatorCc="cc"===e,this.loadingIndicatorBcc="bcc"===e,this.recipientSearchTerms[e]=t;const a=this.accounts.filter(t=>!t.isUnified).filter(e=>-1!==e.emailAddress.toLowerCase().indexOf(t.toLowerCase())||-1!==e.name.toLowerCase().indexOf(t.toLowerCase())).map(t=>({email:t.emailAddress,label:t.name}));this.autocompleteRecipients=b()("email")(this.autocompleteRecipients.concat(a)),Yt(t).then(t=>{"to"===e?this.loadingIndicatorTo=!1:"cc"===e?this.loadingIndicatorCc=!1:"bcc"===e&&(this.loadingIndicatorBcc=!1);for(const e of t)e.label||(e.label=e.email);this.autocompleteRecipients=b()("email")(this.autocompleteRecipients.concat(t))})},async onMailvelopeLoaded(t){this.encrypt=(0,_t.y)(this.body),this.mailvelope.available=!0,ht.A.info("Mailvelope loaded",{encrypt:this.encrypt,isPgpgMessage:(0,_t.y)(this.body),keyRing:this.mailvelope.keyRing}),this.mailvelope.keyRing=await t.getKeyring(),await this.checkRecipientsKeys()},handleMention(t){this.editorMode=qt.Gf,this.onNewToAddr(t)},onNewToAddr(t){this.onNewAddr(t,this.selectTo,"to")},onNewCcAddr(t){this.onNewAddr(t,this.selectCc,"cc")},onNewBccAddr(t){this.onNewAddr(t,this.selectBcc,"bcc")},onNewAddr(t,e,a){if(null==t&&void 0!==this.recipientSearchTerms[a]&&""!==this.recipientSearchTerms[a]){if(!this.seemsValidEmailAddress(this.recipientSearchTerms[a]))return;(t={}).email=this.recipientSearchTerms[a],t.label=this.recipientSearchTerms[a],this.recipientSearchTerms[a]=""}if(e.some(e=>e.email===t?.email)||!t)return;const n={...t};this.newRecipients.push(n),e.push(n),this.saveDraftDebounced()},async onSend(){this.encrypt&&(ht.A.debug("get encrypted message from mailvelope"),await this.$refs.mailvelopeEditor.pull()),this.$emit("send",{...this.getMessageData(),force:!1})},reset(){this.selectTo=[],this.selectCc=[],this.selectBcc=[],this.subjectVal="",this.bodyVal="<p></p><p></p>",this.attachments=[],this.autocompleteRecipients=[],this.newRecipients=[],this.requestMdnVal=!1,this.changeSignature=!1,this.sendAtVal=void 0,this.setAlias(),this.initBody()},formatAliases:t=>t.name?`${t.name} <${t.emailAddress}>`:t.emailAddress,disabledDatetimepickerDate(t){const e=new Date;return e.setHours(0,0,0),e.setSeconds(e.getSeconds()-1),t.getTime()<=e},disabledDatetimepickerTime(t){const e=new Date,a=new Date(e.getTime());return t.getTime()<=a},onRemoveRecipient(t,e){switch(e){case"to":this.removeRecipientTo(t);break;case"cc":this.removeRecipientCc(t);break;case"bcc":this.removeRecipientBcc(t)}},removeRecipient:(t,e)=>e.filter(e=>e.email!==t.email),removeRecipientTo(t){this.selectTo=this.removeRecipient(t,this.selectTo)},removeRecipientCc(t){this.selectCc=this.removeRecipient(t,this.selectCc)},removeRecipientBcc(t){this.selectBcc=this.removeRecipient(t,this.selectBcc)},toggleViewMode(){this.autoLimit=!this.autoLimit,this.showCC=!(this.showCC&&0===this.selectCc.length&&this.autoLimit),this.showBCC=!(this.showBCC&&0===this.selectBcc.length&&this.autoLimit)},setEditorModeHtml(){this.editorMode=qt.Gf},setEditorModeText(){OC.dialogs.confirmDestructive((0,s.Tl)("mail","Any existing formatting (for example bold, italic, underline or inline images) will be removed."),(0,s.Tl)("mail","Turn off formatting"),{type:OC.dialogs.YES_NO_BUTTONS,confirm:(0,s.Tl)("mail","Turn off and remove formatting"),confirmClasses:"error",cancel:(0,s.Tl)("mail","Keep formatting")},t=>{t&&(this.editorMode=qt._s)})},smimeCertificateForAlias(t){const e=t.smimeCertificateId;if(e)return this.mainStore.getSmimeCertificate(e)},smimeSignCheck(t){this.wantsSmimeSign=t,t?this.smimeSignAliases.push(this.selectedAlias.emailAddress):this.smimeSignAliases=this.smimeSignAliases.filter(t=>t!==this.selectedAlias.emailAddress),(0,Vt.z)("smime-sign-aliases",JSON.stringify(this.smimeSignAliases))},createRecipientOption(t){if(!this.seemsValidEmailAddress(t))throw new Error("Skipping because it does not look like a valid email address");return{email:t,label:t}},getSubnameForRecipient:t=>t.source&&"groups"===t.source||t.label===t.email?"":t.email,seemsValidEmailAddress(t){try{return A.parse(t),!0}catch(t){return!1}}}},Kt=Wt;var Qt=n(27192),Jt={};Jt.styleTagTransform=lt(),Jt.setAttributes=st(),Jt.insert=nt().bind(null,"head"),Jt.domAPI=et(),Jt.insertStyleElement=rt(),X()(Qt.A,Jt),Qt.A&&Qt.A.locals&&Qt.A.locals;var Zt=(0,At.A)(Kt,function(){var t=this,e=t._self._c;return e("div",{staticClass:"message-composer"},[t.isPickerAvailable&&t.isPickerOpen?e("NcReferencePickerModal",{attrs:{id:"reference-picker"},on:{submit:t.onPicked,cancel:t.closePicker}}):t._e(),t._v(" "),t.isTextBlockPickerOpen?e("TextBlockModal",{on:{close:function(e){t.isTextBlockPickerOpen=!1},insert:t.onTextBlockInsert}}):t._e(),t._v(" "),e("div",{staticClass:"composer-fields composer-fields__from mail-account"},[e("label",{staticClass:"from-label",attrs:{for:"from"}},[t._v("\n\t\t\t"+t._s(t.t("mail","From"))+"\n\t\t")]),t._v(" "),e("div",{staticClass:"composer-fields--custom"},[e("NcSelect",{attrs:{id:"from",value:t.selectedAlias,options:t.aliases,label:"name","get-option-key":t=>t.selectId,searchable:!1,placeholder:t.t("mail","Select account"),"aria-label-combobox":t.t("mail","Select account"),"clear-on-select":!1,"append-to-body":!1,selectable:t=>t.selectable},on:{"option:selected":t.onAliasChange},scopedSlots:t._u([{key:"option",fn:function(e){return[t._v("\n\t\t\t\t\t"+t._s(t.formatAliases(e))+"\n\t\t\t\t")]}},{key:"selected-option",fn:function(e){return[t._v("\n\t\t\t\t\t"+t._s(t.formatAliases(e))+"\n\t\t\t\t")]}}])})],1)]),t._v(" "),e("div",{staticClass:"composer-fields"},[e("div",{staticClass:"composer-fields__label"},[e("label",{staticClass:"to-label",attrs:{for:"to"}},[t._v("\n\t\t\t\t"+t._s(t.t("mail","To"))+"\n\t\t\t")]),t._v(" "),e("ButtonVue",{attrs:{size:"small",type:"tertiary-no-background"},on:{click:function(e){return e.preventDefault(),t.toggleViewMode.apply(null,arguments)}}},[t._v("\n\t\t\t\t"+t._s(t.t("mail","Cc/Bcc"))+"\n\t\t\t")])],1),t._v(" "),e("div",{staticClass:"composer-fields--custom"},[e("NcSelect",{ref:"toLabel",attrs:{id:"to",value:t.selectTo,options:t.selectableRecipients.filter(e=>!t.selectTo.some(t=>t.email===e.email)),"get-option-key":t=>t.email,taggable:!0,"aria-label-combobox":t.t("mail","Select recipient"),"filter-by":(e,a,n)=>t.filterOption(e,a,n,"to"),multiple:!0,"clear-search-on-select":!0,loading:t.loadingIndicatorTo,reducible:!0,clearable:!0,"no-wrap":!1,"append-to-body":!1,"create-option":t.createRecipientOption,"clear-search-on-blur":()=>t.clearOnBlur("to")},on:{input:t.saveDraftDebounced,"option:selecting":t.onNewToAddr,"search:blur":t.onNewToAddr,search:function(e){return t.onAutocomplete(e,"to")}},scopedSlots:t._u([{key:"search",fn:function({events:a,attributes:n}){return[e("input",t._g(t._b({staticClass:"vs__search",attrs:{placeholder:t.t("mail","Contact or email address …"),type:"search"}},"input",n,!1),a))]}},{key:"selected-option-container",fn:function({option:a}){return[e("RecipientListItem",{staticClass:"vs__selected selected",attrs:{option:a},on:{"remove-recipient":function(e){return t.onRemoveRecipient(a,"to")}}})]}},{key:"option",fn:function(a){return[e("div",[e("ListItemIcon",{attrs:{"no-margin":!0,name:a.label,subname:t.getSubnameForRecipient(a),"icon-class":a.id?null:"icon-user",url:a.photo}})],1)]}}])})],1)]),t._v(" "),t.showCC?e("div",{staticClass:"composer-fields"},[e("label",{staticClass:"cc-label",attrs:{for:"cc"}},[t._v("\n\t\t\t"+t._s(t.t("mail","Cc"))+"\n\t\t")]),t._v(" "),e("div",{staticClass:"composer-fields--custom"},[e("NcSelect",{ref:"toLabel",staticClass:"select",class:{opened:!t.autoLimit},attrs:{id:"cc",value:t.selectCc,options:t.selectableRecipients.filter(e=>!t.selectCc.some(t=>t.email===e.email)),"get-option-key":t=>t.email,"no-wrap":!1,"filter-by":(e,a,n)=>t.filterOption(e,a,n,"cc"),taggable:!0,"clear-search-on-blur":()=>t.clearOnBlur("cc"),"append-to-body":!1,multiple:!0,placeholder:t.t("mail","Contact or email address …"),"aria-label-combobox":t.t("mail","Contact or email address …"),"clear-search-on-select":!0,loading:t.loadingIndicatorCc,reducible:!0,clearable:!0,"create-option":t.createRecipientOption},on:{input:t.saveDraftDebounced,"option:selecting":t.onNewCcAddr,"search:blur":t.onNewCcAddr,search:function(e){return t.onAutocomplete(e,"cc")}},scopedSlots:t._u([{key:"search",fn:function({events:a,attributes:n}){return[e("input",t._g(t._b({staticClass:"vs__search",attrs:{placeholder:t.t("mail","Contact or email address …"),type:"search"}},"input",n,!1),a))]}},{key:"selected-option-container",fn:function({option:a}){return[e("RecipientListItem",{staticClass:"vs__selected",attrs:{option:a},on:{"remove-recipient":function(e){return t.onRemoveRecipient(a,"cc")}}})]}},{key:"option",fn:function(a){return[e("div",[e("ListItemIcon",{attrs:{"no-margin":!0,name:a.label,subname:t.getSubnameForRecipient(a),url:a.photo,"icon-class":a.id?null:"icon-user"}})],1)]}}],null,!1,2917519536)})],1)]):t._e(),t._v(" "),t.showBCC?e("div",{staticClass:"composer-fields"},[e("label",{staticClass:"bcc-label",attrs:{for:"bcc"}},[t._v("\n\t\t\t"+t._s(t.t("mail","Bcc"))+"\n\t\t")]),t._v(" "),e("div",{staticClass:"composer-fields--custom"},[e("NcSelect",{ref:"toLabel",staticClass:"select",class:{opened:!t.autoLimit},attrs:{id:"bcc",value:t.selectBcc,"no-wrap":!1,"filter-by":(e,a,n)=>t.filterOption(e,a,n,"bcc"),options:t.selectableRecipients.filter(e=>!t.selectBcc.some(t=>t.email===e.email)),"get-option-key":t=>t.email,taggable:!0,"clear-search-on-blur":()=>t.clearOnBlur("bcc"),"append-to-body":!1,multiple:!0,placeholder:t.t("mail","Contact or email address …"),"aria-label-combobox":t.t("mail","Contact or email address …"),"clear-search-on-select":!0,"reset-on-options-change":!0,loading:t.loadingIndicatorBcc,clearable:!0,"create-option":t.createRecipientOption},on:{input:t.saveDraftDebounced,"option:selecting":t.onNewBccAddr,"search:blur":t.onNewBccAddr,search:function(e){return t.onAutocomplete(e,"bcc")}},scopedSlots:t._u([{key:"search",fn:function({events:a,attributes:n}){return[e("input",t._g(t._b({staticClass:"vs__search",attrs:{placeholder:t.t("mail","Contact or email address …"),type:"search",dir:"auto"}},"input",n,!1),a))]}},{key:"selected-option-container",fn:function({option:a}){return[e("RecipientListItem",{staticClass:"vs__selected",attrs:{option:a},on:{"remove-recipient":function(e){return t.onRemoveRecipient(a,"bcc")}}})]}},{key:"option",fn:function(a){return[e("div",[e("ListItemIcon",{attrs:{"no-margin":!0,name:a.label,subname:t.getSubnameForRecipient(a),url:a.photo,"icon-class":a.id?null:"icon-user"}})],1)]}}],null,!1,3186018036)})],1)]):t._e(),t._v(" "),e("div",{staticClass:"composer-fields"},[e("label",{staticClass:"subject-label hidden-visually",attrs:{for:"subject"}},[t._v("\n\t\t\t"+t._s(t.t("mail","Subject"))+"\n\t\t")]),t._v(" "),e("input",{directives:[{name:"model",rawName:"v-model",value:t.subjectVal,expression:"subjectVal"}],staticClass:"subject",attrs:{id:"subject",type:"text",name:"subject",autocomplete:"off",placeholder:t.t("mail","Subject …")},domProps:{value:t.subjectVal},on:{input:[function(e){e.target.composing||(t.subjectVal=e.target.value)},t.saveDraftDebounced]}})]),t._v(" "),t.noReply?e("div",{staticClass:"warning noreply-warning"},[t._v("\n\t\t"+t._s(t.t("mail","This message came from a noreply address so your reply will probably not be read."))+"\n\t")]):t._e(),t._v(" "),t.wantsSmimeEncrypt&&t.missingSmimeCertificatesForRecipients.length?e("div",{staticClass:"warning noreply-warning"},[t._v("\n\t\t"+t._s(t.t("mail","The following recipients do not have a S/MIME certificate: {recipients}.",{recipients:t.missingSmimeCertificatesForRecipients.join(", ")}))+"\n\t")]):t._e(),t._v(" "),t.encrypt&&t.mailvelope.keysMissing.length?e("div",{staticClass:"warning noreply-warning"},[t._v("\n\t\t"+t._s(t.t("mail","The following recipients do not have a PGP key: {recipients}.",{recipients:t.mailvelope.keysMissing.join(", ")}))+"\n\t")]):t._e(),t._v(" "),e("div",{staticClass:"composer-fields message-editor"},[t.encrypt?e("MailvelopeEditor",{ref:"mailvelopeEditor",attrs:{value:t.bodyVal,recipients:t.allRecipients,"quoted-text":t.body,"is-reply-or-forward":t.isReply||t.isForward},on:{input:t.onEditorInput}}):e("TextEditor",{key:t.editorMode,ref:"editor",staticClass:"message-body",attrs:{value:t.bodyVal,html:!t.editorPlainText,name:"body",placeholder:t.t("mail","Write message …"),focus:t.isReply||!t.isFirstOpen,bus:t.bus,"text-blocks":t.textBlocks},on:{input:t.onEditorInput,ready:t.onEditorReady,mention:t.handleMention,submit:t.onEditorSubmit,"show-toolbar":t.handleShow}})],1),t._v(" "),e("ComposerAttachments",{attrs:{bus:t.bus,"upload-size-limit":t.attachmentSizeLimit},on:{upload:function(e){t.$emit("upload-attachment",e,t.getMessageData())}},model:{value:t.attachments,callback:function(e){t.attachments=e},expression:"attachments"}}),t._v(" "),e("div",{staticClass:"composer-actions-right composer-actions"},[e("div",{staticClass:"composer-actions--primary-actions"},[e("p",{staticClass:"composer-actions-draft-status"},[t.savingDraft?e("span",{staticClass:"draft-status"},[t._v(t._s(t.t("mail","Saving draft …")))]):t.canSaveDraft?t.draftSaved?e("span",{staticClass:"draft-status"},[t._v(t._s(t.t("mail","Draft saved")))]):t._e():e("span",{staticClass:"draft-status"},[t._v(t._s(t.t("mail","Error saving draft")))])]),t._v(" "),t.savingDraft||t.canSaveDraft?t._e():e("ButtonVue",{staticClass:"button",attrs:{type:"tertiary","aria-label":t.t("mail","Save draft")},on:{click:t.saveDraft},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Download",{attrs:{size:20,title:t.t("mail","Save draft")}})]},proxy:!0}],null,!1,2227301918)}),t._v(" "),!t.savingDraft&&t.draftSaved?e("ButtonVue",{staticClass:"button",attrs:{type:"tertiary","aria-label":t.t("mail","Discard & close draft")},on:{click:function(e){return t.$emit("discard-draft")}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Delete",{attrs:{size:20,title:t.t("mail","Discard & close draft")}})]},proxy:!0}],null,!1,3896853704)}):t._e()],1),t._v(" "),e("div",{staticClass:"composer-actions--secondary-actions"},[!t.encrypt&&t.editorPlainText?e("ButtonVue",{attrs:{type:"tertiary","aria-label":t.t("mail","Enable formatting")},on:{click:function(e){return t.setEditorModeHtml()}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconFormat",{attrs:{size:20,title:t.t("mail","Enable formatting")}})]},proxy:!0}],null,!1,2537405168)}):t._e(),t._v(" "),t.encrypt||t.editorPlainText?t._e():e("ButtonVue",{attrs:{type:"tertiary",pressed:!0,"aria-label":t.t("mail","Disable formatting")},on:{click:function(e){return t.setEditorModeText()}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconFormat",{attrs:{size:20,title:t.t("mail","Disable formatting")}})]},proxy:!0}],null,!1,742643909)}),t._v(" "),e("Actions",{attrs:{open:t.isAddAttachmentsOpen},on:{"update:open":function(e){t.isAddAttachmentsOpen=e}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Paperclip",{attrs:{size:20}})]},proxy:!0}])},[t._v(" "),e("ActionButton",{attrs:{"close-after-click":!0},on:{click:t.onAddLocalAttachment},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconUpload",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("mail","Upload attachment"))+"\n\t\t\t\t")]),t._v(" "),e("ActionButton",{attrs:{"close-after-click":!0},on:{click:t.onAddCloudAttachment},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconFolder",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("mail","Add attachment from Files"))+"\n\t\t\t\t")]),t._v(" "),e("ActionButton",{attrs:{"close-after-click":!0,disabled:t.encrypt},on:{click:t.onAddCloudAttachmentLink},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconPublic",{attrs:{size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t\t"+t._s(t.t("mail","Add share link from Files"))+"\n\t\t\t\t")])],1),t._v(" "),e("Actions",{attrs:{open:t.isActionsOpen},on:{"update:open":function(e){t.isActionsOpen=e},close:function(e){t.isMoreActionsOpen=!1}}},[t.isMoreActionsOpen?t._e():[t.isPickerAvailable?e("ActionButton",{attrs:{"close-after-click":!0},on:{click:t.openPicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("IconLinkPicker",{attrs:{size:20}})]},proxy:!0}],null,!1,3539100229)},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Smart picker"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),e("ActionButton",{attrs:{"close-after-click":!0},on:{click:t.openTextBlockPicker},scopedSlots:t._u([{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{size:20,title:t.t("mail","Text blocks"),svg:t.textBlockSvg}})]},proxy:!0}],null,!1,2993883612)},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Text blocks"))+"\n\t\t\t\t\t")]),t._v(" "),t.isScheduledSendingDisabled?t._e():e("ActionButton",{attrs:{"close-after-click":!1},on:{click:function(e){t.isMoreActionsOpen=!0}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("SendClock",{attrs:{size:20,title:t.t("mail","Send later")}})]},proxy:!0}],null,!1,1769650344)},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Send later"))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionCheckbox",{attrs:{checked:t.requestMdnVal},on:{check:function(e){t.requestMdnVal=!0},uncheck:function(e){t.requestMdnVal=!1}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Request a read receipt"))+"\n\t\t\t\t\t")]),t._v(" "),t.smimeCertificateForCurrentAlias?e("ActionCheckbox",{attrs:{checked:t.wantsSmimeSign},on:{check:function(e){return t.smimeSignCheck(!0)},uncheck:function(e){return t.smimeSignCheck(!1)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Sign message with S/MIME"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),t.smimeCertificateForCurrentAlias?e("ActionCheckbox",{attrs:{checked:t.wantsSmimeEncrypt,disabled:t.encrypt},on:{check:function(e){t.wantsSmimeEncrypt=!0},uncheck:function(e){t.wantsSmimeEncrypt=!1}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Encrypt message with S/MIME"))+"\n\t\t\t\t\t")]):t._e(),t._v(" "),t.mailvelope.available?e("ActionCheckbox",{attrs:{checked:t.encrypt,disabled:t.wantsSmimeEncrypt},on:{change:function(e){t.isActionsOpen=!1},check:function(e){t.encrypt=!0},uncheck:function(e){t.encrypt=!1}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Encrypt message with Mailvelope"))+"\n\t\t\t\t\t")]):t._e()],t._v(" "),t.isMoreActionsOpen?[e("ActionButton",{attrs:{"close-after-click":!1},on:{click:function(e){t.isMoreActionsOpen=!1}},scopedSlots:t._u([{key:"icon",fn:function(){return[e("ChevronLeft",{attrs:{title:t.t("mail","Send later"),size:20}}),t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("mail","Send later"))+"\n\t\t\t\t\t\t")]},proxy:!0}],null,!1,2922837455)}),t._v(" "),e("ActionRadio",{staticClass:"send-action-radio",attrs:{value:void 0,name:"sendLater",checked:!t.sendAtVal},on:{change:function(e){return t.onChangeSendLater(void 0)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Send now"))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionRadio",{staticClass:"send-action-radio send-action-radio--multiline",attrs:{value:t.dateTomorrowMorning,name:"sendLater",checked:t.isSendAtTomorrowMorning},on:{change:function(e){return t.onChangeSendLater(t.dateTomorrowMorning)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Tomorrow morning"))+" - "+t._s(t.convertToLocalDate(t.dateTomorrowMorning))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionRadio",{staticClass:"send-action-radio send-action-radio--multiline",attrs:{value:t.dateTomorrowAfternoon,name:"sendLater",checked:t.isSendAtTomorrowAfternoon},on:{change:function(e){return t.onChangeSendLater(t.dateTomorrowAfternoon)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Tomorrow afternoon"))+" - "+t._s(t.convertToLocalDate(t.dateTomorrowAfternoon))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionRadio",{staticClass:"send-action-radio send-action-radio--multiline",attrs:{value:t.dateMondayMorning,name:"sendLater",checked:t.isSendAtMondayMorning},on:{change:function(e){return t.onChangeSendLater(t.dateMondayMorning)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Monday morning"))+" - "+t._s(t.convertToLocalDate(t.dateMondayMorning))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionRadio",{staticClass:"send-action-radio",attrs:{name:"sendLater",checked:t.isSendAtCustom,value:t.customSendTime},on:{change:function(e){return t.onChangeSendLater(t.customSendTime)}}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Custom date and time"))+"\n\t\t\t\t\t")]),t._v(" "),e("ActionInput",{attrs:{"is-native-picker":!0,min:t.dateToday,type:"datetime-local","first-day-of-week":t.firstDayDatetimePicker,use12h:t.showAmPm,formatter:t.formatter,format:"YYYY-MM-DD HH:mm",icon:"","minute-step":5},on:{change:function(e){return t.onChangeSendLater(t.customSendTime)}},model:{value:t.selectedDate,callback:function(e){t.selectedDate=e},expression:"selectedDate"}},[t._v("\n\t\t\t\t\t\t"+t._s(t.t("mail","Enter a date"))+"\n\t\t\t\t\t")])]:t._e()],2),t._v(" "),e("ButtonVue",{attrs:{disabled:!t.canSend||t.sending,"native-type":"submit",type:"primary","aria-label":t.submitButtonTitle},on:{click:t.onSend},scopedSlots:t._u([{key:"icon",fn:function(){return[e("Send",{attrs:{title:t.submitButtonTitle,size:20}})]},proxy:!0}])},[t._v("\n\t\t\t\t"+t._s(t.submitButtonTitle)+"\n\t\t\t")])],1)])],1)},[],!1,null,"92fbc066",null);const Xt=Zt.exports;var te=n(78173),ee=n(48456),ae=n(76642);const ne={props:{email:{type:String,required:!0}},data:()=>({vm:null}),async mounted(){const t=window.OCA?.Contacts?.mountContactDetails;if(t)try{this.vm=await t(this.$refs.contactDetails,this.email)}catch(t){ht.A.error(`Failed to mount contact details: ${t}`)}},async beforeDestroy(){this.vm&&this.vm.$destroy()}},ie=(0,At.A)(ne,function(){return(0,this._self._c)("div",{ref:"contactDetails"})},[],!1,null,null,null).exports,se={components:{Avatar:ae.A,IconArrowDown:te.A,IconArrowUp:ee.A,DisplayContactDetails:ie},data:()=>({expandedRecipients:[]}),computed:{...(0,r.L8)(Et.A,["composerMessage"]),recipients(){return Array.isArray(this.composerMessage.data.to)?this.composerMessage.data.to:[]}},watch:{recipients:{immediate:!0,handler(){this.expandedRecipients=this.recipients.map(()=>!1)}}},methods:{toggleExpand(t){this.$set(this.expandedRecipients,t,!this.expandedRecipients[t])},isExpanded(t){return this.expandedRecipients[t]},getAvatarForRecipient:t=>t.source&&"contacts"===t.source&&t.photo?{isExternal:!1,url:t.photo}:null}};var oe=n(94904),re={};re.styleTagTransform=lt(),re.setAttributes=st(),re.insert=nt().bind(null,"head"),re.domAPI=et(),re.insertStyleElement=rt(),X()(oe.A,re),oe.A&&oe.A.locals&&oe.A.locals;const ce=(0,At.A)(se,function(){var t=this,e=t._self._c;return e("div",{staticClass:"recipient-info"},[t.recipients&&1===t.recipients.length?e("div",{staticClass:"recipient-info__single"},[e("div",{staticClass:"recipient-info__header"},[e("div",{staticClass:"recipient-info__avatar"},[e("Avatar",{attrs:{"display-name":t.recipients[0].label,email:t.recipients[0].email,size:55,"disable-tooltip":!0,"disable-menu":!0,avatar:t.getAvatarForRecipient(t.recipients[0])}})],1),t._v(" "),e("div",{staticClass:"recipient-info__details"},[e("DisplayContactDetails",{attrs:{email:t.recipients[0].email}})],1)])]):t.recipients&&t.recipients.length>1?e("div",{staticClass:"recipient-info__multiple"},t._l(t.recipients,function(a,n){return e("div",{key:a.email,staticClass:"recipient-info__item"},[e("div",{staticClass:"recipient-info__header"},[e("div",{staticClass:"recipient-info__avatar"},[e("Avatar",{attrs:{"display-name":a.label,email:a.email,size:55,"disable-tooltip":!0,"disable-menu":!0,avatar:t.getAvatarForRecipient(a)}})],1),t._v(" "),t.expandedRecipients[n]?t._e():e("div",{staticClass:"recipient-info__name"},[e("h6",[t._v(t._s(a.email))])]),t._v(" "),e("div",{staticClass:"recipient-info__expand-toggle",on:{click:function(e){return t.toggleExpand(n)}}},[t.isExpanded(n)?[e("div",{staticClass:"recipient-info__show-less"},[e("IconArrowUp",{attrs:{size:20}}),t._v(" "),e("span",[t._v(t._s(t.t("mail","Show less")))])],1)]:[e("IconArrowDown",{attrs:{size:20}}),t._v(" "),e("span",[t._v(t._s(t.t("mail","Show more")))])]],2)]),t._v(" "),t.expandedRecipients[n]?e("div",{staticClass:"recipient-info__details"},[e("DisplayContactDetails",{attrs:{email:a.email}})],1):t._e()])}),0):t._e()])},[],!1,null,"b71c9eac",null).exports;class le extends Error{constructor(t){super(t),this.name=le.getName(),this.message=t}static getName(){return"AttachmentMissingError"}}var de=n(79802),me=n(16060),Ae=n(95782);class pe extends Error{constructor(t){super(t),this.name=pe.getName(),this.message=t}static getName(){return"SubjectMissingError"}}var he=n(12431),ue=n(56872);function fe(t){return t.isHtml?(0,$t.qy)(t.bodyHtml??""):(0,$t.pj)(t.bodyPlain??"")}const ge={name:"NewMessageModal",components:{NcButton:o.x1,Composer:Xt,EmptyContent:o.yI,Modal:o.FH,MinimizeIcon:d.A,MaximizeIcon:l.A,DefaultComposerIcon:c.A,RecipientInfo:ce},props:{accounts:{type:Array,required:!0}},data:()=>({original:void 0,draftsPromise:Promise.resolve(),attachmentsPromise:Promise.resolve(),canSaveDraft:!0,savingDraft:!1,draftSaved:!1,uploadingAttachments:!1,sending:!1,error:void 0,warning:void 0,modalFirstOpen:!0,cookedComposerData:void 0,changed:!1,largerModal:!1,isLargeScreen:window.innerWidth>=1024,isMaximized:!1,recipient:{name:"",email:""}}),computed:{...(0,r.n2)(ue.A,Et.A),...(0,r.aH)(Et.A,["showMessageComposer"]),...(0,r.i0)(Et.A,["getPreference"]),composerDataBodyAsTextInstance(){return fe(this.composerData)},modalTitle(){return"outbox"===this.composerMessage.type?(0,s.Tl)("mail","Edit message"):void 0!==this.composerData.draftId?(0,s.Tl)("mail","Draft"):this.composerData.replyTo?(0,s.Tl)("mail","Reply"):this.composerData.forwardFrom?(0,s.Tl)("mail","Forward"):(0,s.Tl)("mail","New message")},hasContactDetailsApi:()=>!!window.OCA?.Contacts?.mountContactDetails,showRecipientPane(){return this.hasContactDetailsApi&&this.composerData.to&&this.composerData.to.length>0&&!this.largerModal},composerMessage(){return this.mainStore.composerMessage},composerData(){return this.mainStore.composerMessage?.data??{}},forwardedMessages(){return this.composerMessage?.options?.forwardedMessages??[]},smartReply(){return this.composerData?.smartReply??null},modalSize(){return this.isLargeScreen&&this.hasContactDetailsApi&&this.composerData.to&&this.composerData.to.length>0||this.largerModal?"large":"normal"}},created(){const t=this.composerData?.id;t&&(this.draftsPromise=Promise.resolve(t)),window.addEventListener("beforeunload",this.onBeforeUnload)},async mounted(){await this.$nextTick(),this.updateCookedComposerData(),await this.openModalSize(),window.addEventListener("resize",this.checkScreenSize)},beforeDestroy(){window.removeEventListener("beforeunload",this.onBeforeUnload),window.removeEventListener("resize",this.checkScreenSize)},methods:{checkScreenSize(){this.isLargeScreen=window.innerWidth>=1024},async openModalSize(){try{const t=this.mainStore.getPreference("modalSize");this.largerModal="large"===t}catch(t){console.error("Error getting modal size preference",t)}},async onMaximize(){this.isMaximized=!this.isMaximized,this.largerModal=!this.largerModal;try{await this.mainStore.savePreference({key:"modalSize",value:this.largerModal?"large":"normal"})}catch(t){console.error("Failed to save preference",t)}},async onMinimize(){this.isMaximized=!1,this.modalFirstOpen=!1,await this.mainStore.hideMessageComposerMutation(),!this.mainStore.composerMessageIsSaved&&this.changed&&await this.onDraft(this.cookedComposerData,{showToast:!0})},handleShow(t){this.additionalTrapElements.push(t)},onDraft(t,{showToast:e=!1}={}){return this.composerMessage?(this.changed=!0,this.draftsPromise=this.draftsPromise.then(async a=>{this.savingDraft=!0,this.draftSaved=!1;try{let n;const o=this.getDataForServer(t,!0);if(a)o.id=a,await(0,he.jA)(o),this.canSaveDraft=!0,this.draftSaved=!0,n=a;else{const{id:t}=await(0,he.J1)(o);o.id=t,await this.mainStore.patchComposerData({id:t,draftId:o.draftId}),this.canSaveDraft=!0,this.draftSaved=!0,n=t}if(this.mainStore.setComposerMessageSavedMutation(!0),e&&("outbox"===this.composerMessage.type?(0,i.Te)((0,s.Tl)("mail","Message saved")):(0,i.Te)((0,s.Tl)("mail","Draft saved"))),void 0!==n)return n}catch(t){ht.A.error("Could not save draft",{error:t}),this.canSaveDraft=!1,this.mainStore.setComposerIndicatorDisabledMutation(!1),e&&("outbox"===this.composerMessage.type?(0,i.Qg)((0,s.Tl)("mail","Failed to save message")):(0,i.Qg)((0,s.Tl)("mail","Failed to save draft")))}finally{this.savingDraft=!1}}),this.draftsPromise):(ht.A.info("Ignoring draft because there is no message anymore",{data:t}),this.draftsPromise)},getDataForServer(t){const e={...t,id:t.id,accountId:t.accountId,to:t.to,cc:t.cc,bcc:t.bcc,attachments:t.attachments,aliasId:t.aliasId,inReplyToMessageId:t.inReplyToMessageId,sendAt:t.sendAt,draftId:this.composerData?.draftId};return t.isHtml?delete e.bodyPlain:delete e.bodyHtml,e},onAttachmentUploading(t,e){this.attachmentsPromise=this.attachmentsPromise.then(t).then(()=>this.onDraft(e)).then(()=>ht.A.debug("Attachments uploaded")).catch(t=>ht.A.error("Could not upload attachments",{error:t}))},async onSend(t,e=!1){if(ht.A.debug("sending message",{data:t}),this.sending)return;await this.attachmentsPromise,this.uploadingAttachments=!1,this.sending=!0,this.$emit("close");try{const a=(new Date).getTime();for(const e of t.attachments)e.type||(e.type="local");const n=this.getDataForServer({...t,id:await this.draftsPromise,sendAt:t.sendAt?t.sendAt:Math.floor((a+qt.Po)/1e3)});if(n.sendAt<Math.floor((a+qt.Po)/1e3)&&(n.sendAt=Math.floor((a+qt.Po)/1e3)),!e&&!t.subject?.trim())throw new pe;if(!e&&0===t.attachments.length){const e=(0,$t.Ul)(fe(t)).value.toLowerCase().split("\n"),a=(0,s.Tl)("mail","attachment").toLowerCase(),n=(0,s.Tl)("mail","attached").toLowerCase();for(const t of e){if(t.startsWith(">")||t.startsWith("--"))break;if(t.includes(a)||t.includes(n))throw new le}}if(this.composerData.id)0===this.composerData.type?(n.id=this.composerData.id,await this.outboxStore.updateMessage({message:n,id:this.composerData.id})):(await(0,he.jA)(n),n.id=this.composerData.id,await this.outboxStore.enqueueFromDraft({draftMessage:n,id:this.composerData.id}));else{const{id:t}=await(0,he.J1)(n);n.id=t,await this.outboxStore.enqueueFromDraft({draftMessage:n,id:t})}(!t.sendAt||t.sendAt<Math.floor((a+qt.Po)/1e3))&&this.outboxStore.sendMessageWithUndo({id:n.id}).catch(t=>{ht.A.debug("Could not send message",{error:t})}),n.id&&this.mainStore.removeMessageMutation({id:n.id}),await this.mainStore.stopComposerSession()}catch(t){this.error=await(0,me.C)(t,{[Ae.A.getName()]:()=>(ht.A.error("could not send message",{error:t}),(0,s.Tl)("mail",'No "sent" folder configured. Please pick one in the account settings.')),[de.A.getName()]:()=>(ht.A.error("could not send message",{error:t}),(0,s.Tl)("mail","You are trying to send to many recipients in To and/or Cc. Consider using Bcc to hide recipient addresses.")),default(t){ht.A.error("could not send message",{error:t})}}),this.warning=await(0,me.C)(t,{[pe.getName()]:()=>(ht.A.info("showing the missing subject warning",{error:t}),(0,s.Tl)("mail","Your message has no subject. Do you want to send it anyway?")),[le.getName()]:()=>(ht.A.info("showing the did you forgot an attachment warning",{error:t}),(0,s.Tl)("mail","You mentioned an attachment. Did you forget to add it?")),default(t){ht.A.warn("Could not send message",{error:t})}})}finally{this.sending=!1}const a=this.mainStore.getAccount(t.accountId);a&&parseInt(this.$route.params.mailboxId,10)===a.sentMailboxId&&setTimeout(()=>{this.mainStore.syncEnvelopes({mailboxId:a.sentMailboxId,query:"",init:!1})},500)},async onForceSend(){await this.onSend(this.cookedComposerData,!0)},recipientToRfc822:t=>t.email===t.label||""===t.label||0===t.email.search(/^[a-zA-Z]+:/)?t.email:`"${t.label}" <${t.email}>`,async discardDraft(){let t=await this.draftsPromise;const e="outbox"===this.composerMessage.type;e&&(t=this.composerMessage.data.id),await this.mainStore.stopComposerSession();try{e?await this.outboxStore.deleteMessage({id:t}):(0,he.Tn)(t),(0,i.Te)((0,s.Tl)("mail","Message discarded"))}catch(t){ht.A.error("Could not discard draft",{error:t}),(0,i.Qg)((0,s.Tl)("mail","Could not discard message"))}},convertEditorBody:t=>t.isHtml?t.bodyHtml:t.bodyPlain,patchEditorBody(t){this.composerData.isHtml?this.patchComposerData({bodyHtml:t}):this.patchComposerData({bodyPlain:t})},updateCookedComposerData(){this.$refs.composer&&(this.cookedComposerData=this.$refs.composer.getMessageData())},async patchComposerData(t){this.changed=!0,this.updateCookedComposerData(),await this.mainStore.patchComposerData({...t,isHtml:this.cookedComposerData.isHtml})},onBeforeUnload(t){this.canSaveDraft&&this.changed?(t.preventDefault(),t.returnValue=!0,this.mainStore.showMessageComposerMutation()):console.info("No unsaved changes. See you!")},async onClose(){this.mainStore.setComposerIndicatorDisabledMutation(!0),await this.onMinimize(),this.canSaveDraft&&(this.changed&&this.draftSaved||!this.changed)&&(ht.A.debug("Closing composer session due to close button click"),await this.mainStore.stopComposerSession({restoreOriginalSendAt:!0,moveToImap:this.changed,id:this.composerData.id}))}}};var Ce=n(95188),ve={};ve.styleTagTransform=lt(),ve.setAttributes=st(),ve.insert=nt().bind(null,"head"),ve.domAPI=et(),ve.insertStyleElement=rt(),X()(Ce.A,ve),Ce.A&&Ce.A.locals&&Ce.A.locals;const be=(0,At.A)(ge,function(){var t=this,e=t._self._c;return t.showMessageComposer?e("Modal",{attrs:{size:t.modalSize,name:t.modalTitle,"additional-trap-elements":t.additionalTrapElements},on:{close:function(e){"click"===e.type?t.onClose():t.onMinimize()}}},[e("div",{staticClass:"modal-content"},[e("div",{staticClass:"left-pane"},[e("NcButton",{staticClass:"maximize-button",attrs:{variant:"tertiary-no-background","aria-label":t.t("mail","Maximize composer"),title:t.largerModal?t.t("mail","Show recipient details"):t.t("mail","Hide recipient details")},on:{click:t.onMaximize},scopedSlots:t._u([{key:"icon",fn:function(){return[t.largerModal?e("DefaultComposerIcon",{attrs:{size:20}}):e("MaximizeIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,2562889512)}),t._v(" "),e("NcButton",{staticClass:"minimize-button",attrs:{variant:"tertiary-no-background","aria-label":t.t("mail","Minimize composer"),title:t.t("mail","Minimize composer")},on:{click:t.onMinimize},scopedSlots:t._u([{key:"icon",fn:function(){return[e("MinimizeIcon",{attrs:{size:20}})]},proxy:!0}],null,!1,1222194427)}),t._v(" "),e("KeepAlive",[t.error?e("EmptyContent",{staticClass:"empty-content",attrs:{name:t.t("mail","Error sending your message"),role:"alert"},scopedSlots:t._u([{key:"action",fn:function(){return[e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("mail","Go back")},on:{click:function(e){t.error=void 0}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("mail","Go back"))+"\n\t\t\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("mail","Retry")},on:{click:t.onSend}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("mail","Retry"))+"\n\t\t\t\t\t\t")])]},proxy:!0}],null,!1,1732337228)},[e("p",[t._v(t._s(t.error))])]):t.warning?e("EmptyContent",{staticClass:"empty-content",attrs:{name:t.t("mail","Warning sending your message"),role:"alert"},scopedSlots:t._u([{key:"description",fn:function(){return[t._v("\n\t\t\t\t\t\t"+t._s(t.warning)+"\n\t\t\t\t\t")]},proxy:!0},{key:"action",fn:function(){return[e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("mail","Go back")},on:{click:function(e){t.warning=void 0}}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("mail","Go back"))+"\n\t\t\t\t\t\t")]),t._v(" "),e("NcButton",{attrs:{variant:"tertiary","aria-label":t.t("mail","Send anyway")},on:{click:t.onForceSend}},[t._v("\n\t\t\t\t\t\t\t"+t._s(t.t("mail","Send anyway"))+"\n\t\t\t\t\t\t")])]},proxy:!0}],null,!1,957211006)}):t._e(),t._v(" "),e("Composer",{ref:"composer",attrs:{"from-account":t.composerData.accountId,"from-alias":t.composerData.aliasId,to:t.composerData.to,cc:t.composerData.cc,bcc:t.composerData.bcc,subject:t.composerData.subject,"attachments-data":t.composerData.attachments,body:t.composerDataBodyAsTextInstance,"editor-body":t.convertEditorBody(t.composerData),"in-reply-to-message-id":t.composerData.inReplyToMessageId,"reply-to":t.composerData.replyTo,"forward-from":t.composerData.forwardFrom,"send-at":1e3*t.composerData.sendAt,"forwarded-messages":t.forwardedMessages,"smart-reply":t.smartReply,"can-save-draft":t.canSaveDraft,"saving-draft":t.savingDraft,"draft-saved":t.draftSaved,"smime-sign":t.composerData.smimeSign,"smime-encrypt":t.composerData.smimeEncrypt,"is-first-open":t.modalFirstOpen,"request-mdn":t.composerData.requestMdn,accounts:t.accounts},on:{"update:from-account":function(e){return t.patchComposerData({accountId:e})},"update:from-alias":function(e){return t.patchComposerData({aliasId:e})},"update:to":function(e){return t.patchComposerData({to:e})},"update:cc":function(e){return t.patchComposerData({cc:e})},"update:bcc":function(e){return t.patchComposerData({bcc:e})},"update:subject":function(e){return t.patchComposerData({subject:e})},"update:attachments-data":function(e){return t.patchComposerData({attachments:e})},"update:editor-body":t.patchEditorBody,"update:send-at":function(e){return t.patchComposerData({sendAt:e/1e3})},"update:smime-sign":function(e){return t.patchComposerData({smimeSign:e})},"update:smime-encrypt":function(e){return t.patchComposerData({smimeSign:e})},"update:request-mdn":function(e){return t.patchComposerData({requestMdn:e})},draft:t.onDraft,"discard-draft":t.discardDraft,"upload-attachment":t.onAttachmentUploading,send:t.onSend,"show-toolbar":t.handleShow}})],1)],1),t._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showRecipientPane&&!t.warning&&!t.error,expression:"showRecipientPane && !warning && !error"}],staticClass:"right-pane"},[e("RecipientInfo")],1)])]):t._e()},[],!1,null,"28ed5cfa",null).exports}}]);
//# sourceMappingURL=mail.new-message-modal.ca29dcec8d9fe9802974.js.map