diff --git a/IONOS b/IONOS index 90800e6b92541..01b3f0f2e5915 160000 --- a/IONOS +++ b/IONOS @@ -1 +1 @@ -Subproject commit 90800e6b9254187af7ddbe74705a9c948470ee74 +Subproject commit 01b3f0f2e59154d759976f5e8a18397b0c73e599 diff --git a/apps-external/richdocuments b/apps-external/richdocuments index 6b8957bfc93fa..61fd579905bc6 160000 --- a/apps-external/richdocuments +++ b/apps-external/richdocuments @@ -1 +1 @@ -Subproject commit 6b8957bfc93fa4d8ff1d64a53323941b123a47f2 +Subproject commit 61fd579905bc68b8aee84bba23975781cb693a67 diff --git a/apps/files/lib/Controller/ViewController.php b/apps/files/lib/Controller/ViewController.php index d9a5b24b6416d..37b779f3f874a 100644 --- a/apps/files/lib/Controller/ViewController.php +++ b/apps/files/lib/Controller/ViewController.php @@ -202,7 +202,10 @@ public function index($dir = '', $view = '', $fileid = null) { $this->eventDispatcher->dispatchTyped(new LoadViewer()); } - $this->initialState->provideInitialState('templates_enabled', true); + // IONOS: templates folder creation is disabled by setting both skeletondirectory + // and templatedirectory to an empty string. Defaults mirror TemplateManager so + // that both halves agree on what "unconfigured" means. + $this->initialState->provideInitialState('templates_enabled', ($this->config->getSystemValueString('skeletondirectory', \OC::$SERVERROOT . '/core/skeleton') !== '') || ($this->config->getSystemValueString('templatedirectory', \OC::$SERVERROOT . '/core/skeleton/Templates') !== '')); $this->initialState->provideInitialState('templates_path', $this->templateManager->hasTemplateDirectory() ? $this->templateManager->getTemplatePath() : false); $this->initialState->provideInitialState('templates', $this->templateManager->listCreators()); diff --git a/apps/files/lib/Service/UserConfig.php b/apps/files/lib/Service/UserConfig.php index dcf30b7796db6..78fcc7136e80b 100644 --- a/apps/files/lib/Service/UserConfig.php +++ b/apps/files/lib/Service/UserConfig.php @@ -7,6 +7,7 @@ namespace OCA\Files\Service; use OCA\Files\AppInfo\Application; +use OCP\AppFramework\Services\IAppConfig; use OCP\IConfig; use OCP\IUser; use OCP\IUserSession; @@ -85,6 +86,7 @@ class UserConfig { public function __construct( protected IConfig $config, IUserSession $userSession, + protected IAppConfig $appConfig, ) { $this->user = $userSession->getUser(); } @@ -146,7 +148,12 @@ public function setConfig(string $key, $value): void { throw new \InvalidArgumentException('Unknown config key'); } - if (!in_array($value, $this->getAllowedConfigValues($key))) { + $isBoolValue = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); + if ($isBoolValue !== null) { + $value = $isBoolValue; + } + + if (!in_array($value, $this->getAllowedConfigValues($key), true)) { throw new \InvalidArgumentException('Invalid config value'); } @@ -169,9 +176,20 @@ public function getConfigs(): array { $userId = $this->user->getUID(); $userConfigs = array_map(function (string $key) use ($userId) { - $value = $this->config->getUserValue($userId, Application::APP_ID, $key, $this->getDefaultConfigValue($key)); - // If the default is expected to be a boolean, we need to cast the value - if (is_bool($this->getDefaultConfigValue($key)) && is_string($value)) { + $default = $this->getDefaultConfigValue($key); + $value = $this->config->getUserValue($userId, Application::APP_ID, $key, null); + + // The user has no explicit preference, so fall back to the instance-wide + // default an admin can set with `occ config:app:set files `, which in + // turn falls back to the shipped default + if ($value === null) { + $value = is_bool($default) + ? $this->appConfig->getAppValueBool($key, $default) + : $this->appConfig->getAppValueString($key, (string)$default); + } + + // If the default value is expected to be a boolean, we need to cast the value + if (is_bool($default) && is_string($value)) { return $value === '1'; } return $value; diff --git a/apps/files_sharing/src/files_views/shares.ts b/apps/files_sharing/src/files_views/shares.ts index 112bc2909988b..e9671147758e8 100644 --- a/apps/files_sharing/src/files_views/shares.ts +++ b/apps/files_sharing/src/files_views/shares.ts @@ -24,6 +24,15 @@ export const deletedSharesViewId = 'deletedshares' export const pendingSharesViewId = 'pendingshares' export const fileRequestViewId = 'filerequest' +/** + * Checks if share accept approval required by nextcloud configuration. + * + * @return True if share accept approval is required, otherwise false. + */ +function isShareAcceptApprovalRequired(): boolean { + return loadState('files_sharing', 'accept_default', false) +} + export default () => { const Navigation = getNavigation() Navigation.register(new View({ @@ -137,6 +146,10 @@ export default () => { getContents: () => getContents(false, false, false, true), })) + if (!isShareAcceptApprovalRequired()) { + return + } + Navigation.register(new View({ id: pendingSharesViewId, name: t('files_sharing', 'Pending shares'), diff --git a/apps/settings/src/views/AdminSettingsMailServer.vue b/apps/settings/src/views/AdminSettingsMailServer.vue index 74b7e794c49db..8b6672f3ecd68 100644 --- a/apps/settings/src/views/AdminSettingsMailServer.vue +++ b/apps/settings/src/views/AdminSettingsMailServer.vue @@ -44,6 +44,14 @@ const initialConfig = loadState<{ }>('settings', 'settingsAdminMailConfig') const mailConfig = ref({ ...initialConfig }) +/** + * Mail delivery is turned off instance-wide via `mail_smtpmode` = "null". + * Checked against the raw config value rather than `smtpMode`, because "null" + * is deliberately not offered in `smtpModeOptions` and so never resolves to an + * option. + */ +const isMailDeliveryDisabled = computed(() => mailConfig.value.mail_smtpmode === 'null') + const smtpMode = computed({ get() { return settingsAdminMail.smtpModeOptions.find((option) => option.id === mailConfig.value.mail_smtpmode) @@ -137,7 +145,7 @@ async function onSubmit() { {{ t('settings', 'The server configuration is read-only so the mail settings cannot be changed using the web interface.') }} - + {{ t('settings', 'Mail delivery is disabled by instance config "{config}".', { config: 'mail_smtpmode' }) }} diff --git a/dist/files_sharing-init.js b/dist/files_sharing-init.js index 69e483c26ea33..0c66e98544144 100644 --- a/dist/files_sharing-init.js +++ b/dist/files_sharing-init.js @@ -1,2 +1,2 @@ -(()=>{var e,t,n,r={81382(e,t,n){"use strict";var r=n(35810),i=n(77815),s=n(65659),a=n(44368),o=n(61338),l=n(53334),c=n(63814);const d='',u='',p='',h='';var f=n(81222),m=n(40715),g=n(87543);const v="shareoverview",A="sharingin",w="sharingout",y="sharinglinks",b="deletedshares",_="pendingshares",C=()=>{const e=(0,r.bh)();e.register(new r.Ss({id:v,name:(0,l.t)("files_sharing","Shares"),caption:(0,l.t)("files_sharing","Overview of shared files."),emptyTitle:(0,l.t)("files_sharing","No shares"),emptyCaption:(0,l.t)("files_sharing","Files and folders you shared or have been shared with you will show up here"),icon:u,order:20,columns:[],getContents:()=>(0,g.h)()})),e.register(new r.Ss({id:A,name:(0,l.t)("files_sharing","Shared with you"),caption:(0,l.t)("files_sharing","List of files that are shared with you."),emptyTitle:(0,l.t)("files_sharing","Nothing shared with you yet"),emptyCaption:(0,l.t)("files_sharing","Files and folders others shared with you will show up here"),icon:'',order:1,parent:v,columns:[],getContents:()=>(0,g.h)(!0,!1,!1,!1)})),0!==(0,f.C)("files","storageStats",{quota:-1}).quota&&e.register(new r.Ss({id:w,name:(0,l.t)("files_sharing","Shared with others"),caption:(0,l.t)("files_sharing","List of files that you shared with others."),emptyTitle:(0,l.t)("files_sharing","Nothing shared yet"),emptyCaption:(0,l.t)("files_sharing","Files and folders you shared will show up here"),icon:d,order:2,parent:v,columns:[],getContents:()=>(0,g.h)(!1,!0,!1,!1)})),e.register(new r.Ss({id:y,name:(0,l.t)("files_sharing","Shared by link"),caption:(0,l.t)("files_sharing","List of files that are shared by link."),emptyTitle:(0,l.t)("files_sharing","No shared links"),emptyCaption:(0,l.t)("files_sharing","Files and folders you shared by link will show up here"),icon:h,order:3,parent:v,columns:[],getContents:()=>(0,g.h)(!1,!0,!1,!1,[m.I.Link])})),e.register(new r.Ss({id:"filerequest",name:(0,l.t)("files_sharing","File requests"),caption:(0,l.t)("files_sharing","List of file requests."),emptyTitle:(0,l.t)("files_sharing","No file requests"),emptyCaption:(0,l.t)("files_sharing","File requests you have created will show up here"),icon:p,order:4,parent:v,columns:[],getContents:()=>(0,g.h)(!1,!0,!1,!1,[m.I.Link,m.I.Email]).then(({folder:e,contents:t})=>({folder:e,contents:t.filter(e=>(0,g.C)(e.attributes?.["share-attributes"]||[]))}))})),e.register(new r.Ss({id:b,name:(0,l.t)("files_sharing","Deleted shares"),caption:(0,l.t)("files_sharing","List of shares you left."),emptyTitle:(0,l.t)("files_sharing","No deleted shares"),emptyCaption:(0,l.t)("files_sharing","Shares you have left will show up here"),icon:'',order:5,parent:v,columns:[],getContents:()=>(0,g.h)(!1,!1,!1,!0)})),e.register(new r.Ss({id:_,name:(0,l.t)("files_sharing","Pending shares"),caption:(0,l.t)("files_sharing","List of unapproved shares."),emptyTitle:(0,l.t)("files_sharing","No pending shares"),emptyCaption:(0,l.t)("files_sharing","Shares you have received but not approved will show up here"),icon:'',order:6,parent:v,columns:[],getContents:()=>(0,g.h)(!1,!1,!0,!1)}))};(Object.getOwnPropertyDescriptor(C,"name")||{}).writable||Object.defineProperty(C,"name",{value:"default",configurable:!0});const x={id:"accept-share",displayName:({nodes:e})=>(0,l.zw)("files_sharing","Accept share","Accept shares",e.length),iconSvgInline:()=>s,enabled:({nodes:e,view:t})=>e.length>0&&t.id===_,async exec({nodes:e}){try{const t=e[0],n=!!t.attributes.remote,r=(0,c.KT)("apps/files_sharing/api/v1/{shareBase}/pending/{id}",{shareBase:n?"remote_shares":"shares",id:t.id});return await a.Ay.post(r),(0,o.Ic)("files:node:deleted",t),!0}catch{return!1}},async execBatch({nodes:e,view:t,folder:n,contents:r}){return Promise.all(e.map(e=>this.exec({nodes:[e],view:t,folder:n,contents:r})))},order:1,inline:()=>!0},E={id:"files_sharing:open-in-files",displayName:()=>(0,l.Tl)("files_sharing","Open in Files"),iconSvgInline:()=>"",enabled:({view:e})=>[v,A,w,y].includes(e.id),async exec({nodes:e}){const t=e[0].type===r.pt.Folder;return window.OCP.Files.Router.goToRoute(null,{view:"files",fileid:String(e[0].fileid)},{dir:t?e[0].path:e[0].dirname,openfile:t?void 0:"true"}),null},order:-1e3,default:r.m9.HIDDEN},D={id:"reject-share",displayName:({nodes:e})=>(0,l.zw)("files_sharing","Reject share","Reject shares",e.length),iconSvgInline:()=>'',enabled:({nodes:e,view:t})=>t.id===_&&0!==e.length&&!e.some(e=>e.attributes.remote_id&&e.attributes.share_type===m.I.RemoteGroup),async exec({nodes:e}){try{const t=e[0],n=t.attributes.remote?"remote_shares":"shares",r=t.id;let i;return i=0===t.attributes.accepted?(0,c.KT)("apps/files_sharing/api/v1/{shareBase}/pending/{id}",{shareBase:n,id:r}):(0,c.KT)("apps/files_sharing/api/v1/{shareBase}/{id}",{shareBase:n,id:r}),await a.Ay.delete(i),(0,o.Ic)("files:node:deleted",t),!0}catch{return!1}},async execBatch({nodes:e,view:t,folder:n,contents:r}){return Promise.all(e.map(e=>this.exec({nodes:[e],view:t,folder:n,contents:r})))},order:2,inline:()=>!0},S={id:"restore-share",displayName:({nodes:e})=>(0,l.zw)("files_sharing","Restore share","Restore shares",e.length),iconSvgInline:()=>'',enabled:({nodes:e,view:t})=>e.length>0&&t.id===b,async exec({nodes:e}){try{const t=e[0],n=(0,c.KT)("apps/files_sharing/api/v1/deletedshares/{id}",{id:t.id});return await a.Ay.post(n),(0,o.Ic)("files:node:deleted",t),!0}catch{return!1}},async execBatch({nodes:e,view:t,folder:n,contents:r}){return Promise.all(e.map(e=>this.exec({nodes:[e],view:t,folder:n,contents:r})))},order:1,inline:()=>!0};var N=n(21777),L=n(85168),T=n(32505);var F=n(85072),P=n.n(F),I=n(97825),H=n.n(I),V=n(77659),M=n.n(V),O=n(55056),k=n.n(O),R=n(10540),$=n.n(R),B=n(41113),U=n.n(B),j=n(53168),q={};function z(e){return e.attributes?.["is-federated"]??!1}q.styleTagTransform=U(),q.setAttributes=k(),q.insert=M().bind(null,"head"),q.domAPI=H(),q.insertStyleElement=$(),P()(j.A,q),j.A&&j.A.locals&&j.A.locals;const G={id:"sharing-status",displayName({nodes:e}){const t=e[0];return Object.values(t?.attributes?.["share-types"]||{}).flat().length>0||t.owner!==(0,N.HW)()?.uid||z(t)?(0,l.Tl)("files_sharing","Shared"):""},title({nodes:e}){const t=e[0];if(t.owner&&(t.owner!==(0,N.HW)()?.uid||z(t))){const e=t?.attributes?.["owner-display-name"];return(0,l.Tl)("files_sharing","Shared by {ownerDisplayName}",{ownerDisplayName:e})}if(Object.values(t?.attributes?.["share-types"]||{}).flat().length>1)return(0,l.Tl)("files_sharing","Shared multiple times with different people");const n=t.attributes.sharees?.sharee;if(!n)return(0,l.Tl)("files_sharing","Sharing options");const r=[n].flat()[0];switch(r?.type){case m.I.User:return(0,l.Tl)("files_sharing","Shared with {user}",{user:r["display-name"]});case m.I.Group:return(0,l.Tl)("files_sharing","Shared with group {group}",{group:r["display-name"]??r.id});default:return(0,l.Tl)("files_sharing","Shared with others")}},iconSvgInline({nodes:e}){const t=e[0],n=Object.values(t?.attributes?.["share-types"]||{}).flat();return Array.isArray(t.attributes?.["share-types"])&&t.attributes?.["share-types"].length>1?u:n.includes(m.I.Link)||n.includes(m.I.Email)?h:n.includes(m.I.Group)||n.includes(m.I.RemoteGroup)?d:n.includes(m.I.Team)?'':t.owner&&(t.owner!==(0,N.HW)()?.uid||z(t))?function(e,t=!1){const n=`${t?`/avatar/guest/${e}`:`/avatar/${e}`}/32${!0===window?.matchMedia?.("(prefers-color-scheme: dark)")?.matches||null!==document.querySelector("[data-themes*=dark]")?"/dark":""}${t?"":"?guestFallback=true"}`;return``}(t.owner,z(t)):u},enabled({nodes:e}){if(1!==e.length)return!1;if((0,T.f)())return!1;const t=e[0],n=t.attributes?.["share-types"];return!!(Array.isArray(n)&&n.length>0)||!(t.owner===(0,N.HW)()?.uid&&!z(t))||0!==(t.permissions&r.aX.SHARE)&&0!==(t.permissions&r.aX.READ)},async exec({nodes:e}){const t=e[0];return 0!==(t.permissions&r.aX.READ)?((0,r.dC)().open(t,"sharing"),null):((0,L.Qg)((0,l.Tl)("files_sharing","You do not have enough permissions to share this file.")),null)},inline:()=>!0};var W=n(26422),K=n(85471),Y=n(41944),Z=n(74095),X=n(82182);const J=document.getElementsByTagName("head")[0].getAttribute("data-user"),Q=(document.getElementsByTagName("head")[0].getAttribute("data-user-displayname"),void 0!==J&&J),ee=(0,K.pM)({__name:"FileListFilterAccount",props:{filter:null},setup(e){const t=e,n=Q,r=(0,K.KR)(""),i=(0,K.KR)([]),s=(0,K.KR)([]);(0,K.wB)(s,()=>{const e=s.value.map(({id:e,displayName:t})=>({uid:e,displayName:t}));t.filter.setAccounts(e.length>0?e:void 0)}),(0,K.sV)(()=>{u(t.filter.availableAccounts),s.value=i.value.filter(({id:e})=>t.filter.filterAccounts?.some(({uid:t})=>t===e))??[],t.filter.addEventListener("accounts-updated",u),t.filter.addEventListener("reset",d),t.filter.addEventListener("deselect",c)}),(0,K.hi)(()=>{t.filter.removeEventListener("accounts-updated",u),t.filter.removeEventListener("reset",d),t.filter.removeEventListener("deselect",c)});const a=(0,K.EW)(()=>{if(!r.value)return[...i.value].sort(o);const e=r.value.toLocaleLowerCase().trim().split(" ");return i.value.filter(t=>e.every(e=>t.user.toLocaleLowerCase().includes(e)||t.displayName.toLocaleLowerCase().includes(e))).sort(o)});function o(e,t){return e.id===n?-1:t.id===n?1:e.displayName.localeCompare(t.displayName)}function c(e){const t=e.detail;s.value=s.value.filter(({id:e})=>e!==t)}function d(){s.value=[],r.value=""}function u(e){e instanceof CustomEvent&&(e=e.detail),i.value=e.map(({uid:e,displayName:t})=>({displayName:t,id:e,user:e}))}return{__sfc:!0,props:t,currentUserId:n,accountFilter:r,availableAccounts:i,selectedAccounts:s,shownAccounts:a,sortAccounts:o,toggleAccount:function(e,t){if(s.value=s.value.filter(({id:t})=>t!==e),t){const t=i.value.find(({id:t})=>t===e);t&&(s.value=[...s.value,t])}},deselect:c,resetFilter:d,setAvailableAccounts:u,t:l.t,NcAvatar:Y.A,NcButton:Z.A,NcTextField:X.A}}});var te=n(15914),ne={};ne.styleTagTransform=U(),ne.setAttributes=k(),ne.insert=M().bind(null,"head"),ne.domAPI=H(),ne.insertStyleElement=$(),P()(te.A,ne);const re=te.A&&te.A.locals?te.A.locals:void 0,ie=(0,n(14486).A)(ee,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t("div",{class:e.$style.fileListFilterAccount},[n.availableAccounts.length>1?t(n.NcTextField,{attrs:{type:"search",label:n.t("files_sharing","Filter accounts")},model:{value:n.accountFilter,callback:function(e){n.accountFilter=e},expression:"accountFilter"}}):e._e(),e._v(" "),e._l(n.shownAccounts,function(r){return t(n.NcButton,{key:r.id,attrs:{alignment:"start",pressed:n.selectedAccounts.includes(r),variant:"tertiary",wide:""},on:{"update:pressed":function(e){return n.toggleAccount(r.id,e)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t(n.NcAvatar,e._b({class:e.$style.fileListFilterAccount__avatar,attrs:{size:24,"disable-menu":"","hide-status":""}},"NcAvatar",r,!1))]},proxy:!0}],null,!0)},[e._v("\n\t\t"+e._s(r.displayName)+"\n\t\t"),r.id===n.currentUserId?t("span",{class:e.$style.fileListFilterAccount__currentUser},[e._v("\n\t\t\t("+e._s(n.t("files","you"))+")\n\t\t")]):e._e()])})],2)},[],!1,function(e){this.$style=re.locals||re},null,null).exports;function se(e,t,n){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ae(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}function oe(e,t){return e.get(ce(e,t))}function le(e,t,n){return e.set(ce(e,t),n),n}function ce(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}const de="files_sharing-file-list-filter-account";var ue=new WeakMap,pe=new WeakMap;class he extends r.L3{constructor(){super("files_sharing:account",100),ae(this,ue,void 0),ae(this,pe,void 0),se(this,"displayName",(0,l.t)("files_sharing","People")),se(this,"iconSvgInline",''),se(this,"tagName",de),le(ue,this,[]),(0,o.B1)("files:list:updated",({contents:e})=>{this.updateAvailableAccounts(e)})}get availableAccounts(){return oe(ue,this)}get filterAccounts(){return oe(pe,this)}filter(e){if(!oe(pe,this)||0===oe(pe,this).length)return e;const t=oe(pe,this).map(({uid:e})=>e);return e.filter(e=>{if("trashbin"===window.OCP.Files.Router.params.view){const n=e.attributes?.["trashbin-deleted-by-id"];return!(!n||!t.includes(n))}if(e.owner&&t.includes(e.owner))return!0;const n=e.attributes.sharees?.sharee;return!(!n||![n].flat().some(({id:e})=>t.includes(e)))||!e.owner&&!n})}reset(){this.dispatchEvent(new CustomEvent("reset"))}setAccounts(e){le(pe,this,e);let t=[];oe(pe,this)&&oe(pe,this).length>0&&(t=oe(pe,this).map(({displayName:e,uid:t})=>({text:e,user:t,onclick:()=>this.dispatchEvent(new CustomEvent("deselect",{detail:t}))}))),this.updateChips(t),this.filterUpdated()}updateAvailableAccounts(e){const t=new Map;for(const n of e){const e=n.owner;e&&!t.has(e)&&t.set(e,{uid:e,displayName:n.attributes["owner-display-name"]??n.owner});const r=[n.attributes.sharees?.sharee].flat().filter(Boolean);for(const e of[r].flat())""!==e.id&&(e.type!==m.I.User&&e.type!==m.I.Remote||t.has(e.id)||t.set(e.id,{uid:e.id,displayName:e["display-name"]}));const i=n.attributes?.["trashbin-deleted-by-id"];i&&t.set(i,{uid:i,displayName:n.attributes?.["trashbin-deleted-by-display-name"]||i})}le(ue,this,[...t.values()]),this.dispatchEvent(new CustomEvent("accounts-updated"))}}var fe=n(98469);const me=new(n(87771).A),ge=(0,K.$V)(()=>Promise.all([n.e(4208),n.e(1598)]).then(n.bind(n,11598))),ve={id:"file-request",displayName:(0,l.t)("files_sharing","Create file request"),iconSvgInline:p,order:10,enabled:()=>!(0,T.f)()&&!!me.isPublicUploadEnabled&&me.isPublicShareAllowed,async handler(e,t){(0,fe.S)(ge,{context:e,content:t})}};C(),(0,r.zj)(ve),(0,i.Yc)("nc:note",{nc:"http://nextcloud.org/ns"}),(0,i.Yc)("nc:sharees",{nc:"http://nextcloud.org/ns"}),(0,i.Yc)("nc:hide-download",{nc:"http://nextcloud.org/ns"}),(0,i.Yc)("nc:share-attributes",{nc:"http://nextcloud.org/ns"}),(0,i.Yc)("oc:share-types",{oc:"http://owncloud.org/ns"}),(0,i.Yc)("ocs:share-permissions",{ocs:"http://open-collaboration-services.org/ns"}),(0,r.Gg)(x),(0,r.Gg)(E),(0,r.Gg)(D),(0,r.Gg)(S),(0,r.Gg)(G),function(){if((0,T.f)())return;const e=(0,W.A)(K.Ay,ie);Object.defineProperty(e.prototype,"attachShadow",{value(){return this}}),Object.defineProperty(e.prototype,"shadowRoot",{get(){return this}}),customElements.define(de,e),(0,r.cZ)(new he)}(),function(){let e,t;(0,r.pJ)({id:"note-to-recipient",order:0,enabled:e=>Boolean(e.attributes.note),updated:e=>{t&&t.updateFolder(e)},render:async(r,i)=>{if(void 0===e){const{default:t}=await Promise.all([n.e(4208),n.e(1404)]).then(n.bind(n,41404));e=K.Ay.extend(t)}t=(new e).$mount(r),t.updateFolder(i)}})}()},87771(e,t,n){"use strict";n.d(t,{A:()=>s});var r=n(87485),i=n(81222);class s{constructor(){var e,t,n;e=this,n=void 0,(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t="_capabilities"))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,this._capabilities=(0,r.F)()}get defaultPermissions(){return this._capabilities.files_sharing?.default_permissions}get excludeReshareFromEdit(){return!0===this._capabilities.files_sharing?.exclude_reshare_from_edit}get isPublicUploadEnabled(){return!0===this._capabilities.files_sharing?.public?.upload}get federatedShareDocLink(){return window.OC.appConfig.core.federatedCloudShareDoc}get defaultExpirationDate(){return this.isDefaultExpireDateEnabled&&null!==this.defaultExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultExpireDate)):null}get defaultInternalExpirationDate(){return this.isDefaultInternalExpireDateEnabled&&null!==this.defaultInternalExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultInternalExpireDate)):null}get defaultRemoteExpirationDateString(){return this.isDefaultRemoteExpireDateEnabled&&null!==this.defaultRemoteExpireDate?new Date((new Date).setDate((new Date).getDate()+this.defaultRemoteExpireDate)):null}get enforcePasswordForPublicLink(){return!0===window.OC.appConfig.core.enforcePasswordForPublicLink}get enableLinkPasswordByDefault(){return!0===window.OC.appConfig.core.enableLinkPasswordByDefault}get isDefaultExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultExpireDateEnforced}get isDefaultExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultExpireDateEnabled}get isDefaultInternalExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnforced}get isDefaultInternalExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultInternalExpireDateEnabled}get isDefaultRemoteExpireDateEnforced(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnforced}get isDefaultRemoteExpireDateEnabled(){return!0===window.OC.appConfig.core.defaultRemoteExpireDateEnabled}get isRemoteShareAllowed(){return!0===window.OC.appConfig.core.remoteShareAllowed}get isFederationEnabled(){return!0===this._capabilities?.files_sharing?.federation?.outgoing}get isPublicShareAllowed(){return!0===this._capabilities?.files_sharing?.public?.enabled}get isMailShareAllowed(){return!0===this._capabilities?.files_sharing?.sharebymail?.enabled&&!0===this.isPublicShareAllowed}get defaultExpireDate(){return window.OC.appConfig.core.defaultExpireDate}get defaultInternalExpireDate(){return window.OC.appConfig.core.defaultInternalExpireDate}get defaultRemoteExpireDate(){return window.OC.appConfig.core.defaultRemoteExpireDate}get isResharingAllowed(){return!0===window.OC.appConfig.core.resharingAllowed}get isPasswordForMailSharesRequired(){return!0===this._capabilities.files_sharing?.sharebymail?.password?.enforced}get shouldAlwaysShowUnique(){return!0===this._capabilities.files_sharing?.sharee?.always_show_unique}get allowGroupSharing(){return!0===window.OC.appConfig.core.allowGroupSharing}get maxAutocompleteResults(){return parseInt(window.OC.config["sharing.maxAutocompleteResults"],10)||25}get minSearchStringLength(){return parseInt(window.OC.config["sharing.minSearchStringLength"],10)||0}get passwordPolicy(){return this._capabilities?.password_policy||{}}get allowCustomTokens(){return this._capabilities?.files_sharing?.public?.custom_tokens}get showFederatedSharesAsInternal(){return(0,i.C)("files_sharing","showFederatedSharesAsInternal",!1)}get showFederatedSharesToTrustedServersAsInternal(){return(0,i.C)("files_sharing","showFederatedSharesToTrustedServersAsInternal",!1)}get showExternalSharing(){return(0,i.C)("files_sharing","showExternalSharing",!0)}}},87543(e,t,n){"use strict";n.d(t,{C:()=>m,h:()=>g});var r=n(21777),i=n(44368),s=n(35810),a=n(77815),o=n(63814),l=n(48564);const c={"Content-Type":"application/json"};function d(e=!1){const t=(0,o.KT)("apps/files_sharing/api/v1/shares");return i.Ay.get(t,{headers:c,params:{shared_with_me:e,include_tags:!0}})}function u(){const e=(0,o.KT)("apps/files_sharing/api/v1/remote_shares");return i.Ay.get(e,{headers:c,params:{include_tags:!0}})}function p(){const e=(0,o.KT)("apps/files_sharing/api/v1/shares/pending");return i.Ay.get(e,{headers:c,params:{include_tags:!0}})}function h(){const e=(0,o.KT)("apps/files_sharing/api/v1/remote_shares/pending");return i.Ay.get(e,{headers:c,params:{include_tags:!0}})}function f(){const e=(0,o.KT)("apps/files_sharing/api/v1/deletedshares");return i.Ay.get(e,{headers:c,params:{include_tags:!0}})}function m(e="[]"){const t=e=>"fileRequest"===e.scope&&"enabled"===e.key&&!0===e.value;try{return JSON.parse(e).some(t)}catch(e){return l.A.error("Error while parsing share attributes",{error:e}),!1}}async function g(e=!0,t=!0,i=!1,o=!1,c=[]){const m=[];e&&m.push({promise:d(!0),unmounted:!1},{promise:u(),unmounted:!1}),t&&m.push({promise:d(),unmounted:!1}),i&&m.push({promise:p(),unmounted:!0},{promise:h(),unmounted:!0}),o&&m.push({promise:f(),unmounted:!0});const g=(await Promise.all(m.map(({promise:e})=>e))).flatMap((e,t)=>e.data.ocs.data.map(e=>({entry:e,unmounted:m[t].unmounted})));let v=(await Promise.all(g.map(({entry:e,unmounted:t})=>async function(e,t=!1){try{if(void 0!==e?.remote_id){if(!e.mimetype){const t=(await n.e(857).then(n.bind(n,10857))).default;e.mimetype=t.getType(e.name)}const t="dir"===e.type?"folder":e.type;e.item_type=t||(e.mimetype?"file":"folder"),e.item_mtime=e.mtime,e.file_target=e.file_target||e.mountpoint,e.file_target.includes("TemporaryMountPointName")&&(e.file_target=e.name),e.accepted||(e.item_permissions=s.aX.NONE,e.permissions=s.aX.NONE),e.uid_owner=e.owner,e.displayname_owner=e.owner}t&&(e.item_permissions=s.aX.NONE,e.permissions=s.aX.NONE);const r="folder"===e?.item_type,i=!0===e?.has_preview,o=r?s.vd:s.ZH,l=e.file_source||e.file_id||e.id,c=e.path||e.file_target||e.name,d=`${(0,a.EY)()}${(0,a.ei)()}/${c.replace(/^\/+/,"")}`;let u,p=e.item_mtime?new Date(1e3*e.item_mtime):void 0;return e?.stime>(e?.item_mtime||0)&&(p=new Date(1e3*e.stime)),"share_with"in e&&(u={sharee:{id:e.share_with,"display-name":e.share_with_displayname||e.share_with,type:e.share_type}}),new o({id:l,source:d,owner:e?.uid_owner,mime:e?.mimetype||"application/octet-stream",mtime:p,size:e?.item_size??void 0,permissions:e?.item_permissions||e?.permissions,root:(0,a.ei)(),attributes:{...e,"has-preview":i,"hide-download":1===e?.hide_download,"owner-id":e?.uid_owner,"owner-display-name":e?.displayname_owner,"share-types":e?.share_type,"share-attributes":e?.attributes||"[]",sharees:u,favorite:e?.tags?.includes(window.OC.TAG_FAVORITE)?1:0}})}catch(e){return l.A.error("Error while parsing OCS entry",{error:e}),null}}(e,t)))).filter(e=>null!==e);var A,w;return c.length>0&&(v=v.filter(e=>c.includes(e.attributes?.share_type))),v=(A=v,w="source",Object.values(A.reduce(function(e,t){return(e[t[w]]=e[t[w]]||[]).push(t),e},{}))).map(e=>{const t=e[0];return t.attributes["share-types"]=e.map(e=>e.attributes["share-types"]),t}),{folder:new s.vd({id:0,source:`${(0,a.EY)()}${(0,a.ei)()}`,owner:(0,r.HW)()?.uid||null,root:(0,a.ei)()}),contents:v}}},48564(e,t,n){"use strict";n.d(t,{A:()=>r});const r=(0,n(35947).YK)().setApp("files_sharing").detectUser().build()},53168(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(71354),i=n.n(r),s=n(76314),a=n.n(s)()(i());a.push([e.id,".action-items>.files-list__row-action-sharing-status{padding-inline:0 !important}.action-items>.files-list__row-action-sharing-status .button-vue__wrapper{flex-direction:row-reverse;gap:var(--default-grid-baseline)}svg.sharing-status__avatar{height:var(--button-inner-size, 32px) !important;width:var(--button-inner-size, 32px) !important;max-height:var(--button-inner-size, 32px) !important;max-width:var(--button-inner-size, 32px) !important;border-radius:var(--button-inner-size, 32px);overflow:hidden}.files-list__row-action-sharing-status .button-vue__text{color:var(--color-primary-element)}.files-list__row-action-sharing-status .button-vue__icon{color:var(--color-primary-element)}","",{version:3,sources:["webpack://./apps/files_sharing/src/files_actions/sharingStatusAction.scss"],names:[],mappings:"AAMA,qDAEC,2BAAA,CAEA,0EAEC,0BAAA,CACA,gCAAA,CAIF,2BACC,gDAAA,CACA,+CAAA,CACA,oDAAA,CACA,mDAAA,CACA,4CAAA,CACA,eAAA,CAIA,yDACC,kCAAA,CAED,yDACC,kCAAA",sourcesContent:["/*\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n // Only when rendered inline, when not enough space, this is put in the menu\n.action-items > .files-list__row-action-sharing-status {\n\t// align icons with text-less inline actions\n\tpadding-inline: 0 !important;\n\n\t.button-vue__wrapper {\n\t\t// put icon at the end of the button\n\t\tflex-direction: row-reverse;\n\t\tgap: var(--default-grid-baseline);\n\t}\n}\n\nsvg.sharing-status__avatar {\n\theight: var(--button-inner-size, 32px) !important;\n\twidth: var(--button-inner-size, 32px) !important;\n\tmax-height: var(--button-inner-size, 32px) !important;\n\tmax-width: var(--button-inner-size, 32px) !important;\n\tborder-radius: var(--button-inner-size, 32px);\n\toverflow: hidden;\n}\n\n.files-list__row-action-sharing-status {\n\t.button-vue__text {\n\t\tcolor: var(--color-primary-element);\n\t}\n\t.button-vue__icon {\n\t\tcolor: var(--color-primary-element);\n\t}\n}\n"],sourceRoot:""}]);const o=a},15914(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(71354),i=n.n(r),s=n(76314),a=n.n(s)()(i());a.push([e.id,"\n._fileListFilterAccount_ZW91g {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-grid-baseline);\n}\n._fileListFilterAccount__avatar_V0YuN {\n\t/* 24px is the avatar size */\n\tmargin: calc((var(--default-clickable-area) - 24px) / 2);\n}\n._fileListFilterAccount__currentUser_PqQfx {\n\tfont-weight: normal !important;\n}\n","",{version:3,sources:["webpack://./apps/files_sharing/src/components/FileListFilterAccount.vue"],names:[],mappings:";AA4JA;CACA,aAAA;CACA,sBAAA;CACA,iCAAA;AACA;AAEA;CACA,4BAAA;CACA,wDAAA;AACA;AAEA;CACA,8BAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fileListFilterAccount\": `_fileListFilterAccount_ZW91g`,\n\t\"fileListFilterAccount__avatar\": `_fileListFilterAccount__avatar_V0YuN`,\n\t\"fileListFilterAccount__currentUser\": `_fileListFilterAccount__currentUser_PqQfx`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"853\":\"b82cc31fdab3eebc6e17\",\"857\":\"3d28157955f39376ab2c\",\"1404\":\"e021afe5d02634220086\",\"1526\":\"ad86f3209aa9a10cd835\",\"1598\":\"f14a7598110cd7e779f4\",\"4941\":\"cf6a232432a967125f9f\",\"6087\":\"20ff0344223a1b0febab\",\"6597\":\"278c016b03eadd2eaaa6\",\"7859\":\"f146280447be8fe16f6d\",\"9337\":\"da67b95f927087fcd0b5\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5928: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(81382)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","Navigation","getNavigation","register","View","id","name","t","caption","emptyTitle","emptyCaption","icon","AccountPlusSvg","order","columns","getContents","parent","loadState","quota","AccountGroupSvg","LinkSvg","ShareType","Link","FileUploadSvg","Email","then","folder","contents","filter","node","isFileRequest","attributes","action","displayName","nodes","n","length","iconSvgInline","CheckSvg","enabled","view","exec","isRemote","remote","url","generateOcsUrl","shareBase","axios","post","emit","execBatch","Promise","all","map","this","inline","includes","isFolder","type","FileType","Folder","window","OCP","Files","Router","goToRoute","fileid","String","dir","path","dirname","openfile","undefined","default","DefaultType","HIDDEN","some","remote_id","share_type","RemoteGroup","accepted","delete","options","isExternal","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","Object","values","flat","owner","getCurrentUser","uid","title","ownerDisplayName","sharees","sharee","User","user","Group","group","shareTypes","Array","isArray","Team","userId","isGuest","matchMedia","matches","document","querySelector","generateUrl","generateAvatarSvg","isPublicShare","permissions","Permission","SHARE","READ","getSidebar","open","showError","rawUid","getElementsByTagName","getAttribute","currentUser","_defineComponent","__name","props","setup","__props","currentUserId","accountFilter","ref","availableAccounts","selectedAccounts","watch","accounts","value","setAccounts","onMounted","setAvailableAccounts","filterAccounts","addEventListener","resetFilter","deselect","onUnmounted","removeEventListener","shownAccounts","computed","sort","sortAccounts","queryParts","toLocaleLowerCase","trim","split","account","every","part","a","b","localeCompare","event","accountId","detail","CustomEvent","__sfc","toggleAccount","selected","find","NcAvatar","NcButton","NcTextField","_vm","_c","_self","_setup","_setupProxy","class","$style","fileListFilterAccount","attrs","model","callback","$$v","expression","_e","_v","_l","key","on","$event","scopedSlots","_u","fn","_b","fileListFilterAccount__avatar","proxy","_s","fileListFilterAccount__currentUser","context","tagName","_availableAccounts","WeakMap","_filterAccounts","AccountFilter","FileListFilter","constructor","super","_classPrivateFieldInitSpec","_defineProperty","_classPrivateFieldSet","subscribe","updateAvailableAccounts","_classPrivateFieldGet","userIds","params","deletedBy","reset","dispatchEvent","chips","text","onclick","updateChips","filterUpdated","available","Map","has","set","Boolean","Remote","sharingConfig","Config","NewFileRequestDialogVue","defineAsyncComponent","entry","isPublicUploadEnabled","isPublicShareAllowed","handler","content","spawnDialog","registerSharingViews","addNewFileMenuEntry","newFileRequest","registerDavProperty","nc","oc","ocs","registerFileAction","acceptShareAction","openInFilesAction","rejectShareAction","restoreShareAction","sharingStatusAction","WrappedComponent","wrap","Vue","FileListFilterAccount","defineProperty","prototype","get","customElements","define","registerFileListFilter","registerAccountFilter","FilesHeaderNoteToRecipient","instance","registerFileListHeader","note","updated","updateFolder","render","async","el","component","extend","$mount","registerNoteToRecipient","_capabilities","getCapabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","public","upload","federatedShareDocLink","OC","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","always_show_unique","allowGroupSharing","maxAutocompleteResults","parseInt","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","headers","getShares","shareWithMe","shared_with_me","include_tags","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","attribute","scope","JSON","parse","error","logger","sharedWithYou","sharedWithOthers","pendingShares","deletedshares","filterTypes","requests","push","promise","unmounted","data","flatMap","response","index","ocsEntry","mimetype","mime","getType","item_type","item_mtime","mtime","file_target","mountpoint","item_permissions","NONE","uid_owner","displayname_owner","hasPreview","has_preview","Node","File","file_source","file_id","source","getRemoteURL","getRootPath","replace","stime","share_with","share_with_displayname","size","item_size","root","hide_download","favorite","tags","TAG_FAVORITE","ocsEntryToNode","reduce","acc","curr","getLoggerBuilder","setApp","detectUser","build","___CSS_LOADER_EXPORT___","module","defaultDavProperties","defaultDavNamespaces","d","prop","namespace","s","davNamespaces","davProperties","namespaces","search","l","warn","startsWith","getDavProperties","join","getDavNameSpaces","keys","ns","getDefaultPropfind","getRecentSearch","lastModified","defaultRootPath","defaultRemoteURL","getClient","remoteURL","client","setHeaders","token","requesttoken","patch","headers2","method","fetch","getFavoriteNodes","davRoot","getDirectoryContents","signal","details","includeSelf","filename","result","resultToNode","filesRoot","Error","permString","P","WRITE","CREATE","UPDATE","DELETE","parsePermissions","lastmod","crtime","creationdate","nodeData","isNaN","getTime","displayname","Number","getcontentlength","status","FAILED","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","definition","o","enumerable","f","e","chunkId","promises","u","obj","hasOwnProperty","done","script","needAttach","scripts","createElement","charset","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","toUpperCase","test","p","baseURI","self","href","installedChunks","installedChunkData","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"files_sharing-init.js?v=681faefa59cd00f44e47","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/apps/files_sharing/src/files_views/shares.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/acceptShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/openInFilesAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/rejectShareAction.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/restoreShareAction.ts","webpack://nextcloud/./apps/files_sharing/src/files_actions/sharingStatusAction.scss?6b51","webpack:///nextcloud/apps/files_sharing/src/files_actions/sharingStatusAction.ts","webpack:///nextcloud/apps/files_sharing/src/utils/AccountIcon.ts","webpack:///nextcloud/core/src/OC/currentuser.js","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue","webpack://nextcloud/./apps/files_sharing/src/components/FileListFilterAccount.vue?f338","webpack://nextcloud/./apps/files_sharing/src/components/FileListFilterAccount.vue?64e4","webpack:///nextcloud/apps/files_sharing/src/files_filters/AccountFilter.ts","webpack:///nextcloud/apps/files_sharing/src/files_newMenu/newFileRequest.ts","webpack:///nextcloud/apps/files_sharing/src/init.ts","webpack:///nextcloud/apps/files_sharing/src/files_headers/noteToRecipient.ts","webpack:///nextcloud/apps/files_sharing/src/services/ConfigService.ts","webpack:///nextcloud/apps/files_sharing/src/services/SharingService.ts","webpack:///nextcloud/apps/files_sharing/src/services/logger.ts","webpack:///nextcloud/apps/files_sharing/src/files_actions/sharingStatusAction.scss","webpack:///nextcloud/apps/files_sharing/src/components/FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css","webpack:///nextcloud/node_modules/@nextcloud/files/dist/dav.mjs","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport AccountClockSvg from '@mdi/svg/svg/account-clock-outline.svg?raw';\nimport AccountGroupSvg from '@mdi/svg/svg/account-group-outline.svg?raw';\nimport AccountSvg from '@mdi/svg/svg/account-outline.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus-outline.svg?raw';\nimport FileUploadSvg from '@mdi/svg/svg/file-upload-outline.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport DeleteSvg from '@mdi/svg/svg/trash-can-outline.svg?raw';\nimport { getNavigation, View } from '@nextcloud/files';\nimport { loadState } from '@nextcloud/initial-state';\nimport { t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { getContents, isFileRequest } from '../services/SharingService.ts';\nexport const sharesViewId = 'shareoverview';\nexport const sharedWithYouViewId = 'sharingin';\nexport const sharedWithOthersViewId = 'sharingout';\nexport const sharingByLinksViewId = 'sharinglinks';\nexport const deletedSharesViewId = 'deletedshares';\nexport const pendingSharesViewId = 'pendingshares';\nexport const fileRequestViewId = 'filerequest';\n/**\n * Checks if share accept approval required by nextcloud configuration.\n *\n * @return True if share accept approval is required, otherwise false.\n */\nfunction isShareAcceptApprovalRequired() {\n return loadState('files_sharing', 'accept_default', false);\n}\nexport default () => {\n const Navigation = getNavigation();\n Navigation.register(new View({\n id: sharesViewId,\n name: t('files_sharing', 'Shares'),\n caption: t('files_sharing', 'Overview of shared files.'),\n emptyTitle: t('files_sharing', 'No shares'),\n emptyCaption: t('files_sharing', 'Files and folders you shared or have been shared with you will show up here'),\n icon: AccountPlusSvg,\n order: 20,\n columns: [],\n getContents: () => getContents(),\n }));\n Navigation.register(new View({\n id: sharedWithYouViewId,\n name: t('files_sharing', 'Shared with you'),\n caption: t('files_sharing', 'List of files that are shared with you.'),\n emptyTitle: t('files_sharing', 'Nothing shared with you yet'),\n emptyCaption: t('files_sharing', 'Files and folders others shared with you will show up here'),\n icon: AccountSvg,\n order: 1,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(true, false, false, false),\n }));\n // Don't show this view if the user has no storage quota\n const storageStats = loadState('files', 'storageStats', { quota: -1 });\n if (storageStats.quota !== 0) {\n Navigation.register(new View({\n id: sharedWithOthersViewId,\n name: t('files_sharing', 'Shared with others'),\n caption: t('files_sharing', 'List of files that you shared with others.'),\n emptyTitle: t('files_sharing', 'Nothing shared yet'),\n emptyCaption: t('files_sharing', 'Files and folders you shared will show up here'),\n icon: AccountGroupSvg,\n order: 2,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false),\n }));\n }\n Navigation.register(new View({\n id: sharingByLinksViewId,\n name: t('files_sharing', 'Shared by link'),\n caption: t('files_sharing', 'List of files that are shared by link.'),\n emptyTitle: t('files_sharing', 'No shared links'),\n emptyCaption: t('files_sharing', 'Files and folders you shared by link will show up here'),\n icon: LinkSvg,\n order: 3,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [ShareType.Link]),\n }));\n Navigation.register(new View({\n id: fileRequestViewId,\n name: t('files_sharing', 'File requests'),\n caption: t('files_sharing', 'List of file requests.'),\n emptyTitle: t('files_sharing', 'No file requests'),\n emptyCaption: t('files_sharing', 'File requests you have created will show up here'),\n icon: FileUploadSvg,\n order: 4,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, true, false, false, [ShareType.Link, ShareType.Email])\n .then(({ folder, contents }) => {\n return {\n folder,\n contents: contents.filter((node) => isFileRequest(node.attributes?.['share-attributes'] || [])),\n };\n }),\n }));\n Navigation.register(new View({\n id: deletedSharesViewId,\n name: t('files_sharing', 'Deleted shares'),\n caption: t('files_sharing', 'List of shares you left.'),\n emptyTitle: t('files_sharing', 'No deleted shares'),\n emptyCaption: t('files_sharing', 'Shares you have left will show up here'),\n icon: DeleteSvg,\n order: 5,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, false, true),\n }));\n if (!isShareAcceptApprovalRequired()) {\n return;\n }\n Navigation.register(new View({\n id: pendingSharesViewId,\n name: t('files_sharing', 'Pending shares'),\n caption: t('files_sharing', 'List of unapproved shares.'),\n emptyTitle: t('files_sharing', 'No pending shares'),\n emptyCaption: t('files_sharing', 'Shares you have received but not approved will show up here'),\n icon: AccountClockSvg,\n order: 6,\n parent: sharesViewId,\n columns: [],\n getContents: () => getContents(false, false, true, false),\n }));\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport CheckSvg from '@mdi/svg/svg/check.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { pendingSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'accept-share',\n displayName: ({ nodes }) => n('files_sharing', 'Accept share', 'Accept shares', nodes.length),\n iconSvgInline: () => CheckSvg,\n enabled: ({ nodes, view }) => nodes.length > 0 && view.id === pendingSharesViewId,\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const isRemote = !!node.attributes.remote;\n const url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase: isRemote ? 'remote_shares' : 'shares',\n id: node.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({\n nodes: [node],\n view,\n folder,\n contents,\n })));\n },\n order: 1,\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { DefaultType, FileType } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { sharedWithOthersViewId, sharedWithYouViewId, sharesViewId, sharingByLinksViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'files_sharing:open-in-files',\n displayName: () => t('files_sharing', 'Open in Files'),\n iconSvgInline: () => '',\n enabled: ({ view }) => [\n sharesViewId,\n sharedWithYouViewId,\n sharedWithOthersViewId,\n sharingByLinksViewId,\n // Deleted and pending shares are not\n // accessible in the files app.\n ].includes(view.id),\n async exec({ nodes }) {\n const isFolder = nodes[0].type === FileType.Folder;\n window.OCP.Files.Router.goToRoute(null, // use default route\n {\n view: 'files',\n fileid: String(nodes[0].fileid),\n }, {\n // If this node is a folder open the folder in files\n dir: isFolder ? nodes[0].path : nodes[0].dirname,\n // otherwise if this is a file, we should open it\n openfile: isFolder ? undefined : 'true',\n });\n return null;\n },\n // Before openFolderAction\n order: -1000,\n default: DefaultType.HIDDEN,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport CloseSvg from '@mdi/svg/svg/close.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { ShareType } from '@nextcloud/sharing';\nimport { pendingSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'reject-share',\n displayName: ({ nodes }) => n('files_sharing', 'Reject share', 'Reject shares', nodes.length),\n iconSvgInline: () => CloseSvg,\n enabled: ({ nodes, view }) => {\n if (view.id !== pendingSharesViewId) {\n return false;\n }\n if (nodes.length === 0) {\n return false;\n }\n // disable rejecting group shares from the pending list because they anyway\n // land back into that same list after rejecting them\n if (nodes.some((node) => node.attributes.remote_id\n && node.attributes.share_type === ShareType.RemoteGroup)) {\n return false;\n }\n return true;\n },\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const isRemote = !!node.attributes.remote;\n const shareBase = isRemote ? 'remote_shares' : 'shares';\n const id = node.id;\n let url;\n if (node.attributes.accepted === 0) {\n url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/pending/{id}', {\n shareBase,\n id,\n });\n }\n else {\n url = generateOcsUrl('apps/files_sharing/api/v1/{shareBase}/{id}', {\n shareBase,\n id,\n });\n }\n await axios.delete(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({ nodes: [node], view, folder, contents })));\n },\n order: 2,\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport ArrowULeftTopSvg from '@mdi/svg/svg/arrow-u-left-top.svg?raw';\nimport axios from '@nextcloud/axios';\nimport { emit } from '@nextcloud/event-bus';\nimport { translatePlural as n } from '@nextcloud/l10n';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport { deletedSharesViewId } from '../files_views/shares.ts';\nexport const action = {\n id: 'restore-share',\n displayName: ({ nodes }) => n('files_sharing', 'Restore share', 'Restore shares', nodes.length),\n iconSvgInline: () => ArrowULeftTopSvg,\n enabled: ({ nodes, view }) => nodes.length > 0 && view.id === deletedSharesViewId,\n async exec({ nodes }) {\n try {\n const node = nodes[0];\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares/{id}', {\n id: node.id,\n });\n await axios.post(url);\n // Remove from current view\n emit('files:node:deleted', node);\n return true;\n }\n catch {\n return false;\n }\n },\n async execBatch({ nodes, view, folder, contents }) {\n return Promise.all(nodes.map((node) => this.exec({ nodes: [node], view, folder, contents })));\n },\n order: 1,\n inline: () => true,\n};\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./sharingStatusAction.scss\";\n export default content && content.locals ? content.locals : undefined;\n","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport AccountGroupSvg from '@mdi/svg/svg/account-group-outline.svg?raw';\nimport AccountPlusSvg from '@mdi/svg/svg/account-plus-outline.svg?raw';\nimport LinkSvg from '@mdi/svg/svg/link.svg?raw';\nimport { getCurrentUser } from '@nextcloud/auth';\nimport { showError } from '@nextcloud/dialogs';\nimport { getSidebar, Permission } from '@nextcloud/files';\nimport { translate as t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport CircleSvg from '../../../../core/img/apps/circles.svg?raw';\nimport { generateAvatarSvg } from '../utils/AccountIcon.ts';\nimport './sharingStatusAction.scss';\n/**\n * Check if the node is external (federated)\n *\n * @param node - The node to check\n */\nfunction isExternal(node) {\n return node.attributes?.['is-federated'] ?? false;\n}\nexport const ACTION_SHARING_STATUS = 'sharing-status';\nexport const action = {\n id: ACTION_SHARING_STATUS,\n displayName({ nodes }) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n if (shareTypes.length > 0\n || (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return t('files_sharing', 'Shared');\n }\n return '';\n },\n title({ nodes }) {\n const node = nodes[0];\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n const ownerDisplayName = node?.attributes?.['owner-display-name'];\n return t('files_sharing', 'Shared by {ownerDisplayName}', { ownerDisplayName });\n }\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n if (shareTypes.length > 1) {\n return t('files_sharing', 'Shared multiple times with different people');\n }\n const sharees = node.attributes.sharees?.sharee;\n if (!sharees) {\n // No sharees so just show the default message to create a new share\n return t('files_sharing', 'Sharing options');\n }\n const sharee = [sharees].flat()[0]; // the property is sometimes weirdly normalized, so we need to compensate\n switch (sharee?.type) {\n case ShareType.User:\n return t('files_sharing', 'Shared with {user}', { user: sharee['display-name'] });\n case ShareType.Group:\n return t('files_sharing', 'Shared with group {group}', { group: sharee['display-name'] ?? sharee.id });\n default:\n return t('files_sharing', 'Shared with others');\n }\n },\n iconSvgInline({ nodes }) {\n const node = nodes[0];\n const shareTypes = Object.values(node?.attributes?.['share-types'] || {}).flat();\n // Mixed share types\n if (Array.isArray(node.attributes?.['share-types']) && node.attributes?.['share-types'].length > 1) {\n return AccountPlusSvg;\n }\n // Link shares\n if (shareTypes.includes(ShareType.Link)\n || shareTypes.includes(ShareType.Email)) {\n return LinkSvg;\n }\n // Group shares\n if (shareTypes.includes(ShareType.Group)\n || shareTypes.includes(ShareType.RemoteGroup)) {\n return AccountGroupSvg;\n }\n // Circle shares\n if (shareTypes.includes(ShareType.Team)) {\n return CircleSvg;\n }\n if (node.owner && (node.owner !== getCurrentUser()?.uid || isExternal(node))) {\n return generateAvatarSvg(node.owner, isExternal(node));\n }\n return AccountPlusSvg;\n },\n enabled({ nodes }) {\n if (nodes.length !== 1) {\n return false;\n }\n // Do not leak information about users to public shares\n if (isPublicShare()) {\n return false;\n }\n const node = nodes[0];\n const shareTypes = node.attributes?.['share-types'];\n const isMixed = Array.isArray(shareTypes) && shareTypes.length > 0;\n // If the node is shared multiple times with\n // different share types to the current user\n if (isMixed) {\n return true;\n }\n // If the node is shared by someone else\n if (node.owner !== getCurrentUser()?.uid || isExternal(node)) {\n return true;\n }\n // You need share permissions to share this file\n // and read permissions to see the sidebar\n return (node.permissions & Permission.SHARE) !== 0\n && (node.permissions & Permission.READ) !== 0;\n },\n async exec({ nodes }) {\n // You need read permissions to see the sidebar\n const node = nodes[0];\n if ((node.permissions & Permission.READ) !== 0) {\n const sidebar = getSidebar();\n sidebar.open(node, 'sharing');\n return null;\n }\n // Should not happen as the enabled check should prevent this\n // leaving it here for safety or in case someone calls this action directly\n showError(t('files_sharing', 'You do not have enough permissions to share this file.'));\n return null;\n },\n inline: () => true,\n};\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { generateUrl } from '@nextcloud/router';\n/**\n *\n */\nfunction isDarkMode() {\n return window?.matchMedia?.('(prefers-color-scheme: dark)')?.matches === true\n || document.querySelector('[data-themes*=dark]') !== null;\n}\n/**\n *\n * @param userId\n * @param isGuest\n */\nexport function generateAvatarSvg(userId, isGuest = false) {\n // normal avatar url: /avatar/{userId}/32?guestFallback=true\n // dark avatar url: /avatar/{userId}/32/dark?guestFallback=true\n // guest avatar url: /avatar/guest/{userId}/32\n // guest dark avatar url: /avatar/guest/{userId}/32/dark\n const basePath = isGuest ? `/avatar/guest/${userId}` : `/avatar/${userId}`;\n const darkModePath = isDarkMode() ? '/dark' : '';\n const guestFallback = isGuest ? '' : '?guestFallback=true';\n const url = `${basePath}/32${darkModePath}${guestFallback}`;\n const avatarUrl = generateUrl(url, { userId });\n return `\n\t\t\n\t`;\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nconst rawUid = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user')\nconst displayName = document\n\t.getElementsByTagName('head')[0]\n\t.getAttribute('data-user-displayname')\n\nexport const currentUser = rawUid !== undefined ? rawUid : false\n\n/**\n *\n */\nexport function getCurrentUser() {\n\treturn {\n\t\tuid: currentUser,\n\t\tdisplayName,\n\t}\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{class:_vm.$style.fileListFilterAccount},[(_setup.availableAccounts.length > 1)?_c(_setup.NcTextField,{attrs:{\"type\":\"search\",\"label\":_setup.t('files_sharing', 'Filter accounts')},model:{value:(_setup.accountFilter),callback:function ($$v) {_setup.accountFilter=$$v},expression:\"accountFilter\"}}):_vm._e(),_vm._v(\" \"),_vm._l((_setup.shownAccounts),function(account){return _c(_setup.NcButton,{key:account.id,attrs:{\"alignment\":\"start\",\"pressed\":_setup.selectedAccounts.includes(account),\"variant\":\"tertiary\",\"wide\":\"\"},on:{\"update:pressed\":function($event){return _setup.toggleAccount(account.id, $event)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c(_setup.NcAvatar,_vm._b({class:_vm.$style.fileListFilterAccount__avatar,attrs:{\"size\":24,\"disable-menu\":\"\",\"hide-status\":\"\"}},'NcAvatar',account,false))]},proxy:true}],null,true)},[_vm._v(\"\\n\\t\\t\"+_vm._s(account.displayName)+\"\\n\\t\\t\"),(account.id === _setup.currentUserId)?_c('span',{class:_vm.$style.fileListFilterAccount__currentUser},[_vm._v(\"\\n\\t\\t\\t(\"+_vm._s(_setup.t('files', 'you'))+\")\\n\\t\\t\")]):_vm._e()])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FileListFilterAccount.vue?vue&type=template&id=ec2dd1f8\"\nimport script from \"./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./FileListFilterAccount.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./FileListFilterAccount.vue?vue&type=style&index=0&id=ec2dd1f8&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport svgAccountMultipleOutline from '@mdi/svg/svg/account-multiple-outline.svg?raw';\nimport { subscribe } from '@nextcloud/event-bus';\nimport { FileListFilter, registerFileListFilter } from '@nextcloud/files';\nimport { t } from '@nextcloud/l10n';\nimport { ShareType } from '@nextcloud/sharing';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport wrap from '@vue/web-component-wrapper';\nimport Vue from 'vue';\nimport FileListFilterAccount from '../components/FileListFilterAccount.vue';\n// once files_sharing is migrated to the new frontend use the import instead:\n// import { TRASHBIN_VIEW_ID } from '../../../files_trashbin/src/files_views/trashbinView.ts'\nconst TRASHBIN_VIEW_ID = 'trashbin';\nconst tagName = 'files_sharing-file-list-filter-account';\n/**\n * File list filter to filter by owner / sharee\n */\nclass AccountFilter extends FileListFilter {\n #availableAccounts;\n #filterAccounts;\n displayName = t('files_sharing', 'People');\n iconSvgInline = svgAccountMultipleOutline;\n tagName = tagName;\n constructor() {\n super('files_sharing:account', 100);\n this.#availableAccounts = [];\n subscribe('files:list:updated', ({ contents }) => {\n this.updateAvailableAccounts(contents);\n });\n }\n get availableAccounts() {\n return this.#availableAccounts;\n }\n get filterAccounts() {\n return this.#filterAccounts;\n }\n filter(nodes) {\n if (!this.#filterAccounts || this.#filterAccounts.length === 0) {\n return nodes;\n }\n const userIds = this.#filterAccounts.map(({ uid }) => uid);\n // Filter if the owner of the node is in the list of filtered accounts\n return nodes.filter((node) => {\n if (window.OCP.Files.Router.params.view === TRASHBIN_VIEW_ID) {\n const deletedBy = node.attributes?.['trashbin-deleted-by-id'];\n if (deletedBy && userIds.includes(deletedBy)) {\n return true;\n }\n return false;\n }\n // if the owner matches\n if (node.owner && userIds.includes(node.owner)) {\n return true;\n }\n // Or any of the sharees (if only one share this will be an object, otherwise an array. So using `.flat()` to make it always an array)\n const sharees = node.attributes.sharees?.sharee;\n if (sharees && [sharees].flat().some(({ id }) => userIds.includes(id))) {\n return true;\n }\n // If the node provides no information lets keep it\n if (!node.owner && !sharees) {\n return true;\n }\n // Not a valid node for the current filter\n return false;\n });\n }\n reset() {\n this.dispatchEvent(new CustomEvent('reset'));\n }\n /**\n * Set accounts that should be filtered.\n *\n * @param accounts - Account to filter or undefined if inactive.\n */\n setAccounts(accounts) {\n this.#filterAccounts = accounts;\n let chips = [];\n if (this.#filterAccounts && this.#filterAccounts.length > 0) {\n chips = this.#filterAccounts.map(({ displayName, uid }) => ({\n text: displayName,\n user: uid,\n onclick: () => this.dispatchEvent(new CustomEvent('deselect', { detail: uid })),\n }));\n }\n this.updateChips(chips);\n this.filterUpdated();\n }\n /**\n * Update the accounts owning nodes or have nodes shared to them.\n *\n * @param nodes - The current content of the file list.\n */\n updateAvailableAccounts(nodes) {\n const available = new Map();\n for (const node of nodes) {\n const owner = node.owner;\n if (owner && !available.has(owner)) {\n available.set(owner, {\n uid: owner,\n displayName: node.attributes['owner-display-name'] ?? node.owner,\n });\n }\n // ensure sharees is an array (if only one share then it is just an object)\n const sharees = [node.attributes.sharees?.sharee].flat().filter(Boolean);\n for (const sharee of [sharees].flat()) {\n // Skip link shares and other without user\n if (sharee.id === '') {\n continue;\n }\n if (sharee.type !== ShareType.User && sharee.type !== ShareType.Remote) {\n continue;\n }\n // Add if not already added\n if (!available.has(sharee.id)) {\n available.set(sharee.id, {\n uid: sharee.id,\n displayName: sharee['display-name'],\n });\n }\n }\n // lets also handle trashbin\n const deletedBy = node.attributes?.['trashbin-deleted-by-id'];\n if (deletedBy) {\n available.set(deletedBy, {\n uid: deletedBy,\n displayName: node.attributes?.['trashbin-deleted-by-display-name'] || deletedBy,\n });\n }\n }\n this.#availableAccounts = [...available.values()];\n this.dispatchEvent(new CustomEvent('accounts-updated'));\n }\n}\n/**\n * Register the file list filter by owner or sharees\n */\nexport function registerAccountFilter() {\n if (isPublicShare()) {\n // We do not show the filter on public pages - it makes no sense\n return;\n }\n const WrappedComponent = wrap(Vue, FileListFilterAccount);\n // In Vue 2, wrap doesn't support disabling shadow :(\n // Disable with a hack\n Object.defineProperty(WrappedComponent.prototype, 'attachShadow', {\n value() {\n return this;\n },\n });\n Object.defineProperty(WrappedComponent.prototype, 'shadowRoot', {\n get() {\n return this;\n },\n });\n customElements.define(tagName, WrappedComponent);\n registerFileListFilter(new AccountFilter());\n}\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport FileUploadSvg from '@mdi/svg/svg/file-upload-outline.svg?raw';\nimport { t } from '@nextcloud/l10n';\nimport { isPublicShare } from '@nextcloud/sharing/public';\nimport { spawnDialog } from '@nextcloud/vue/functions/dialog';\nimport { defineAsyncComponent } from 'vue';\nimport Config from '../services/ConfigService.ts';\nconst sharingConfig = new Config();\nconst NewFileRequestDialogVue = defineAsyncComponent(() => import('../components/NewFileRequestDialog.vue'));\nexport const EntryId = 'file-request';\nexport const entry = {\n id: EntryId,\n displayName: t('files_sharing', 'Create file request'),\n iconSvgInline: FileUploadSvg,\n order: 10,\n enabled() {\n // not on public shares\n if (isPublicShare()) {\n return false;\n }\n if (!sharingConfig.isPublicUploadEnabled) {\n return false;\n }\n // We will check for the folder permission on the dialog\n return sharingConfig.isPublicShareAllowed;\n },\n async handler(context, content) {\n spawnDialog(NewFileRequestDialogVue, {\n context,\n content,\n });\n },\n};\n","/*!\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { addNewFileMenuEntry, registerFileAction } from '@nextcloud/files';\nimport { registerDavProperty } from '@nextcloud/files/dav';\nimport { action as acceptShareAction } from './files_actions/acceptShareAction.ts';\nimport { action as openInFilesAction } from './files_actions/openInFilesAction.ts';\nimport { action as rejectShareAction } from './files_actions/rejectShareAction.ts';\nimport { action as restoreShareAction } from './files_actions/restoreShareAction.ts';\nimport { action as sharingStatusAction } from './files_actions/sharingStatusAction.ts';\nimport { registerAccountFilter } from './files_filters/AccountFilter.ts';\nimport registerNoteToRecipient from './files_headers/noteToRecipient.ts';\nimport { entry as newFileRequest } from './files_newMenu/newFileRequest.ts';\nimport registerSharingViews from './files_views/shares.ts';\nregisterSharingViews();\naddNewFileMenuEntry(newFileRequest);\nregisterDavProperty('nc:note', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:sharees', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:hide-download', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('nc:share-attributes', { nc: 'http://nextcloud.org/ns' });\nregisterDavProperty('oc:share-types', { oc: 'http://owncloud.org/ns' });\nregisterDavProperty('ocs:share-permissions', { ocs: 'http://open-collaboration-services.org/ns' });\nregisterFileAction(acceptShareAction);\nregisterFileAction(openInFilesAction);\nregisterFileAction(rejectShareAction);\nregisterFileAction(restoreShareAction);\nregisterFileAction(sharingStatusAction);\nregisterAccountFilter();\n// Add \"note to recipient\" message\nregisterNoteToRecipient();\n","/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { registerFileListHeader } from '@nextcloud/files';\nimport Vue from 'vue';\n/**\n * Register the \"note to recipient\" as a files list header\n */\nexport default function registerNoteToRecipient() {\n let FilesHeaderNoteToRecipient;\n let instance;\n registerFileListHeader({\n id: 'note-to-recipient',\n order: 0,\n // Always if there is a note\n enabled: (folder) => Boolean(folder.attributes.note),\n // Update the root folder if needed\n updated: (folder) => {\n if (instance) {\n instance.updateFolder(folder);\n }\n },\n // render simply spawns the component\n render: async (el, folder) => {\n if (FilesHeaderNoteToRecipient === undefined) {\n const { default: component } = await import('../views/FilesHeaderNoteToRecipient.vue');\n FilesHeaderNoteToRecipient = Vue.extend(component);\n }\n instance = new FilesHeaderNoteToRecipient().$mount(el);\n instance.updateFolder(folder);\n },\n });\n}\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getCapabilities } from '@nextcloud/capabilities';\nimport { loadState } from '@nextcloud/initial-state';\nexport default class Config {\n _capabilities;\n constructor() {\n this._capabilities = getCapabilities();\n }\n /**\n * Get default share permissions, if any\n */\n get defaultPermissions() {\n return this._capabilities.files_sharing?.default_permissions;\n }\n /**\n * Should SHARE permission be excluded from \"Allow editing\" bundled permissions\n */\n get excludeReshareFromEdit() {\n return this._capabilities.files_sharing?.exclude_reshare_from_edit === true;\n }\n /**\n * Is public upload allowed on link shares ?\n * This covers File request and Full upload/edit option.\n */\n get isPublicUploadEnabled() {\n return this._capabilities.files_sharing?.public?.upload === true;\n }\n /**\n * Get the federated sharing documentation link\n */\n get federatedShareDocLink() {\n return window.OC.appConfig.core.federatedCloudShareDoc;\n }\n /**\n * Get the default link share expiration date\n */\n get defaultExpirationDate() {\n if (this.isDefaultExpireDateEnabled && this.defaultExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultExpireDate));\n }\n return null;\n }\n /**\n * Get the default internal expiration date\n */\n get defaultInternalExpirationDate() {\n if (this.isDefaultInternalExpireDateEnabled && this.defaultInternalExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultInternalExpireDate));\n }\n return null;\n }\n /**\n * Get the default remote expiration date\n */\n get defaultRemoteExpirationDateString() {\n if (this.isDefaultRemoteExpireDateEnabled && this.defaultRemoteExpireDate !== null) {\n return new Date(new Date().setDate(new Date().getDate() + this.defaultRemoteExpireDate));\n }\n return null;\n }\n /**\n * Are link shares password-enforced ?\n */\n get enforcePasswordForPublicLink() {\n return window.OC.appConfig.core.enforcePasswordForPublicLink === true;\n }\n /**\n * Is password asked by default on link shares ?\n */\n get enableLinkPasswordByDefault() {\n return window.OC.appConfig.core.enableLinkPasswordByDefault === true;\n }\n /**\n * Is link shares expiration enforced ?\n */\n get isDefaultExpireDateEnforced() {\n return window.OC.appConfig.core.defaultExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new link shares ?\n */\n get isDefaultExpireDateEnabled() {\n return window.OC.appConfig.core.defaultExpireDateEnabled === true;\n }\n /**\n * Is internal shares expiration enforced ?\n */\n get isDefaultInternalExpireDateEnforced() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new internal shares ?\n */\n get isDefaultInternalExpireDateEnabled() {\n return window.OC.appConfig.core.defaultInternalExpireDateEnabled === true;\n }\n /**\n * Is remote shares expiration enforced ?\n */\n get isDefaultRemoteExpireDateEnforced() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnforced === true;\n }\n /**\n * Is there a default expiration date for new remote shares ?\n */\n get isDefaultRemoteExpireDateEnabled() {\n return window.OC.appConfig.core.defaultRemoteExpireDateEnabled === true;\n }\n /**\n * Are users on this server allowed to send shares to other servers ?\n */\n get isRemoteShareAllowed() {\n return window.OC.appConfig.core.remoteShareAllowed === true;\n }\n /**\n * Is federation enabled ?\n */\n get isFederationEnabled() {\n return this._capabilities?.files_sharing?.federation?.outgoing === true;\n }\n /**\n * Is public sharing enabled ?\n */\n get isPublicShareAllowed() {\n return this._capabilities?.files_sharing?.public?.enabled === true;\n }\n /**\n * Is sharing my mail (link share) enabled ?\n */\n get isMailShareAllowed() {\n return this._capabilities?.files_sharing?.sharebymail?.enabled === true\n && this.isPublicShareAllowed === true;\n }\n /**\n * Get the default days to link shares expiration\n */\n get defaultExpireDate() {\n return window.OC.appConfig.core.defaultExpireDate;\n }\n /**\n * Get the default days to internal shares expiration\n */\n get defaultInternalExpireDate() {\n return window.OC.appConfig.core.defaultInternalExpireDate;\n }\n /**\n * Get the default days to remote shares expiration\n */\n get defaultRemoteExpireDate() {\n return window.OC.appConfig.core.defaultRemoteExpireDate;\n }\n /**\n * Is resharing allowed ?\n */\n get isResharingAllowed() {\n return window.OC.appConfig.core.resharingAllowed === true;\n }\n /**\n * Is password enforced for mail shares ?\n */\n get isPasswordForMailSharesRequired() {\n return this._capabilities.files_sharing?.sharebymail?.password?.enforced === true;\n }\n /**\n * Always show the email or userid unique sharee label if enabled by the admin\n */\n get shouldAlwaysShowUnique() {\n return this._capabilities.files_sharing?.sharee?.always_show_unique === true;\n }\n /**\n * Is sharing with groups allowed ?\n */\n get allowGroupSharing() {\n return window.OC.appConfig.core.allowGroupSharing === true;\n }\n /**\n * Get the maximum results of a share search\n */\n get maxAutocompleteResults() {\n return parseInt(window.OC.config['sharing.maxAutocompleteResults'], 10) || 25;\n }\n /**\n * Get the minimal string length\n * to initiate a share search\n */\n get minSearchStringLength() {\n return parseInt(window.OC.config['sharing.minSearchStringLength'], 10) || 0;\n }\n /**\n * Get the password policy configuration\n */\n get passwordPolicy() {\n return this._capabilities?.password_policy || {};\n }\n /**\n * Returns true if custom tokens are allowed\n */\n get allowCustomTokens() {\n return this._capabilities?.files_sharing?.public?.custom_tokens;\n }\n /**\n * Show federated shares as internal shares\n *\n * @return\n */\n get showFederatedSharesAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesAsInternal', false);\n }\n /**\n * Show federated shares to trusted servers as internal shares\n *\n * @return\n */\n get showFederatedSharesToTrustedServersAsInternal() {\n return loadState('files_sharing', 'showFederatedSharesToTrustedServersAsInternal', false);\n }\n /**\n * Show the external share ui\n */\n get showExternalSharing() {\n return loadState('files_sharing', 'showExternalSharing', true);\n }\n}\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// TODO: Fix this instead of disabling ESLint!!!\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { getCurrentUser } from '@nextcloud/auth';\nimport axios from '@nextcloud/axios';\nimport { File, Folder, Permission } from '@nextcloud/files';\nimport { getRemoteURL, getRootPath } from '@nextcloud/files/dav';\nimport { generateOcsUrl } from '@nextcloud/router';\nimport logger from './logger.ts';\nconst headers = {\n 'Content-Type': 'application/json',\n};\n/**\n *\n * @param ocsEntry\n * @param unmounted whether the share is not mounted into the filesystem (pending or deleted)\n */\nasync function ocsEntryToNode(ocsEntry, unmounted = false) {\n try {\n // Federated share handling\n if (ocsEntry?.remote_id !== undefined) {\n if (!ocsEntry.mimetype) {\n const mime = (await import('mime')).default;\n // This won't catch files without an extension, but this is the best we can do\n ocsEntry.mimetype = mime.getType(ocsEntry.name);\n }\n const type = ocsEntry.type === 'dir' ? 'folder' : ocsEntry.type;\n ocsEntry.item_type = type || (ocsEntry.mimetype ? 'file' : 'folder');\n // different naming for remote shares\n ocsEntry.item_mtime = ocsEntry.mtime;\n ocsEntry.file_target = ocsEntry.file_target || ocsEntry.mountpoint;\n if (ocsEntry.file_target.includes('TemporaryMountPointName')) {\n ocsEntry.file_target = ocsEntry.name;\n }\n // If the share is not accepted yet we don't know which permissions it will have\n if (!ocsEntry.accepted) {\n // Need to set permissions to NONE for federated shares\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n ocsEntry.uid_owner = ocsEntry.owner;\n // TODO: have the real display name stored somewhere\n ocsEntry.displayname_owner = ocsEntry.owner;\n }\n // Pending and deleted shares are not mounted into the user's filesystem,\n // so no file operation can act on them until they are accepted or restored.\n if (unmounted) {\n ocsEntry.item_permissions = Permission.NONE;\n ocsEntry.permissions = Permission.NONE;\n }\n const isFolder = ocsEntry?.item_type === 'folder';\n const hasPreview = ocsEntry?.has_preview === true;\n const Node = isFolder ? Folder : File;\n // If this is an external share that is not yet accepted,\n // we don't have an id. We can fallback to the row id temporarily\n // local shares (this server) use `file_source`, but remote shares (federated) use `file_id`\n const fileid = ocsEntry.file_source || ocsEntry.file_id || ocsEntry.id;\n // Generate path and strip double slashes\n const path = ocsEntry.path || ocsEntry.file_target || ocsEntry.name;\n const source = `${getRemoteURL()}${getRootPath()}/${path.replace(/^\\/+/, '')}`;\n let mtime = ocsEntry.item_mtime ? new Date((ocsEntry.item_mtime) * 1000) : undefined;\n // Prefer share time if more recent than item mtime\n if (ocsEntry?.stime > (ocsEntry?.item_mtime || 0)) {\n mtime = new Date((ocsEntry.stime) * 1000);\n }\n let sharees;\n if ('share_with' in ocsEntry) {\n sharees = {\n sharee: {\n id: ocsEntry.share_with,\n 'display-name': ocsEntry.share_with_displayname || ocsEntry.share_with,\n type: ocsEntry.share_type,\n },\n };\n }\n return new Node({\n id: fileid,\n source,\n owner: ocsEntry?.uid_owner,\n mime: ocsEntry?.mimetype || 'application/octet-stream',\n mtime,\n size: ocsEntry?.item_size ?? undefined,\n permissions: ocsEntry?.item_permissions || ocsEntry?.permissions,\n root: getRootPath(),\n attributes: {\n ...ocsEntry,\n 'has-preview': hasPreview,\n 'hide-download': ocsEntry?.hide_download === 1,\n // Also check the sharingStatusAction.ts code\n 'owner-id': ocsEntry?.uid_owner,\n 'owner-display-name': ocsEntry?.displayname_owner,\n 'share-types': ocsEntry?.share_type,\n 'share-attributes': ocsEntry?.attributes || '[]',\n sharees,\n favorite: ocsEntry?.tags?.includes(window.OC.TAG_FAVORITE) ? 1 : 0,\n },\n });\n }\n catch (error) {\n logger.error('Error while parsing OCS entry', { error });\n return null;\n }\n}\n/**\n *\n * @param shareWithMe\n */\nfunction getShares(shareWithMe = false) {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares');\n return axios.get(url, {\n headers,\n params: {\n shared_with_me: shareWithMe,\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getSharedWithYou() {\n return getShares(true);\n}\n/**\n *\n */\nfunction getSharedWithOthers() {\n return getShares();\n}\n/**\n *\n */\nfunction getRemoteShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getPendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getRemotePendingShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/remote_shares/pending');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n *\n */\nfunction getDeletedShares() {\n const url = generateOcsUrl('apps/files_sharing/api/v1/deletedshares');\n return axios.get(url, {\n headers,\n params: {\n include_tags: true,\n },\n });\n}\n/**\n * Check if a file request is enabled\n *\n * @param attributes the share attributes json-encoded array\n */\nexport function isFileRequest(attributes = '[]') {\n const isFileRequest = (attribute) => {\n return attribute.scope === 'fileRequest' && attribute.key === 'enabled' && attribute.value === true;\n };\n try {\n const attributesArray = JSON.parse(attributes);\n return attributesArray.some(isFileRequest);\n }\n catch (error) {\n logger.error('Error while parsing share attributes', { error });\n return false;\n }\n}\n/**\n * Group an array of objects (here Nodes) by a key\n * and return an array of arrays of them.\n *\n * @param nodes Nodes to group\n * @param key The attribute to group by\n */\nfunction groupBy(nodes, key) {\n return Object.values(nodes.reduce(function (acc, curr) {\n (acc[curr[key]] = acc[curr[key]] || []).push(curr);\n return acc;\n }, {}));\n}\n/**\n *\n * @param sharedWithYou\n * @param sharedWithOthers\n * @param pendingShares\n * @param deletedshares\n * @param filterTypes\n */\nexport async function getContents(sharedWithYou = true, sharedWithOthers = true, pendingShares = false, deletedshares = false, filterTypes = []) {\n const requests = [];\n if (sharedWithYou) {\n requests.push({ promise: getSharedWithYou(), unmounted: false }, { promise: getRemoteShares(), unmounted: false });\n }\n if (sharedWithOthers) {\n requests.push({ promise: getSharedWithOthers(), unmounted: false });\n }\n if (pendingShares) {\n requests.push({ promise: getPendingShares(), unmounted: true }, { promise: getRemotePendingShares(), unmounted: true });\n }\n if (deletedshares) {\n requests.push({ promise: getDeletedShares(), unmounted: true });\n }\n const responses = await Promise.all(requests.map(({ promise }) => promise));\n const data = responses.flatMap((response, index) => response.data.ocs.data\n .map((entry) => ({ entry, unmounted: requests[index].unmounted })));\n let contents = (await Promise.all(data.map(({ entry, unmounted }) => ocsEntryToNode(entry, unmounted))))\n .filter((node) => node !== null);\n if (filterTypes.length > 0) {\n contents = contents.filter((node) => filterTypes.includes(node.attributes?.share_type));\n }\n // Merge duplicate shares and group their attributes\n // Also check the sharingStatusAction.ts code\n contents = groupBy(contents, 'source').map((nodes) => {\n const node = nodes[0];\n node.attributes['share-types'] = nodes.map((node) => node.attributes['share-types']);\n return node;\n });\n return {\n folder: new Folder({\n id: 0,\n source: `${getRemoteURL()}${getRootPath()}`,\n owner: getCurrentUser()?.uid || null,\n root: getRootPath(),\n }),\n contents,\n };\n}\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('files_sharing')\n .detectUser()\n .build();\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action-items>.files-list__row-action-sharing-status{padding-inline:0 !important}.action-items>.files-list__row-action-sharing-status .button-vue__wrapper{flex-direction:row-reverse;gap:var(--default-grid-baseline)}svg.sharing-status__avatar{height:var(--button-inner-size, 32px) !important;width:var(--button-inner-size, 32px) !important;max-height:var(--button-inner-size, 32px) !important;max-width:var(--button-inner-size, 32px) !important;border-radius:var(--button-inner-size, 32px);overflow:hidden}.files-list__row-action-sharing-status .button-vue__text{color:var(--color-primary-element)}.files-list__row-action-sharing-status .button-vue__icon{color:var(--color-primary-element)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/files_actions/sharingStatusAction.scss\"],\"names\":[],\"mappings\":\"AAMA,qDAEC,2BAAA,CAEA,0EAEC,0BAAA,CACA,gCAAA,CAIF,2BACC,gDAAA,CACA,+CAAA,CACA,oDAAA,CACA,mDAAA,CACA,4CAAA,CACA,eAAA,CAIA,yDACC,kCAAA,CAED,yDACC,kCAAA\",\"sourcesContent\":[\"/*\\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\\n * SPDX-License-Identifier: AGPL-3.0-or-later\\n */\\n\\n // Only when rendered inline, when not enough space, this is put in the menu\\n.action-items > .files-list__row-action-sharing-status {\\n\\t// align icons with text-less inline actions\\n\\tpadding-inline: 0 !important;\\n\\n\\t.button-vue__wrapper {\\n\\t\\t// put icon at the end of the button\\n\\t\\tflex-direction: row-reverse;\\n\\t\\tgap: var(--default-grid-baseline);\\n\\t}\\n}\\n\\nsvg.sharing-status__avatar {\\n\\theight: var(--button-inner-size, 32px) !important;\\n\\twidth: var(--button-inner-size, 32px) !important;\\n\\tmax-height: var(--button-inner-size, 32px) !important;\\n\\tmax-width: var(--button-inner-size, 32px) !important;\\n\\tborder-radius: var(--button-inner-size, 32px);\\n\\toverflow: hidden;\\n}\\n\\n.files-list__row-action-sharing-status {\\n\\t.button-vue__text {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n\\t.button-vue__icon {\\n\\t\\tcolor: var(--color-primary-element);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n._fileListFilterAccount_ZW91g {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--default-grid-baseline);\n}\n._fileListFilterAccount__avatar_V0YuN {\n\t/* 24px is the avatar size */\n\tmargin: calc((var(--default-clickable-area) - 24px) / 2);\n}\n._fileListFilterAccount__currentUser_PqQfx {\n\tfont-weight: normal !important;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/files_sharing/src/components/FileListFilterAccount.vue\"],\"names\":[],\"mappings\":\";AA4JA;CACA,aAAA;CACA,sBAAA;CACA,iCAAA;AACA;AAEA;CACA,4BAAA;CACA,wDAAA;AACA;AAEA;CACA,8BAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"fileListFilterAccount\": `_fileListFilterAccount_ZW91g`,\n\t\"fileListFilterAccount__avatar\": `_fileListFilterAccount__avatar_V0YuN`,\n\t\"fileListFilterAccount__currentUser\": `_fileListFilterAccount__currentUser_PqQfx`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import { getCurrentUser, onRequestTokenUpdate, getRequestToken } from \"@nextcloud/auth\";\nimport { generateRemoteUrl } from \"@nextcloud/router\";\nimport { isPublicShare, getSharingToken } from \"@nextcloud/sharing/public\";\nimport { createClient, getPatcher } from \"webdav\";\nimport { P as Permission, s as scopedGlobals, l as logger, c as NodeStatus, a as File, b as Folder } from \"./chunks/folder-29HuacU_.mjs\";\nimport \"@nextcloud/paths\";\n/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction parsePermissions(permString = \"\") {\n let permissions = Permission.NONE;\n if (!permString) {\n return permissions;\n }\n if (permString.includes(\"G\")) {\n permissions |= Permission.READ;\n }\n if (permString.includes(\"W\")) {\n permissions |= Permission.WRITE;\n }\n if (permString.includes(\"CK\")) {\n permissions |= Permission.CREATE;\n }\n if (permString.includes(\"NV\")) {\n permissions |= Permission.UPDATE;\n }\n if (permString.includes(\"D\")) {\n permissions |= Permission.DELETE;\n }\n if (permString.includes(\"R\")) {\n permissions |= Permission.SHARE;\n }\n return permissions;\n}\nconst defaultDavProperties = [\n \"d:getcontentlength\",\n \"d:getcontenttype\",\n \"d:getetag\",\n \"d:getlastmodified\",\n \"d:creationdate\",\n \"d:displayname\",\n \"d:quota-available-bytes\",\n \"d:resourcetype\",\n \"nc:has-preview\",\n \"nc:is-encrypted\",\n \"nc:mount-type\",\n \"oc:comments-unread\",\n \"oc:favorite\",\n \"oc:fileid\",\n \"oc:owner-display-name\",\n \"oc:owner-id\",\n \"oc:permissions\",\n \"oc:size\"\n];\nconst defaultDavNamespaces = {\n d: \"DAV:\",\n nc: \"http://nextcloud.org/ns\",\n oc: \"http://owncloud.org/ns\",\n ocs: \"http://open-collaboration-services.org/ns\"\n};\nfunction registerDavProperty(prop, namespace = { nc: \"http://nextcloud.org/ns\" }) {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n const namespaces = { ...scopedGlobals.davNamespaces, ...namespace };\n if (scopedGlobals.davProperties.find((search) => search === prop)) {\n logger.warn(`${prop} already registered`, { prop });\n return false;\n }\n if (prop.startsWith(\"<\") || prop.split(\":\").length !== 2) {\n logger.error(`${prop} is not valid. See example: 'oc:fileid'`, { prop });\n return false;\n }\n const ns = prop.split(\":\")[0];\n if (!namespaces[ns]) {\n logger.error(`${prop} namespace unknown`, { prop, namespaces });\n return false;\n }\n scopedGlobals.davProperties.push(prop);\n scopedGlobals.davNamespaces = namespaces;\n return true;\n}\nfunction getDavProperties() {\n scopedGlobals.davProperties ??= [...defaultDavProperties];\n return scopedGlobals.davProperties.map((prop) => `<${prop} />`).join(\" \");\n}\nfunction getDavNameSpaces() {\n scopedGlobals.davNamespaces ??= { ...defaultDavNamespaces };\n return Object.keys(scopedGlobals.davNamespaces).map((ns) => `xmlns:${ns}=\"${scopedGlobals.davNamespaces?.[ns]}\"`).join(\" \");\n}\nfunction getDefaultPropfind() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t`;\n}\nfunction getFavoritesReport() {\n return `\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\t\n\t\t\t\t1\n\t\t\t\n\t\t`;\n}\nfunction getRecentSearch(lastModified) {\n return `\n\n\t\n\t\t\n\t\t\t\n\t\t\t\t${getDavProperties()}\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t/files/${getCurrentUser()?.uid}/\n\t\t\t\tinfinity\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\thttpd/unix-directory\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t0\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t${lastModified}\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t\t\n\t\t\t100\n\t\t\t0\n\t\t\n\t\n`;\n}\nfunction getRootPath() {\n if (isPublicShare()) {\n return `/files/${getSharingToken()}`;\n }\n return `/files/${getCurrentUser()?.uid}`;\n}\nconst defaultRootPath = getRootPath();\nfunction getRemoteURL() {\n const url = generateRemoteUrl(\"dav\");\n if (isPublicShare()) {\n return url.replace(\"remote.php\", \"public.php\");\n }\n return url;\n}\nconst defaultRemoteURL = getRemoteURL();\nfunction getClient(remoteURL = defaultRemoteURL, headers = {}) {\n const client = createClient(remoteURL, { headers });\n function setHeaders(token) {\n client.setHeaders({\n ...headers,\n // Add this so the server knows it is an request from the browser\n \"X-Requested-With\": \"XMLHttpRequest\",\n // Inject user auth\n requesttoken: token ?? \"\"\n });\n }\n onRequestTokenUpdate(setHeaders);\n setHeaders(getRequestToken());\n const patcher = getPatcher();\n patcher.patch(\"fetch\", (url, options) => {\n const headers2 = options.headers;\n if (headers2?.method) {\n options.method = headers2.method;\n delete headers2.method;\n }\n return fetch(url, options);\n });\n return client;\n}\nasync function getFavoriteNodes(options = {}) {\n const client = options.client ?? getClient();\n const path = options.path ?? \"/\";\n const davRoot = options.davRoot ?? defaultRootPath;\n const contentsResponse = await client.getDirectoryContents(`${davRoot}${path}`, {\n signal: options.signal,\n details: true,\n data: getFavoritesReport(),\n headers: {\n // see getClient for patched webdav client\n method: \"REPORT\"\n },\n includeSelf: true\n });\n return contentsResponse.data.filter((node) => node.filename !== path).map((result) => resultToNode(result, davRoot));\n}\nfunction resultToNode(node, filesRoot = defaultRootPath, remoteURL = defaultRemoteURL) {\n let userId = getCurrentUser()?.uid;\n if (isPublicShare()) {\n userId = userId ?? \"anonymous\";\n } else if (!userId) {\n throw new Error(\"No user id found\");\n }\n const props = node.props;\n const permissions = parsePermissions(props?.permissions);\n const owner = String(props?.[\"owner-id\"] || userId);\n const id = props.fileid || 0;\n const mtime = new Date(Date.parse(node.lastmod));\n const crtime = new Date(Date.parse(props.creationdate));\n const nodeData = {\n id,\n source: `${remoteURL}${node.filename}`,\n mtime: !isNaN(mtime.getTime()) && mtime.getTime() !== 0 ? mtime : void 0,\n crtime: !isNaN(crtime.getTime()) && crtime.getTime() !== 0 ? crtime : void 0,\n mime: node.mime || \"application/octet-stream\",\n // Manually cast to work around for https://github.com/perry-mitchell/webdav-client/pull/380\n displayname: props.displayname !== void 0 ? String(props.displayname) : void 0,\n size: props?.size || Number.parseInt(props.getcontentlength || \"0\"),\n // The fileid is set to -1 for failed requests\n status: id < 0 ? NodeStatus.FAILED : void 0,\n permissions,\n owner,\n root: filesRoot,\n attributes: {\n ...node,\n ...props,\n hasPreview: props?.[\"has-preview\"]\n }\n };\n delete nodeData.attributes?.props;\n return node.type === \"file\" ? new File(nodeData) : new Folder(nodeData);\n}\nexport {\n defaultDavNamespaces,\n defaultDavProperties,\n defaultRemoteURL,\n defaultRootPath,\n getClient,\n getDavNameSpaces,\n getDavProperties,\n getDefaultPropfind,\n getFavoriteNodes,\n getFavoritesReport,\n getRecentSearch,\n getRemoteURL,\n getRootPath,\n parsePermissions,\n registerDavProperty,\n resultToNode\n};\n//# sourceMappingURL=dav.mjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"853\":\"b82cc31fdab3eebc6e17\",\"857\":\"3d28157955f39376ab2c\",\"1404\":\"e021afe5d02634220086\",\"1526\":\"ad86f3209aa9a10cd835\",\"1598\":\"f14a7598110cd7e779f4\",\"4941\":\"cf6a232432a967125f9f\",\"6087\":\"20ff0344223a1b0febab\",\"6597\":\"278c016b03eadd2eaaa6\",\"7859\":\"f146280447be8fe16f6d\",\"9337\":\"da67b95f927087fcd0b5\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 5928;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5928: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(81382)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","sharesViewId","sharedWithYouViewId","sharedWithOthersViewId","sharingByLinksViewId","deletedSharesViewId","pendingSharesViewId","Navigation","getNavigation","register","View","id","name","t","caption","emptyTitle","emptyCaption","icon","AccountPlusSvg","order","columns","getContents","parent","loadState","quota","AccountGroupSvg","LinkSvg","ShareType","Link","FileUploadSvg","Email","then","folder","contents","filter","node","isFileRequest","attributes","action","displayName","nodes","n","length","iconSvgInline","CheckSvg","enabled","view","exec","isRemote","remote","url","generateOcsUrl","shareBase","axios","post","emit","execBatch","Promise","all","map","this","inline","includes","isFolder","type","FileType","Folder","window","OCP","Files","Router","goToRoute","fileid","String","dir","path","dirname","openfile","undefined","default","DefaultType","HIDDEN","some","remote_id","share_type","RemoteGroup","accepted","delete","options","isExternal","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","Object","values","flat","owner","getCurrentUser","uid","title","ownerDisplayName","sharees","sharee","User","user","Group","group","shareTypes","Array","isArray","Team","userId","isGuest","matchMedia","matches","document","querySelector","generateUrl","generateAvatarSvg","isPublicShare","permissions","Permission","SHARE","READ","getSidebar","open","showError","rawUid","getElementsByTagName","getAttribute","currentUser","_defineComponent","__name","props","setup","__props","currentUserId","accountFilter","ref","availableAccounts","selectedAccounts","watch","accounts","value","setAccounts","onMounted","setAvailableAccounts","filterAccounts","addEventListener","resetFilter","deselect","onUnmounted","removeEventListener","shownAccounts","computed","sort","sortAccounts","queryParts","toLocaleLowerCase","trim","split","account","every","part","a","b","localeCompare","event","accountId","detail","CustomEvent","__sfc","toggleAccount","selected","find","NcAvatar","NcButton","NcTextField","_vm","_c","_self","_setup","_setupProxy","class","$style","fileListFilterAccount","attrs","model","callback","$$v","expression","_e","_v","_l","key","on","$event","scopedSlots","_u","fn","_b","fileListFilterAccount__avatar","proxy","_s","fileListFilterAccount__currentUser","context","tagName","_availableAccounts","WeakMap","_filterAccounts","AccountFilter","FileListFilter","constructor","super","_classPrivateFieldInitSpec","_defineProperty","_classPrivateFieldSet","subscribe","updateAvailableAccounts","_classPrivateFieldGet","userIds","params","deletedBy","reset","dispatchEvent","chips","text","onclick","updateChips","filterUpdated","available","Map","has","set","Boolean","Remote","sharingConfig","Config","NewFileRequestDialogVue","defineAsyncComponent","entry","isPublicUploadEnabled","isPublicShareAllowed","handler","content","spawnDialog","registerSharingViews","addNewFileMenuEntry","newFileRequest","registerDavProperty","nc","oc","ocs","registerFileAction","acceptShareAction","openInFilesAction","rejectShareAction","restoreShareAction","sharingStatusAction","WrappedComponent","wrap","Vue","FileListFilterAccount","defineProperty","prototype","get","customElements","define","registerFileListFilter","registerAccountFilter","FilesHeaderNoteToRecipient","instance","registerFileListHeader","note","updated","updateFolder","render","async","el","component","extend","$mount","registerNoteToRecipient","_capabilities","getCapabilities","defaultPermissions","files_sharing","default_permissions","excludeReshareFromEdit","exclude_reshare_from_edit","public","upload","federatedShareDocLink","OC","appConfig","core","federatedCloudShareDoc","defaultExpirationDate","isDefaultExpireDateEnabled","defaultExpireDate","Date","setDate","getDate","defaultInternalExpirationDate","isDefaultInternalExpireDateEnabled","defaultInternalExpireDate","defaultRemoteExpirationDateString","isDefaultRemoteExpireDateEnabled","defaultRemoteExpireDate","enforcePasswordForPublicLink","enableLinkPasswordByDefault","isDefaultExpireDateEnforced","defaultExpireDateEnforced","defaultExpireDateEnabled","isDefaultInternalExpireDateEnforced","defaultInternalExpireDateEnforced","defaultInternalExpireDateEnabled","isDefaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnforced","defaultRemoteExpireDateEnabled","isRemoteShareAllowed","remoteShareAllowed","isFederationEnabled","federation","outgoing","isMailShareAllowed","sharebymail","isResharingAllowed","resharingAllowed","isPasswordForMailSharesRequired","password","enforced","shouldAlwaysShowUnique","always_show_unique","allowGroupSharing","maxAutocompleteResults","parseInt","config","minSearchStringLength","passwordPolicy","password_policy","allowCustomTokens","custom_tokens","showFederatedSharesAsInternal","showFederatedSharesToTrustedServersAsInternal","showExternalSharing","headers","getShares","shareWithMe","shared_with_me","include_tags","getRemoteShares","getPendingShares","getRemotePendingShares","getDeletedShares","attribute","scope","JSON","parse","error","logger","sharedWithYou","sharedWithOthers","pendingShares","deletedshares","filterTypes","requests","push","promise","unmounted","data","flatMap","response","index","ocsEntry","mimetype","mime","getType","item_type","item_mtime","mtime","file_target","mountpoint","item_permissions","NONE","uid_owner","displayname_owner","hasPreview","has_preview","Node","File","file_source","file_id","source","getRemoteURL","getRootPath","replace","stime","share_with","share_with_displayname","size","item_size","root","hide_download","favorite","tags","TAG_FAVORITE","ocsEntryToNode","reduce","acc","curr","getLoggerBuilder","setApp","detectUser","build","___CSS_LOADER_EXPORT___","module","defaultDavProperties","defaultDavNamespaces","d","prop","namespace","s","davNamespaces","davProperties","namespaces","search","l","warn","startsWith","getDavProperties","join","getDavNameSpaces","keys","ns","getDefaultPropfind","getRecentSearch","lastModified","defaultRootPath","defaultRemoteURL","getClient","remoteURL","client","setHeaders","token","requesttoken","patch","headers2","method","fetch","getFavoriteNodes","davRoot","getDirectoryContents","signal","details","includeSelf","filename","result","resultToNode","filesRoot","Error","permString","P","WRITE","CREATE","UPDATE","DELETE","parsePermissions","lastmod","crtime","creationdate","nodeData","isNaN","getTime","displayname","Number","getcontentlength","status","FAILED","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","splice","r","getter","__esModule","definition","o","enumerable","f","e","chunkId","promises","u","obj","hasOwnProperty","done","script","needAttach","scripts","createElement","charset","setAttribute","src","onScriptComplete","prev","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","target","head","appendChild","Symbol","toStringTag","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","toUpperCase","test","p","baseURI","self","href","installedChunks","installedChunkData","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/settings-vue-settings-admin-mail.js b/dist/settings-vue-settings-admin-mail.js index 4d28246689a86..ee14552b50469 100644 --- a/dist/settings-vue-settings-admin-mail.js +++ b/dist/settings-vue-settings-admin-mail.js @@ -1,2 +1,2 @@ -(()=>{"use strict";var t,e,n,i={27541(t,e,n){var i=n(85471),s=n(44368),a=n(85168),o=n(81222),l=n(53334),r=n(68149),m=n(63814),d=n(24606),c=n(32806),p=n(61744),g=n(78928),u=n(62758),f=n(68432),v=n(64426),N=n(59915),_=n(17030),h=n(15502),S=n(71711),b=n(95452),A=n(88856),y=n(47611),C=n(10363),x=n(37222),w=n(35119),M=n(54048),E=n(9494),F=n(27345),T=n(76269),k=n(10431),P=n(65617),O=n(36536),B=n(542),L=n(71902),I=n(93651),G=n(15807),R=n(40825),$=n(50017),D=n(60258),j=n(43280),q=n(66865),U=n(17067),X=n(99927),K=n(52631),W=n(66372),z=n(52198),H=n(11081),J=n(90286),Q=n(42380),Y=n(72723),V=n(62733),Z=n(90429),tt=n(98706),et=n(71153),nt=n(44025),it=n(60729),st=n(48198),at=n(30055),ot=n(57876),lt=n(83194),rt=n(15306),mt=n(42507),dt=n(91122),ct=n(85646),pt=n(71565),gt=n(11264),ut=n(17848),ft=n(99925),vt=n(66768),Nt=n(93939),_t=n(69944),ht=n(51550),St=n(91624),bt=n(6670),At=n(48191),yt=n(80723),Ct=n(26482),xt=n(8740),wt=n(88289),Mt=n(83947),Et=n(371),Ft=n(92511),Tt=n(71912),kt=n(35290),Pt=n(1938),Ot=n(1357),Bt=n(71465),Lt=n(26797),It=n(35908),Gt=(n(21777),n(56143),n(52781),n(3168),n(50188)),Rt=n(82684),$t=n(89878),Dt=(n(61338),n(71639)),jt=n(51569),qt=n(15192),Ut=n(27971),Xt=n(25514),Kt=n(50029),Wt=n(88381),zt=n(8256),Ht=n(974),Jt=n(67964),Qt=n(8818),Yt=n(23610),Vt=(n(55581),n(94205),n(95462),n(23020),n(53429),n(23739),n(71409),n(29928),n(64660),n(18547),n(20511)),Zt=n(69885),te=(n(59656),n(75105),n(92471),n(16406),n(2508));d.N,c.N,p.A,g.N,u.N,f.A,v.N,N.A,h.A,S.A,b.N,_.N,A.N,y.A,C.A,x.N,w.N,M.A,E.N,F.A,T.N,k.N,P.N,O.N,B.A,L.N,I.N,G.N,G.N,R.N,$.N,D.A,j.N,q.A,U.N,It.N,X.N,K.N,W.N,z.N,H.N,J.N,Q.N,Y.N,V.N,Z.N,tt.N,et.N,nt.N,it.default,st.A,at.N,ot.N,lt.A,rt.N,mt.A,dt.N,ct.N,pt.N,gt.N,ut.N,ft.N,vt.A,Nt.N,_t.N,ht.N,St.N,bt.N,At.N,yt.N,Ct.N,xt.N,wt.A,Lt.N,Mt.A,Et.A,Ft.N,Tt.N,kt.N,Pt.N,Ot.N,Bt.N,It.a,Gt.N,Dt.N,Rt.N,jt.N,qt.N,Ut.N,Xt.N,Kt.N,Wt.N,$t.N,zt.N,Ht.N,Jt.N,Qt.N,Yt.A,Symbol.toStringTag,Vt.A,Zt.A,te.yw,Symbol.toStringTag;var ee=n(57268),ne=n(67607),ie=n(88837),se=n(82182);const ae=(0,n(35947).YK)().setApp("settings").detectUser().build(),oe=(0,i.pM)({__name:"AdminSettingsMailServer",setup(t){const e=(0,o.C)("settings","settingsAdminMail"),n=(0,o.C)("settings","settingsAdminMailConfig"),d=(0,i.KR)({...n}),c=(0,i.EW)({get:()=>e.smtpModeOptions.find(t=>t.id===d.value.mail_smtpmode),set(t){d.value.mail_smtpmode=t?.id??""}}),p=(0,i.EW)({get:()=>e.smtpEncryptionOptions.find(t=>t.id===d.value.mail_smtpsecure),set(t){d.value.mail_smtpsecure=t?.id??""}}),g=(0,i.EW)({get:()=>e.smtpSendmailModeOptions.find(t=>t.id===d.value.mail_sendmailmode),set(t){d.value.mail_sendmailmode=t?.id??""}}),u=(0,i.EW)(()=>"********"!==d.value.mail_smtppassword),f=(0,i.EW)(()=>u.value||d.value.mail_smtpname!==n.mail_smtpname),v=(0,i.KR)(!1),N=(0,i.KR)(!1),_=(0,i.KR)("");return{__sfc:!0,settingsAdminMail:e,initialConfig:n,mailConfig:d,smtpMode:c,smtpEncryption:p,smtpSendmailMode:g,hasPasswordChanges:u,hasCredentialChanges:f,isSaving:v,isSendingTestEmail:N,testEmailError:_,testEmail:async function(){_.value="",N.value=!0;try{await s.Ay.post((0,m.Jv)("/settings/admin/mailtest")),(0,a.Te)((0,l.t)("settings","Email sent successfully"))}catch(t){ae.error("Error sending test email",{error:t}),(0,a.Qg)((0,l.t)("settings","Failed to send email")),(0,s.F0)(t)&&"string"==typeof t.response?.data&&(_.value=t.response.data)}finally{N.value=!1}},onSubmit:async function(){await(0,r.C5)(),v.value=!0;try{d.value.mail_smtpauth&&f.value&&await s.Ay.post((0,m.Jv)("/settings/admin/mailsettings/credentials"),{mail_smtppassword:u.value?d.value.mail_smtppassword:void 0,mail_smtpname:d.value.mail_smtpname});const t={...d.value};delete t.mail_smtppassword,delete t.mail_smtpname,await s.Ay.post((0,m.Jv)("/settings/admin/mailsettings"),t),_.value=""}catch(t){return ae.error("Error saving email settings",{error:t}),void(0,a.Qg)((0,l.t)("settings","Failed to save email settings"))}finally{v.value=!1}},t:l.t,NcButton:H.N,NcCheckboxRadioSwitch:J.N,NcLoadingIcon:wt.A,NcPasswordField:Ft.N,NcFormBox:ee.A,NcFormGroup:ft.N,NcNoteCard:Et.A,NcSelect:ne.default,NcSettingsSection:ie.A,NcTextField:se.A}}});var le=n(85072),re=n.n(le),me=n(97825),de=n.n(me),ce=n(77659),pe=n.n(ce),ge=n(55056),ue=n.n(ge),fe=n(10540),ve=n.n(fe),Ne=n(41113),_e=n.n(Ne),he=n(67794),Se={};Se.styleTagTransform=_e(),Se.setAttributes=ue(),Se.insert=pe().bind(null,"head"),Se.domAPI=de(),Se.insertStyleElement=ve(),re()(he.A,Se);const be=he.A&&he.A.locals?he.A.locals:void 0;var Ae=(0,n(14486).A)(oe,function(){var t=this,e=t._self._c,n=t._self._setupProxy;return e(n.NcSettingsSection,{attrs:{"doc-url":n.settingsAdminMail.docUrl,name:n.t("settings","Email server"),description:n.t("settings","It is important to set up this server to be able to send emails, like for password reset and notifications.")}},[n.settingsAdminMail.configIsReadonly?e(n.NcNoteCard,{attrs:{type:"info"}},[t._v("\n\t\t"+t._s(n.t("settings","The server configuration is read-only so the mail settings cannot be changed using the web interface."))+"\n\t")]):t._e(),t._v(" "),"null"===n.smtpMode?.id?e(n.NcNoteCard,{attrs:{type:"info"}},[t._v("\n\t\t"+t._s(n.t("settings",'Mail delivery is disabled by instance config "{config}".',{config:"mail_smtpmode"}))+"\n\t")]):e("form",{class:t.$style.adminSettingsMailServer__form,on:{submit:function(t){return t.preventDefault(),n.onSubmit.apply(null,arguments)}}},[e(n.NcFormBox,[e(n.NcSelect,{attrs:{"input-label":n.t("settings","Send mode"),options:n.settingsAdminMail.smtpModeOptions,required:""},model:{value:n.smtpMode,callback:function(t){n.smtpMode=t},expression:"smtpMode"}}),t._v(" "),"smtp"===n.smtpMode?.id?e(n.NcSelect,{attrs:{"input-label":n.t("settings","Encryption"),options:n.settingsAdminMail.smtpEncryptionOptions,required:""},model:{value:n.smtpEncryption,callback:function(t){n.smtpEncryption=t},expression:"smtpEncryption"}}):"sendmail"===n.smtpMode?.id?e(n.NcSelect,{attrs:{"input-label":n.t("settings","Sendmail mode"),options:n.settingsAdminMail.smtpSendmailModeOptions,required:""},model:{value:n.smtpSendmailMode,callback:function(t){n.smtpSendmailMode=t},expression:"smtpSendmailMode"}}):t._e(),t._v(" "),e(n.NcCheckboxRadioSwitch,{attrs:{type:"switch"},model:{value:n.mailConfig.mail_noverify,callback:function(e){t.$set(n.mailConfig,"mail_noverify",e)},expression:"mailConfig.mail_noverify"}},[t._v("\n\t\t\t\t"+t._s(n.t("settings","Disable certificate verification (insecure)"))+"\n\t\t\t")])],1),t._v(" "),e(n.NcFormGroup,{attrs:{label:n.t("settings","From address")}},[e(n.NcFormBox,{attrs:{row:""}},[e(n.NcTextField,{attrs:{label:n.t("settings","Email")},model:{value:n.mailConfig.mail_from_address,callback:function(e){t.$set(n.mailConfig,"mail_from_address",e)},expression:"mailConfig.mail_from_address"}}),t._v(" "),e(n.NcTextField,{attrs:{label:n.t("settings","Domain")},scopedSlots:t._u([{key:"icon",fn:function(){return[e("div",{staticStyle:{"line-height":"1"}},[t._v("\n\t\t\t\t\t\t\t@\n\t\t\t\t\t\t")])]},proxy:!0}]),model:{value:n.mailConfig.mail_domain,callback:function(e){t.$set(n.mailConfig,"mail_domain",e)},expression:"mailConfig.mail_domain"}})],1)],1),t._v(" "),e(n.NcFormGroup,{directives:[{name:"show",rawName:"v-show",value:"smtp"===n.smtpMode?.id,expression:"smtpMode?.id === 'smtp'"}],attrs:{label:n.t("settings","Server address")}},[e(n.NcFormBox,{attrs:{row:""}},[e(n.NcTextField,{attrs:{label:n.t("settings","Host"),name:"mail_smtphost"},model:{value:n.mailConfig.mail_smtphost,callback:function(e){t.$set(n.mailConfig,"mail_smtphost",e)},expression:"mailConfig.mail_smtphost"}}),t._v(" "),e(n.NcTextField,{attrs:{label:n.t("settings","Port"),type:"number",max:"65535",min:"1",name:"mail_smtpport"},scopedSlots:t._u([{key:"icon",fn:function(){return[e("div",{staticStyle:{"line-height":"1"}},[t._v("\n\t\t\t\t\t\t\t:\n\t\t\t\t\t\t")])]},proxy:!0}]),model:{value:n.mailConfig.mail_smtpport,callback:function(e){t.$set(n.mailConfig,"mail_smtpport",e)},expression:"mailConfig.mail_smtpport"}})],1)],1),t._v(" "),e(n.NcFormGroup,{directives:[{name:"show",rawName:"v-show",value:"smtp"===n.smtpMode?.id,expression:"smtpMode?.id === 'smtp'"}],attrs:{label:n.t("settings","Authentication")}},[e(n.NcCheckboxRadioSwitch,{attrs:{type:"switch"},model:{value:n.mailConfig.mail_smtpauth,callback:function(e){t.$set(n.mailConfig,"mail_smtpauth",e)},expression:"mailConfig.mail_smtpauth"}},[t._v("\n\t\t\t\t"+t._s(n.t("settings","Authentication required"))+"\n\t\t\t")]),t._v(" "),e(n.NcFormBox,{directives:[{name:"show",rawName:"v-show",value:n.mailConfig.mail_smtpauth,expression:"mailConfig.mail_smtpauth"}]},[e(n.NcTextField,{attrs:{label:n.t("settings","Login"),name:"mail_smtpname"},model:{value:n.mailConfig.mail_smtpname,callback:function(e){t.$set(n.mailConfig,"mail_smtpname",e)},expression:"mailConfig.mail_smtpname"}}),t._v(" "),e(n.NcPasswordField,{attrs:{label:n.t("settings","Password"),"show-trailing-button":n.hasPasswordChanges,name:"mail_smtppassword"},model:{value:n.mailConfig.mail_smtppassword,callback:function(e){t.$set(n.mailConfig,"mail_smtppassword",e)},expression:"mailConfig.mail_smtppassword"}})],1)],1),t._v(" "),e("div",{class:t.$style.adminSettingsMailServer__formAction},[e(n.NcButton,{attrs:{disabled:n.isSendingTestEmail,variant:"success"},on:{click:n.testEmail},scopedSlots:t._u([n.isSendingTestEmail?{key:"icon",fn:function(){return[e(n.NcLoadingIcon)]},proxy:!0}:null],null,!0)},[t._v("\n\t\t\t\t"+t._s(n.isSendingTestEmail?n.t("settings","Sending test email…"):n.t("settings","Send test email"))+"\n\t\t\t")]),t._v(" "),e(n.NcButton,{attrs:{disabled:n.isSaving,type:"submit",variant:"primary"},scopedSlots:t._u([n.isSaving?{key:"icon",fn:function(){return[e(n.NcLoadingIcon)]},proxy:!0}:null],null,!0)},[t._v("\n\t\t\t\t"+t._s(n.isSaving?n.t("settings","Saving…"):n.t("settings","Save settings"))+"\n\t\t\t")])],1)],1),t._v(" "),n.testEmailError?e(n.NcNoteCard,{attrs:{type:"error"}},[t._v("\n\t\t"+t._s(n.testEmailError)+"\n\t")]):t._e()],1)},[],!1,function(t){this.$style=be.locals||be},null,null);const ye=Ae.exports;new i.Ay(ye).$mount("#vue-admin-settings-mail")},67794(t,e,n){n.d(e,{A:()=>l});var i=n(71354),s=n.n(i),a=n(76314),o=n.n(a)()(s());o.push([t.id,"\n._adminSettingsMailServer__form_hqpau {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2.5 * var(--default-grid-baseline));\n\n\tmax-width: 600px !important;\n}\n._adminSettingsMailServer__formAction_fbriG {\n\tdisplay: flex;\n\tjustify-content: end;\n\tgap: var(--default-grid-baseline);\n}\n","",{version:3,sources:["webpack://./apps/settings/src/views/AdminSettingsMailServer.vue"],names:[],mappings:";AA2PA;CACA,aAAA;CACA,sBAAA;CACA,6CAAA;;CAEA,2BAAA;AACA;AAEA;CACA,aAAA;CACA,oBAAA;CACA,iCAAA;AACA",sourcesContent:["\x3c!--\n - SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n--\x3e\n\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"adminSettingsMailServer__form\": `_adminSettingsMailServer__form_hqpau`,\n\t\"adminSettingsMailServer__formAction\": `_adminSettingsMailServer__formAction_fbriG`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"853\":\"b82cc31fdab3eebc6e17\",\"1526\":\"ad86f3209aa9a10cd835\",\"4941\":\"cf6a232432a967125f9f\",\"5862\":\"580b9c2e231a9169a12f\",\"6087\":\"20ff0344223a1b0febab\",\"6597\":\"278c016b03eadd2eaaa6\",\"6798\":\"55fb835b251fd3f7de19\",\"7471\":\"b4ac70873a3ab192efd0\",\"7859\":\"f146280447be8fe16f6d\",\"9337\":\"da67b95f927087fcd0b5\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 775;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t775: 0,\n\t7471: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(27541)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","N","Symbol","toStringTag","getLoggerBuilder","setApp","detectUser","build","_defineComponent","__name","setup","__props","settingsAdminMail","loadState","initialConfig","mailConfig","ref","smtpMode","computed","get","smtpModeOptions","find","option","id","value","mail_smtpmode","set","smtpEncryption","smtpEncryptionOptions","mail_smtpsecure","smtpSendmailMode","smtpSendmailModeOptions","mail_sendmailmode","hasPasswordChanges","mail_smtppassword","hasCredentialChanges","mail_smtpname","isSaving","isSendingTestEmail","testEmailError","__sfc","testEmail","axios","post","generateUrl","showSuccess","t","error","logger","showError","isAxiosError","response","data","onSubmit","confirmPassword","mail_smtpauth","undefined","config","NcButton","NcCheckboxRadioSwitch","NcLoadingIcon","NcPasswordField","NcFormBox","NcFormGroup","NcNoteCard","NcSelect","NcSettingsSection","NcTextField","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","component","_vm","this","_c","_self","_setup","_setupProxy","attrs","docUrl","configIsReadonly","_v","_s","_e","class","$style","adminSettingsMailServer__form","on","$event","preventDefault","apply","arguments","model","callback","$$v","expression","mail_noverify","$set","mail_from_address","scopedSlots","_u","key","fn","staticStyle","proxy","mail_domain","directives","name","rawName","mail_smtphost","mail_smtpport","adminSettingsMailServer__formAction","context","Vue","AdminSettingsMailServer","$mount","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-admin-mail.js?v=73b65f3dd192d9b582c7","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/node_modules/@nextcloud/vue/dist/index.mjs","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/views/AdminSettingsMailServer.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/views/AdminSettingsMailServer.vue","webpack://nextcloud/./apps/settings/src/views/AdminSettingsMailServer.vue?14c9","webpack://nextcloud/./apps/settings/src/views/AdminSettingsMailServer.vue?2cea","webpack:///nextcloud/apps/settings/src/admin-settings-mail.ts","webpack:///nextcloud/apps/settings/src/views/AdminSettingsMailServer.vue?vue&type=style&index=0&id=7931d655&prod&module=true&lang=css","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","import { N as NcActionButton } from \"./chunks/NcActionButton-K4jUGMlW.mjs\";\nimport { N as NcActionButtonGroup } from \"./chunks/NcActionButtonGroup-B95wg_Q6.mjs\";\nimport NcActionCaption from \"./Components/NcActionCaption.mjs\";\nimport { N as NcActionCheckbox } from \"./chunks/NcActionCheckbox-23CmleUh.mjs\";\nimport { N as NcActionInput } from \"./chunks/NcActionInput-B_9GOTi6.mjs\";\nimport NcActionLink from \"./Components/NcActionLink.mjs\";\nimport { N as NcActionRadio } from \"./chunks/NcActionRadio-Dd3CsuiD.mjs\";\nimport NcActionRouter from \"./Components/NcActionRouter.mjs\";\nimport { N as NcActions } from \"./chunks/NcActions-Ca_2vj8f.mjs\";\nimport NcActionSeparator from \"./Components/NcActionSeparator.mjs\";\nimport NcActionText from \"./Components/NcActionText.mjs\";\nimport { N as NcActionTextEditable } from \"./chunks/NcActionTextEditable-YqvZGY07.mjs\";\nimport { N as NcAppContent } from \"./chunks/NcAppContent-HZ-Lp090.mjs\";\nimport NcAppContentDetails from \"./Components/NcAppContentDetails.mjs\";\nimport NcAppContentList from \"./Components/NcAppContentList.mjs\";\nimport { N as NcAppNavigation } from \"./chunks/NcAppNavigation-BPqJExo6.mjs\";\nimport { N as NcAppNavigationCaption } from \"./chunks/NcAppNavigationCaption-Bt51pgle.mjs\";\nimport NcAppNavigationIconBullet from \"./Components/NcAppNavigationIconBullet.mjs\";\nimport { N as NcAppNavigationItem } from \"./chunks/NcAppNavigationItem-DcKt7SjF.mjs\";\nimport NcAppNavigationList from \"./Components/NcAppNavigationList.mjs\";\nimport { N as NcAppNavigationNew } from \"./chunks/NcAppNavigationNew-B5ikLvxM.mjs\";\nimport { N as NcAppNavigationNewItem } from \"./chunks/NcAppNavigationNewItem-BqhwbJsJ.mjs\";\nimport { N as NcAppNavigationSearch } from \"./chunks/NcAppNavigationSearch-B6u1Ln1_.mjs\";\nimport { N as NcAppNavigationSettings } from \"./chunks/NcAppNavigationSettings-BfysBg80.mjs\";\nimport NcAppNavigationSpacer from \"./Components/NcAppNavigationSpacer.mjs\";\nimport { N as NcAppSettingsDialog } from \"./chunks/NcAppSettingsDialog-D0M18YFD.mjs\";\nimport { N as NcAppSettingsSection } from \"./chunks/NcAppSettingsSection-BjQllLEA.mjs\";\nimport { N as NcAppSettingsShortcutsSection } from \"./chunks/NcAppSettingsShortcutsSection-DblUBaWP.mjs\";\nimport { N as NcAppSidebar } from \"./chunks/NcAppSidebar-Bljse39J.mjs\";\nimport { N as NcAppSidebarHeader } from \"./chunks/NcAppSidebarHeader-CBE4tNYb.mjs\";\nimport NcAppSidebarTab from \"./Components/NcAppSidebarTab.mjs\";\nimport { N as NcAssistantButton } from \"./chunks/NcAssistantButton-BdUkhzq1.mjs\";\nimport NcAssistantContent from \"./Components/NcAssistantContent.mjs\";\nimport { N as NcAssistantIcon } from \"./chunks/NcAssistantIcon-DCx6AaSW.mjs\";\nimport { N as NcAvatar } from \"./chunks/NcAvatar-CGnqUtoy.mjs\";\nimport { u } from \"./chunks/NcAvatar-CGnqUtoy.mjs\";\nimport { N as NcBlurHash } from \"./chunks/NcBlurHash-KSj0HXbX.mjs\";\nimport { N as NcBreadcrumb } from \"./chunks/NcBreadcrumb-DH2FV6QI.mjs\";\nimport { N as NcBreadcrumbs } from \"./chunks/NcBreadcrumbs-DrYYSHAS.mjs\";\nimport { N as NcButton } from \"./chunks/NcButton-BgppWSl9.mjs\";\nimport { N as NcCheckboxRadioSwitch } from \"./chunks/NcCheckboxRadioSwitch-D4IV4zWy.mjs\";\nimport { N as NcCollectionList } from \"./chunks/NcCollectionList-BbmBJ4ET.mjs\";\nimport { N as NcColorPicker } from \"./chunks/NcColorPicker-Bzzw1uKu.mjs\";\nimport { N as NcContent } from \"./chunks/NcContent-DpGM2KRx.mjs\";\nimport { N as NcCounterBubble } from \"./chunks/NcCounterBubble-oxV8oMlX.mjs\";\nimport { N as NcDashboardWidget } from \"./chunks/NcDashboardWidget-NOuL4APU.mjs\";\nimport { N as NcDashboardWidgetItem } from \"./chunks/NcDashboardWidgetItem-CBW263ij.mjs\";\nimport { N as NcDateTime } from \"./chunks/NcDateTime-enXYuwj8.mjs\";\nimport NcDateTimePicker from \"./Components/NcDateTimePicker.mjs\";\nimport NcDateTimePickerNative from \"./Components/NcDateTimePickerNative.mjs\";\nimport { N as NcDialog } from \"./chunks/NcDialog-BCCBuI6f.mjs\";\nimport { N as NcDialogButton } from \"./chunks/NcDialogButton-DpA4mqr-.mjs\";\nimport NcEllipsisedOption from \"./Components/NcEllipsisedOption.mjs\";\nimport { N as NcEmojiPicker } from \"./chunks/NcEmojiPicker-C4jCrwQY.mjs\";\nimport NcEmptyContent from \"./Components/NcEmptyContent.mjs\";\nimport { N as NcFilePicker } from \"./chunks/NcFilePicker-DCPi6JGg.mjs\";\nimport { N as NcFormBox } from \"./chunks/NcFormBox-DtoCXLMx.mjs\";\nimport { N as NcFormBoxButton } from \"./chunks/NcFormBoxButton-BQi11xQX.mjs\";\nimport { N as NcFormBoxCopyButton } from \"./chunks/NcFormBoxCopyButton-BkunQ3me.mjs\";\nimport { N as NcFormBoxSwitch } from \"./chunks/NcFormBoxSwitch-E6sxPL4n.mjs\";\nimport { N as NcFormGroup } from \"./chunks/NcFormGroup-DblLoFMf.mjs\";\nimport NcGuestContent from \"./Components/NcGuestContent.mjs\";\nimport { N as NcHeaderButton } from \"./chunks/NcHeaderButton-DXdY8gct.mjs\";\nimport { N as NcHeaderMenu } from \"./chunks/NcHeaderMenu-BZnnbLTo.mjs\";\nimport { N as NcHighlight } from \"./chunks/index-CxTT94_h.mjs\";\nimport { N as NcHotkey } from \"./chunks/NcHotkey-CLLtt9LG.mjs\";\nimport { N as NcHotkeyList } from \"./chunks/NcHotkeyList-Co7MBL5U.mjs\";\nimport { N as NcIconSvgWrapper } from \"./chunks/NcIconSvgWrapper-Bui9PhAS.mjs\";\nimport { N as NcInputField } from \"./chunks/NcInputField-j5EyU7QH.mjs\";\nimport { N as NcListItem } from \"./chunks/NcListItem-D0JDzXkL.mjs\";\nimport { N as NcListItemIcon } from \"./chunks/NcListItemIcon-D35XZDGI.mjs\";\nimport NcLoadingIcon from \"./Components/NcLoadingIcon.mjs\";\nimport NcModal from \"./Components/NcModal.mjs\";\nimport NcNoteCard from \"./Components/NcNoteCard.mjs\";\nimport { N as NcPasswordField } from \"./chunks/NcPasswordField-HQK5d_nv.mjs\";\nimport { N as NcPopover } from \"./chunks/NcPopover-UAg26Qdd.mjs\";\nimport { N as NcProgressBar } from \"./chunks/NcProgressBar-D7zYeXBH.mjs\";\nimport { N as NcRadioGroup } from \"./chunks/NcRadioGroup-BbBX9X2J.mjs\";\nimport { N as NcRadioGroupButton } from \"./chunks/NcRadioGroupButton-BkxlxjIA.mjs\";\nimport { N as NcRelatedResourcesPanel } from \"./chunks/NcRelatedResourcesPanel-BdmY-Mly.mjs\";\nimport { N as NcMentionBubble } from \"./chunks/index-BCqXu_og.mjs\";\nimport { r } from \"./chunks/index-BCqXu_og.mjs\";\nimport { N as NcAutoCompleteResult, a as NcRichContenteditable } from \"./chunks/NcRichContenteditable-BcTSkyeW.mjs\";\nimport \"@nextcloud/auth\";\nimport \"@nextcloud/axios\";\nimport \"@nextcloud/router\";\nimport \"@nextcloud/sharing/public\";\nimport \"@vueuse/core\";\nimport \"vue\";\nimport \"vue-router\";\nimport { a, g, b, c, s, d } from \"./chunks/referencePickerModal-BQExd0w6.mjs\";\nimport { N, h, c as c2, i, e, r as r2, f, a as a2 } from \"./chunks/customPickerElements-DLFtgReB.mjs\";\nimport \"unist-builder\";\nimport \"unist-util-visit-parents\";\nimport \"./chunks/logger-D3RVzcfQ.mjs\";\nimport { N as NcRichText } from \"./chunks/NcRichText-DZgAb6-3.mjs\";\nimport { N as NcSelect } from \"./chunks/NcSelect-FwcxH76q.mjs\";\nimport { N as NcTextField } from \"./chunks/NcTextField-ByDOTNvC.mjs\";\nimport \"@nextcloud/event-bus\";\nimport { N as NcSavingIndicatorIcon } from \"./chunks/NcSavingIndicatorIcon-U7AIamCl.mjs\";\nimport { N as NcSelectTags } from \"./chunks/NcSelectTags-yZfa_z_z.mjs\";\nimport { N as NcSelectUsers } from \"./chunks/NcSelectUsers-5r-vvEVy.mjs\";\nimport { N as NcSettingsInputText } from \"./chunks/NcSettingsInputText-BwnkZzWL.mjs\";\nimport { N as NcSettingsSection } from \"./chunks/NcSettingsSection-Dz_b9rcq.mjs\";\nimport { N as NcSettingsSelectGroup } from \"./chunks/NcSettingsSelectGroup-CUM0vkbN.mjs\";\nimport { N as NcTextArea } from \"./chunks/NcTextArea-fGUiK7p2.mjs\";\nimport { N as NcThemeProvider } from \"./chunks/NcThemeProvider-BA_zMjAf.mjs\";\nimport { N as NcTimezonePicker } from \"./chunks/NcTimezonePicker-Cok_NaVd.mjs\";\nimport { N as NcUserBubble } from \"./chunks/NcUserBubble-Csw7PXyG.mjs\";\nimport { N as NcUserStatusIcon } from \"./chunks/NcUserStatusIcon-Cq1RnTfF.mjs\";\nimport NcVNodes from \"./Components/NcVNodes.mjs\";\nimport { useFormatDateTime, useFormatRelativeTime, useFormatTime } from \"./Composables/useFormatDateTime.mjs\";\nimport { useHotKey } from \"./Composables/useHotKey.mjs\";\nimport { useIsDarkTheme, useIsDarkThemeElement } from \"./Composables/useIsDarkTheme.mjs\";\nimport { isFullscreenState, useIsFullscreen } from \"./Composables/useIsFullscreen.mjs\";\nimport { MOBILE_BREAKPOINT, MOBILE_SMALL_BREAKPOINT, isMobileState, useIsMobile, useIsSmallMobile } from \"./Composables/useIsMobile.mjs\";\nimport { isA11yActivation } from \"./Functions/a11y.mjs\";\nimport { getEnabledContactsMenuActions, registerContactsMenuAction } from \"./Functions/contactsMenu.mjs\";\nimport { spawnDialog } from \"./Functions/dialog.mjs\";\nimport { E, a as a3, e as e2, g as g2, s as s2 } from \"./chunks/emoji-Dtn2mDf7.mjs\";\nimport { checkIfDarkTheme, isDarkTheme } from \"./Functions/isDarkTheme.mjs\";\nimport { preloadImage } from \"./Functions/preloadImage.mjs\";\nimport { usernameToColor } from \"./Functions/usernameToColor.mjs\";\nimport directive from \"./Directives/Focus.mjs\";\nimport directive$1 from \"./Directives/Linkify.mjs\";\nimport \"./Directives/Tooltip.mjs\";\nimport { default as default2 } from \"./Mixins/clickOutsideOptions.mjs\";\nimport { default as default3 } from \"./Mixins/isFullscreen.mjs\";\nimport { default as default4 } from \"./Mixins/isMobile.mjs\";\nimport { VTooltip } from \"floating-vue\";\nimport { VTooltip as VTooltip2 } from \"floating-vue\";\nconst NcComponents = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsSectionShortcuts: NcAppSettingsShortcutsSection,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NcDirectives = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null,\n Focus: directive,\n Linkify: directive$1,\n Tooltip: VTooltip\n}, Symbol.toStringTag, { value: \"Module\" }));\nconst NextcloudVuePlugin = {\n install(Vue) {\n Object.entries(NcComponents).forEach(([name, component]) => {\n Vue.component(component.name || name, component);\n });\n Object.entries(NcDirectives).forEach(([name, directive2]) => {\n Vue.directive(name, directive2);\n });\n }\n};\nexport {\n E as EmojiSkinTone,\n directive as Focus,\n directive$1 as Linkify,\n MOBILE_BREAKPOINT,\n MOBILE_SMALL_BREAKPOINT,\n NcActionButton,\n NcActionButtonGroup,\n NcActionCaption,\n NcActionCheckbox,\n NcActionInput,\n NcActionLink,\n NcActionRadio,\n NcActionRouter,\n NcActionSeparator,\n NcActionText,\n NcActionTextEditable,\n NcActions,\n NcAppContent,\n NcAppContentDetails,\n NcAppContentList,\n NcAppNavigation,\n NcAppNavigationCaption,\n NcAppNavigationIconBullet,\n NcAppNavigationItem,\n NcAppNavigationList,\n NcAppNavigationNew,\n NcAppNavigationNewItem,\n NcAppNavigationSearch,\n NcAppNavigationSettings,\n NcAppNavigationSpacer,\n NcAppSettingsDialog,\n NcAppSettingsSection,\n NcAppSettingsShortcutsSection as NcAppSettingsSectionShortcuts,\n NcAppSettingsShortcutsSection,\n NcAppSidebar,\n NcAppSidebarHeader,\n NcAppSidebarTab,\n NcAssistantButton,\n NcAssistantContent,\n NcAssistantIcon,\n NcAutoCompleteResult,\n NcAvatar,\n NcBlurHash,\n NcBreadcrumb,\n NcBreadcrumbs,\n NcButton,\n NcCheckboxRadioSwitch,\n NcCollectionList,\n NcColorPicker,\n NcContent,\n NcCounterBubble,\n N as NcCustomPickerRenderResult,\n NcDashboardWidget,\n NcDashboardWidgetItem,\n NcDateTime,\n NcDateTimePicker,\n NcDateTimePickerNative,\n NcDialog,\n NcDialogButton,\n NcEllipsisedOption,\n NcEmojiPicker,\n NcEmptyContent,\n NcFilePicker,\n NcFormBox,\n NcFormBoxButton,\n NcFormBoxCopyButton,\n NcFormBoxSwitch,\n NcFormGroup,\n NcGuestContent,\n NcHeaderButton,\n NcHeaderMenu,\n NcHighlight,\n NcHotkey,\n NcHotkeyList,\n NcIconSvgWrapper,\n NcInputField,\n NcListItem,\n NcListItemIcon,\n NcLoadingIcon,\n NcMentionBubble,\n NcModal,\n NcNoteCard,\n NcPasswordField,\n NcPopover,\n NcProgressBar,\n NcRadioGroup,\n NcRadioGroupButton,\n NcRelatedResourcesPanel,\n NcRichContenteditable,\n NcRichText,\n NcSavingIndicatorIcon,\n NcSelect,\n NcSelectTags,\n NcSelectUsers,\n NcSettingsInputText,\n NcSettingsSection,\n NcSettingsSelectGroup,\n NcTextArea,\n NcTextField,\n NcThemeProvider,\n NcTimezonePicker,\n NcUserBubble,\n NcUserStatusIcon,\n NcVNodes,\n NextcloudVuePlugin,\n VTooltip2 as Tooltip,\n a as anyLinkProviderId,\n checkIfDarkTheme,\n default2 as clickOutsideOptions,\n a3 as emojiAddRecent,\n e2 as emojiSearch,\n g2 as getCurrentSkinTone,\n getEnabledContactsMenuActions,\n g as getLinkWithPicker,\n b as getProvider,\n c as getProviders,\n h as hasInteractiveView,\n isA11yActivation,\n c2 as isCustomPickerElementRegistered,\n isDarkTheme,\n default3 as isFullscreen,\n isFullscreenState,\n default4 as isMobile,\n isMobileState,\n i as isWidgetRegistered,\n preloadImage,\n registerContactsMenuAction,\n e as registerCustomPickerElement,\n r2 as registerWidget,\n f as renderCustomPickerElement,\n a2 as renderWidget,\n r as richEditor,\n s as searchProvider,\n s2 as setCurrentSkinTone,\n d as sortProviders,\n spawnDialog,\n useFormatDateTime,\n useFormatRelativeTime,\n useFormatTime,\n useHotKey,\n useIsDarkTheme,\n useIsDarkThemeElement,\n useIsFullscreen,\n useIsMobile,\n useIsSmallMobile,\n u as userStatus,\n usernameToColor\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettingsMailServer.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettingsMailServer.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcSettingsSection,{attrs:{\"doc-url\":_setup.settingsAdminMail.docUrl,\"name\":_setup.t('settings', 'Email server'),\"description\":_setup.t('settings', 'It is important to set up this server to be able to send emails, like for password reset and notifications.')}},[(_setup.settingsAdminMail.configIsReadonly)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'The server configuration is read-only so the mail settings cannot be changed using the web interface.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),(_setup.isMailDeliveryDisabled)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"info\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'Mail delivery is disabled by instance config \"{config}\".', { config: 'mail_smtpmode' }))+\"\\n\\t\")]):_c('form',{class:_vm.$style.adminSettingsMailServer__form,on:{\"submit\":function($event){$event.preventDefault();return _setup.onSubmit.apply(null, arguments)}}},[_c(_setup.NcFormBox,[_c(_setup.NcSelect,{attrs:{\"input-label\":_setup.t('settings', 'Send mode'),\"options\":_setup.settingsAdminMail.smtpModeOptions,\"required\":\"\"},model:{value:(_setup.smtpMode),callback:function ($$v) {_setup.smtpMode=$$v},expression:\"smtpMode\"}}),_vm._v(\" \"),(_setup.smtpMode?.id === 'smtp')?_c(_setup.NcSelect,{attrs:{\"input-label\":_setup.t('settings', 'Encryption'),\"options\":_setup.settingsAdminMail.smtpEncryptionOptions,\"required\":\"\"},model:{value:(_setup.smtpEncryption),callback:function ($$v) {_setup.smtpEncryption=$$v},expression:\"smtpEncryption\"}}):(_setup.smtpMode?.id === 'sendmail')?_c(_setup.NcSelect,{attrs:{\"input-label\":_setup.t('settings', 'Sendmail mode'),\"options\":_setup.settingsAdminMail.smtpSendmailModeOptions,\"required\":\"\"},model:{value:(_setup.smtpSendmailMode),callback:function ($$v) {_setup.smtpSendmailMode=$$v},expression:\"smtpSendmailMode\"}}):_vm._e(),_vm._v(\" \"),_c(_setup.NcCheckboxRadioSwitch,{attrs:{\"type\":\"switch\"},model:{value:(_setup.mailConfig.mail_noverify),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_noverify\", $$v)},expression:\"mailConfig.mail_noverify\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Disable certificate verification (insecure)'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c(_setup.NcFormGroup,{attrs:{\"label\":_setup.t('settings', 'From address')}},[_c(_setup.NcFormBox,{attrs:{\"row\":\"\"}},[_c(_setup.NcTextField,{attrs:{\"label\":_setup.t('settings', 'Email')},model:{value:(_setup.mailConfig.mail_from_address),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_from_address\", $$v)},expression:\"mailConfig.mail_from_address\"}}),_vm._v(\" \"),_c(_setup.NcTextField,{attrs:{\"label\":_setup.t('settings', 'Domain')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('div',{staticStyle:{\"line-height\":\"1\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t@\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}]),model:{value:(_setup.mailConfig.mail_domain),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_domain\", $$v)},expression:\"mailConfig.mail_domain\"}})],1)],1),_vm._v(\" \"),_c(_setup.NcFormGroup,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.smtpMode?.id === 'smtp'),expression:\"smtpMode?.id === 'smtp'\"}],attrs:{\"label\":_setup.t('settings', 'Server address')}},[_c(_setup.NcFormBox,{attrs:{\"row\":\"\"}},[_c(_setup.NcTextField,{attrs:{\"label\":_setup.t('settings', 'Host'),\"name\":\"mail_smtphost\"},model:{value:(_setup.mailConfig.mail_smtphost),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_smtphost\", $$v)},expression:\"mailConfig.mail_smtphost\"}}),_vm._v(\" \"),_c(_setup.NcTextField,{attrs:{\"label\":_setup.t('settings', 'Port'),\"type\":\"number\",\"max\":\"65535\",\"min\":\"1\",\"name\":\"mail_smtpport\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('div',{staticStyle:{\"line-height\":\"1\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t:\\n\\t\\t\\t\\t\\t\\t\")])]},proxy:true}]),model:{value:(_setup.mailConfig.mail_smtpport),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_smtpport\", $$v)},expression:\"mailConfig.mail_smtpport\"}})],1)],1),_vm._v(\" \"),_c(_setup.NcFormGroup,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.smtpMode?.id === 'smtp'),expression:\"smtpMode?.id === 'smtp'\"}],attrs:{\"label\":_setup.t('settings', 'Authentication')}},[_c(_setup.NcCheckboxRadioSwitch,{attrs:{\"type\":\"switch\"},model:{value:(_setup.mailConfig.mail_smtpauth),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_smtpauth\", $$v)},expression:\"mailConfig.mail_smtpauth\"}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.t('settings', 'Authentication required'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcFormBox,{directives:[{name:\"show\",rawName:\"v-show\",value:(_setup.mailConfig.mail_smtpauth),expression:\"mailConfig.mail_smtpauth\"}]},[_c(_setup.NcTextField,{attrs:{\"label\":_setup.t('settings', 'Login'),\"name\":\"mail_smtpname\"},model:{value:(_setup.mailConfig.mail_smtpname),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_smtpname\", $$v)},expression:\"mailConfig.mail_smtpname\"}}),_vm._v(\" \"),_c(_setup.NcPasswordField,{attrs:{\"label\":_setup.t('settings', 'Password'),\"show-trailing-button\":_setup.hasPasswordChanges,\"name\":\"mail_smtppassword\"},model:{value:(_setup.mailConfig.mail_smtppassword),callback:function ($$v) {_vm.$set(_setup.mailConfig, \"mail_smtppassword\", $$v)},expression:\"mailConfig.mail_smtppassword\"}})],1)],1),_vm._v(\" \"),_c('div',{class:_vm.$style.adminSettingsMailServer__formAction},[_c(_setup.NcButton,{attrs:{\"disabled\":_setup.isSendingTestEmail,\"variant\":\"success\"},on:{\"click\":_setup.testEmail},scopedSlots:_vm._u([(_setup.isSendingTestEmail)?{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon)]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.isSendingTestEmail ? _setup.t('settings', 'Sending test email…') : _setup.t('settings', 'Send test email'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c(_setup.NcButton,{attrs:{\"disabled\":_setup.isSaving,\"type\":\"submit\",\"variant\":\"primary\"},scopedSlots:_vm._u([(_setup.isSaving)?{key:\"icon\",fn:function(){return [_c(_setup.NcLoadingIcon)]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_setup.isSaving ? _setup.t('settings', 'Saving…') : _setup.t('settings', 'Save settings'))+\"\\n\\t\\t\\t\")])],1)],1),_vm._v(\" \"),(_setup.testEmailError)?_c(_setup.NcNoteCard,{attrs:{\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.testEmailError)+\"\\n\\t\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettingsMailServer.vue?vue&type=style&index=0&id=7931d655&prod&module=true&lang=css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-3.use[1]!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdminSettingsMailServer.vue?vue&type=style&index=0&id=7931d655&prod&module=true&lang=css\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AdminSettingsMailServer.vue?vue&type=template&id=7931d655\"\nimport script from \"./AdminSettingsMailServer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AdminSettingsMailServer.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AdminSettingsMailServer.vue?vue&type=style&index=0&id=7931d655&prod&module=true&lang=css\"\n\n\n\n\nfunction injectStyles (context) {\n \n this[\"$style\"] = (style0.locals || style0)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n null\n \n)\n\nexport default component.exports","/*!\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport Vue from 'vue';\nimport AdminSettingsMailServer from './views/AdminSettingsMailServer.vue';\nconst app = new Vue(AdminSettingsMailServer);\napp.$mount('#vue-admin-settings-mail');\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `\n._adminSettingsMailServer__form_hqpau {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: calc(2.5 * var(--default-grid-baseline));\n\n\tmax-width: 600px !important;\n}\n._adminSettingsMailServer__formAction_fbriG {\n\tdisplay: flex;\n\tjustify-content: end;\n\tgap: var(--default-grid-baseline);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/views/AdminSettingsMailServer.vue\"],\"names\":[],\"mappings\":\";AAmQA;CACA,aAAA;CACA,sBAAA;CACA,6CAAA;;CAEA,2BAAA;AACA;AAEA;CACA,aAAA;CACA,oBAAA;CACA,iCAAA;AACA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"adminSettingsMailServer__form\": `_adminSettingsMailServer__form_hqpau`,\n\t\"adminSettingsMailServer__formAction\": `_adminSettingsMailServer__formAction_fbriG`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"853\":\"b82cc31fdab3eebc6e17\",\"1526\":\"ad86f3209aa9a10cd835\",\"4941\":\"cf6a232432a967125f9f\",\"5862\":\"580b9c2e231a9169a12f\",\"6087\":\"20ff0344223a1b0febab\",\"6597\":\"278c016b03eadd2eaaa6\",\"6798\":\"55fb835b251fd3f7de19\",\"7471\":\"b4ac70873a3ab192efd0\",\"7859\":\"f146280447be8fe16f6d\",\"9337\":\"da67b95f927087fcd0b5\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 775;","var scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nvar document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t775: 0,\n\t7471: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] = globalThis[\"webpackChunknextcloud_ui_legacy\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(49317)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","inProgress","dataWebpackPrefix","N","Symbol","toStringTag","getLoggerBuilder","setApp","detectUser","build","_defineComponent","__name","setup","__props","settingsAdminMail","loadState","initialConfig","mailConfig","ref","isMailDeliveryDisabled","computed","value","mail_smtpmode","smtpMode","get","smtpModeOptions","find","option","id","set","smtpEncryption","smtpEncryptionOptions","mail_smtpsecure","smtpSendmailMode","smtpSendmailModeOptions","mail_sendmailmode","hasPasswordChanges","mail_smtppassword","hasCredentialChanges","mail_smtpname","isSaving","isSendingTestEmail","testEmailError","__sfc","testEmail","axios","post","generateUrl","showSuccess","t","error","logger","showError","isAxiosError","response","data","onSubmit","confirmPassword","mail_smtpauth","undefined","config","NcButton","NcCheckboxRadioSwitch","NcLoadingIcon","NcPasswordField","NcFormBox","NcFormGroup","NcNoteCard","NcSelect","NcSettingsSection","NcTextField","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","component","_vm","this","_c","_self","_setup","_setupProxy","attrs","docUrl","configIsReadonly","_v","_s","_e","class","$style","adminSettingsMailServer__form","on","$event","preventDefault","apply","arguments","model","callback","$$v","expression","mail_noverify","$set","mail_from_address","scopedSlots","_u","key","fn","staticStyle","proxy","mail_domain","directives","name","rawName","mail_smtphost","mail_smtpport","adminSettingsMailServer__formAction","context","Vue","AdminSettingsMailServer","$mount","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","loaded","__webpack_modules__","call","m","O","result","chunkIds","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","f","e","chunkId","Promise","all","reduce","promises","u","obj","prop","prototype","hasOwnProperty","l","url","done","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","timeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","nmd","paths","children","scriptUrl","globalThis","importScripts","location","currentScript","tagName","toUpperCase","test","Error","replace","p","b","baseURI","self","href","installedChunks","installedChunkData","promise","resolve","reject","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/lib/private/Authentication/Exceptions/UserAgentForbidden.php b/lib/private/Authentication/Exceptions/UserAgentForbidden.php new file mode 100644 index 0000000000000..f76cc5216cbcb --- /dev/null +++ b/lib/private/Authentication/Exceptions/UserAgentForbidden.php @@ -0,0 +1,13 @@ +