diff options
-rw-r--r-- | apps/settings/src/components/PersonalInfo/AvatarSection.vue | 6 | ||||
-rw-r--r-- | build/ca-bundle-etag.txt | 2 | ||||
-rw-r--r-- | core/src/views/UnifiedSearch.vue | 3 | ||||
-rw-r--r-- | dist/core-unified-search.js | 4 | ||||
-rw-r--r-- | dist/core-unified-search.js.map | 2 | ||||
-rw-r--r-- | dist/settings-vue-settings-personal-info.js | 4 | ||||
-rw-r--r-- | dist/settings-vue-settings-personal-info.js.map | 2 |
7 files changed, 10 insertions, 13 deletions
diff --git a/apps/settings/src/components/PersonalInfo/AvatarSection.vue b/apps/settings/src/components/PersonalInfo/AvatarSection.vue index f0ad1b68d3b..e018023508a 100644 --- a/apps/settings/src/components/PersonalInfo/AvatarSection.vue +++ b/apps/settings/src/components/PersonalInfo/AvatarSection.vue @@ -266,12 +266,6 @@ export default { this.isGenerated = oc_userconfig.avatar.generated = isGenerated this.loading = false emit('settings:avatar:updated', oc_userconfig.avatar.version) - /** - * FIXME refresh all other avatars on the page when updated, - * the NcAvatar component itself should listen to the - * global events and optionally live refresh with a prop toggle - * https://github.com/nextcloud/nextcloud-vue/issues/2975 - */ }, handleDisplayNameUpdate() { diff --git a/build/ca-bundle-etag.txt b/build/ca-bundle-etag.txt index 9ac8d4dcedc..6b02b3f7ea2 100644 --- a/build/ca-bundle-etag.txt +++ b/build/ca-bundle-etag.txt @@ -1 +1 @@ -"3650d-5e41fd9674803" +3650d-5e41fd9674803 diff --git a/core/src/views/UnifiedSearch.vue b/core/src/views/UnifiedSearch.vue index 5d0a2b62a22..60ef3ef0309 100644 --- a/core/src/views/UnifiedSearch.vue +++ b/core/src/views/UnifiedSearch.vue @@ -444,6 +444,9 @@ export default { // Do not search if not long enough if (this.query.trim() === '' || this.isShortQuery) { + for (const type of this.typesIDs) { + this.$delete(this.results, type) + } return } diff --git a/dist/core-unified-search.js b/dist/core-unified-search.js index b4891dff62f..48088922dfb 100644 --- a/dist/core-unified-search.js +++ b/dist/core-unified-search.js @@ -1,3 +1,3 @@ /*! For license information please see core-unified-search.js.LICENSE.txt */ -!function(){"use strict";var n,e={26673:function(n,e,r){var i=r(17499),a=r(22200),o=r(9944),s=r(20144),c=r(74854),u=r(79753),l=r(16453),d=r(4820);function A(n,e,t,r,i,a,o){try{var s=n[a](o),c=s.value}catch(n){return void t(n)}s.done?e(c):Promise.resolve(c).then(r,i)}function h(n){return function(){var e=this,t=arguments;return new Promise((function(r,i){var a=n.apply(e,t);function o(n){A(a,r,i,o,s,"next",n)}function s(n){A(a,r,i,o,s,"throw",n)}o(void 0)}))}}var f=(0,l.loadState)("unified-search","limit-default"),p=(0,l.loadState)("unified-search","min-search-length",2),m=(0,l.loadState)("unified-search","live-search",!0),C=/(^|\s)in:([a-z_-]+)/gi,g=/(^|\s)-in:([a-z_-]+)/gi;function v(){return _.apply(this,arguments)}function _(){return(_=h(regeneratorRuntime.mark((function n(){var e,t;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,d.default.get((0,u.generateOcsUrl)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});case 3:if(e=n.sent,!("ocs"in(t=e.data)&&"data"in t.ocs&&Array.isArray(t.ocs.data)&&t.ocs.data.length>0)){n.next=7;break}return n.abrupt("return",t.ocs.data);case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(0),console.error(n.t0);case 12:return n.abrupt("return",[]);case 13:case"end":return n.stop()}}),n,null,[[0,9]])})))).apply(this,arguments)}function b(n){var e=n.type,t=n.query,r=n.cursor,i=d.default.CancelToken.source(),a=function(){var n=h(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",d.default.get((0,u.generateOcsUrl)("search/providers/{type}/search",{type:e}),{cancelToken:i.token,params:{term:t,cursor:r,from:window.location.pathname.replace("/index.php","")+window.location.search}}));case 1:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}();return{request:a,cancel:i.cancel}}var x=r(26932),y=r(45400),w=r.n(y),k=r(12945),S=r.n(k),D=r(20296),$=r.n(D),B=r(93455),q=r.n(B),R=r(72875),E=r.n(R),I=r(38530),U=r(67536),L=r(85354),O=r.n(L),M={name:"HeaderMenu",directives:{ClickOutside:U.directive},mixins:[O()],props:{id:{type:String,required:!0},ariaLabel:{type:String,default:""},open:{type:Boolean,default:!1}},data:function(){return{opened:this.open,clickOutsideConfig:{handler:this.closeMenu,middleware:this.clickOutsideMiddleware},shortcutsDisabled:OCP.Accessibility.disableKeyboardShortcuts()}},watch:{open:function(n){var e=this;this.opened=n,this.$nextTick((function(){e.opened?e.openMenu():e.closeMenu()}))}},mounted:function(){document.addEventListener("keydown",this.onKeyDown)},beforeDestroy:function(){document.removeEventListener("keydown",this.onKeyDown)},methods:{toggleMenu:function(){this.opened?this.closeMenu():this.openMenu()},closeMenu:function(){this.opened&&(this.opened=!1,this.$emit("close"),this.$emit("update:open",!1))},openMenu:function(){this.opened||(this.opened=!0,this.$emit("open"),this.$emit("update:open",!0))},onKeyDown:function(n){this.shortcutsDisabled||"Escape"===n.key&&this.opened&&(n.preventDefault(),this.$emit("cancel"),this.opened=!1,this.$emit("update:open",!1))}}},P=r(93379),z=r.n(P),F=r(7795),j=r.n(F),Z=r(90569),N=r.n(Z),T=r(3565),G=r.n(T),W=r(19216),Y=r.n(W),H=r(44589),Q=r.n(H),K=r(82965),V={};V.styleTagTransform=Q(),V.setAttributes=G(),V.insert=N().bind(null,"head"),V.domAPI=j(),V.insertStyleElement=Y(),z()(K.Z,V),K.Z&&K.Z.locals&&K.Z.locals;var X=r(51900),J=(0,X.Z)(M,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:n.clickOutsideConfig,expression:"clickOutsideConfig"}],staticClass:"header-menu",class:{"header-menu--opened":n.opened},attrs:{id:n.id}},[t("a",{staticClass:"header-menu__trigger",attrs:{href:"#","aria-label":n.ariaLabel,"aria-controls":"header-menu-"+n.id,"aria-expanded":n.opened.toString()},on:{click:function(e){return e.preventDefault(),n.toggleMenu.apply(null,arguments)}}},[n._t("trigger")],2),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:n.opened,expression:"opened"}],staticClass:"header-menu__carret"}),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:n.opened,expression:"opened"}],staticClass:"header-menu__wrapper",attrs:{id:"header-menu-"+n.id,role:"menu"}},[t("div",{staticClass:"header-menu__content"},[n._t("default")],2)])])}),[],!1,null,"4ba23c22",null),nn=J.exports,en={name:"SearchResult",components:{NcHighlight:E()},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data:function(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl:function(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch(n){return!1}return!0}},watch:{thumbnailUrl:function(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent:function(n){this.$emit(n.type,n)},onError:function(){this.hasValidThumbnail=!1},onLoad:function(){this.loaded=!0}}},tn=r(17543),rn={};rn.styleTagTransform=Q(),rn.setAttributes=G(),rn.insert=N().bind(null,"head"),rn.domAPI=j(),rn.insertStyleElement=Y(),z()(tn.Z,rn),tn.Z&&tn.Z.locals&&tn.Z.locals;var an=(0,X.Z)(en,(function(){var n,e=this,t=e.$createElement,r=e._self._c||t;return r("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":e.focused},attrs:{href:e.resourceUrl||"#"},on:{click:e.reEmitEvent,focus:e.reEmitEvent}},[r("div",{staticClass:"unified-search__result-icon",class:(n={"unified-search__result-icon--rounded":e.rounded,"unified-search__result-icon--no-preview":!e.hasValidThumbnail&&!e.loaded,"unified-search__result-icon--with-thumbnail":e.hasValidThumbnail&&e.loaded},n[e.icon]=!e.loaded&&!e.isIconUrl,n),style:{backgroundImage:e.isIconUrl?"url("+e.icon+")":""}},[e.hasValidThumbnail?r("img",{directives:[{name:"show",rawName:"v-show",value:e.loaded,expression:"loaded"}],attrs:{src:e.thumbnailUrl,alt:""},on:{error:e.onError,load:e.onLoad}}):e._e()]),e._v(" "),r("span",{staticClass:"unified-search__result-content"},[r("span",{staticClass:"unified-search__result-line-one",attrs:{title:e.title}},[r("NcHighlight",{attrs:{text:e.title,search:e.query}})],1),e._v(" "),e.subline?r("span",{staticClass:"unified-search__result-line-two",attrs:{title:e.subline}},[e._v(e._s(e.subline))]):e._e()])])}),[],!1,null,"288e1e92",null).exports,on={name:"SearchResultPlaceholders",data:function(){return{light:null,dark:null}},mounted:function(){var n=getComputedStyle(document.documentElement);this.dark=n.getPropertyValue("--color-placeholder-dark"),this.light=n.getPropertyValue("--color-placeholder-light")},methods:{randWidth:function(){return Math.floor(20*Math.random())+30}}},sn=r(44201),cn={};cn.styleTagTransform=Q(),cn.setAttributes=G(),cn.insert=N().bind(null,"head"),cn.domAPI=j(),cn.insertStyleElement=Y(),z()(sn.Z,cn),sn.Z&&sn.Z.locals&&sn.Z.locals;var un=(0,X.Z)(on,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("ul",[t("svg",{staticClass:"unified-search__result-placeholder-gradient"},[t("defs",[t("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[t("stop",{attrs:{offset:"0%","stop-color":n.light}},[t("animate",{attrs:{attributeName:"stop-color",values:n.light+"; "+n.light+"; "+n.dark+"; "+n.dark+"; "+n.light,dur:"2s",repeatCount:"indefinite"}})]),n._v(" "),t("stop",{attrs:{offset:"100%","stop-color":n.dark}},[t("animate",{attrs:{attributeName:"stop-color",values:n.dark+"; "+n.light+"; "+n.light+"; "+n.dark+"; "+n.dark,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),n._v(" "),n._l([1,2,3],(function(e){return t("li",{key:e},[t("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[t("rect",{staticClass:"unified-search__result-placeholder-icon"}),n._v(" "),t("rect",{staticClass:"unified-search__result-placeholder-line-one"}),n._v(" "),t("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:"calc("+n.randWidth()+"%)"}})])])}))],2)}),[],!1,null,"9ed03c40",null).exports;function ln(n){return function(n){if(Array.isArray(n))return dn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return dn(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?dn(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dn(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}function An(n,e,t,r,i,a,o){try{var s=n[a](o),c=s.value}catch(n){return void t(n)}s.done?e(c):Promise.resolve(c).then(r,i)}function hn(n){return function(){var e=this,t=arguments;return new Promise((function(r,i){var a=n.apply(e,t);function o(n){An(a,r,i,o,s,"next",n)}function s(n){An(a,r,i,o,s,"throw",n)}o(void 0)}))}}var fn={name:"UnifiedSearch",components:{NcActionButton:w(),NcActions:S(),NcEmptyContent:q(),HeaderMenu:nn,NcHighlight:E(),Magnify:I.Z,SearchResult:an,SearchResultPlaceholders:un},data:function(){return{types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:f,minSearchLength:p,enableLiveSearch:m,open:!1}},computed:{typesIDs:function(){return this.types.map((function(n){return n.id}))},typesNames:function(){return this.types.map((function(n){return n.name}))},typesMap:function(){return this.types.reduce((function(n,e){return n[e.id]=e.name,n}),{})},ariaLabel:function(){return t("core","Search")},hasResults:function(){return 0!==Object.keys(this.results).length},orderedResults:function(){var n=this;return this.typesIDs.filter((function(e){return e in n.results})).map((function(e){return{type:e,list:n.results[e]}}))},availableFilters:function(){return Object.keys(this.results)},usedFiltersIn:function(){for(var n,e=[];null!==(n=C.exec(this.query));)e.push(n[1]);return e},usedFiltersNot:function(){for(var n,e=[];null!==(n=g.exec(this.query));)e.push(n[1]);return e},isShortQuery:function(){return this.query&&this.query.trim().length<p},isValidQuery:function(){return this.query&&""!==this.query.trim()&&!this.isShortQuery},isDoneSearching:function(){return Object.values(this.reached).every((function(n){return!1===n}))},isLoading:function(){return Object.values(this.loading).some((function(n){return!0===n}))}},created:function(){var n=this;return hn(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(0,c.Ld)("files:navigation:changed",n.resetForm),e.next=3,v();case 3:n.types=e.sent,n.logger.debug("Unified Search initialized with the following providers",n.types);case 5:case"end":return e.stop()}}),e)})))()},beforeDestroy:function(){(0,c.r1)("files:navigation:changed",this.resetForm)},mounted:function(){var n=this;OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",(function(e){e.ctrlKey&&"f"===e.key&&!n.open&&(e.preventDefault(),n.open=!0,n.focusInput()),n.open&&("ArrowDown"===e.key&&n.focusNext(e),"ArrowUp"===e.key&&n.focusPrev(e))}))},methods:{onOpen:function(){var n=this;return hn(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.focusInput(),e.next=3,v();case 3:n.types=e.sent;case 4:case"end":return e.stop()}}),e)})))()},onClose:function(){(0,c.j8)("nextcloud:unified-search.close")},resetForm:function(){this.$el.querySelector('form[role="search"]').reset()},onReset:function(){(0,c.j8)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},resetState:function(){var n=this;return hn(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.cursors={},n.limits={},n.reached={},n.results={},n.focused=null,n.triggered=!1,e.next=8,n.cancelPendingRequests();case 8:case"end":return e.stop()}}),e)})))()},cancelPendingRequests:function(){var n=this;return hn(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=n.requests.slice(0),n.requests=[],e.next=4,Promise.all(t.map((function(n){return n()})));case 4:case"end":return e.stop()}}),e)})))()},focusInput:function(){var n=this;this.$nextTick((function(){n.$refs.input.focus(),n.$refs.input.select()}))},onInputEnter:function(){this.hasResults?this.getResultsList()[0].click():this.onInput()},onInput:function(){var n=this;return hn(regeneratorRuntime.mark((function e(){var t,r;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((0,c.j8)("nextcloud:unified-search.search",{query:n.query}),""!==n.query.trim()&&!n.isShortQuery){e.next=3;break}return e.abrupt("return");case 3:return t=n.typesIDs,r=n.query,n.usedFiltersNot.length>0&&(t=n.typesIDs.filter((function(e){return-1===n.usedFiltersNot.indexOf(e)}))),n.usedFiltersIn.length>0&&(t=n.typesIDs.filter((function(e){return n.usedFiltersIn.indexOf(e)>-1}))),r=r.replace(C,"").replace(g,""),e.next=10,n.resetState();case 10:n.triggered=!0,n.$set(n.loading,"all",!0),n.logger.debug("Searching ".concat(r," in"),t),Promise.all(t.map(function(){var e=hn(regeneratorRuntime.mark((function e(t){var i,a,o,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,i=b({type:t,query:r}),a=i.request,o=i.cancel,n.requests.push(o),e.next=5,a();case 5:return s=e.sent,(c=s.data).ocs.data.entries.length>0?n.$set(n.results,t,c.ocs.data.entries):n.$delete(n.results,t),c.ocs.data.cursor?n.$set(n.cursors,t,c.ocs.data.cursor):c.ocs.data.isPaginated||n.$set(n.limits,t,n.defaultLimit),c.ocs.data.entries.length<n.defaultLimit&&n.$set(n.reached,t,!0),null===n.focused&&(n.focused=0),e.abrupt("return",1);case 14:if(e.prev=14,e.t0=e.catch(0),n.$delete(n.results,t),!e.t0.response||!e.t0.response.status){e.next=21;break}return n.logger.error("Error searching for ".concat(n.typesMap[t]),e.t0),(0,x.showError)(n.t("core","An error occurred while searching for {type}",{type:n.typesMap[t]})),e.abrupt("return",0);case 21:return e.abrupt("return",2);case 22:case"end":return e.stop()}}),e,null,[[0,14]])})));return function(n){return e.apply(this,arguments)}}())).then((function(e){e.some((function(n){return 2===n}))||(n.loading={})}));case 14:case"end":return e.stop()}}),e)})))()},onInputDebounced:m?$()((function(n){this.onInput(n)}),500):function(){this.triggered=!1},loadMore:function(n){var e=this;return hn(regeneratorRuntime.mark((function t(){var r,i,a,o,s,c;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.loading[n]){t.next=2;break}return t.abrupt("return");case 2:if(!e.cursors[n]){t.next=14;break}return r=b({type:n,query:e.query,cursor:e.cursors[n]}),i=r.request,a=r.cancel,e.requests.push(a),t.next=7,i();case 7:o=t.sent,(s=o.data).ocs.data.cursor&&e.$set(e.cursors,n,s.ocs.data.cursor),s.ocs.data.entries.length>0&&(c=e.results[n]).push.apply(c,ln(s.ocs.data.entries)),s.ocs.data.entries.length<e.defaultLimit&&e.$set(e.reached,n,!0),t.next=15;break;case 14:e.limits[n]&&e.limits[n]>=0&&(e.limits[n]+=e.defaultLimit,e.limits[n]>=e.results[n].length&&e.$set(e.reached,n,!0));case 15:null!==e.focused&&e.$nextTick((function(){e.focusIndex(e.focused)}));case 16:case"end":return t.stop()}}),t)})))()},limitIfAny:function(n,e){return e in this.limits?n.slice(0,this.limits[e]):n},getResultsList:function(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst:function(n){var e=this.getResultsList();e&&e.length>0&&(n&&n.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext:function(n){if(null!==this.focused){var e=this.getResultsList();e&&e.length>0&&this.focused+1<e.length&&(n.preventDefault(),this.focused++,this.focusIndex(this.focused))}else this.focusFirst(n)},focusPrev:function(n){if(null!==this.focused){var e=this.getResultsList();e&&e.length>0&&this.focused>0&&(n.preventDefault(),this.focused--,this.focusIndex(this.focused))}else this.focusFirst(n)},focusIndex:function(n){var e=this.getResultsList();e&&e[n]&&e[n].focus()},setFocusedIndex:function(n){var e=n.target,t=ln(this.getResultsList()).findIndex((function(n){return n===e}));t>-1&&(this.focused=t)},onClickFilter:function(n){this.query="".concat(this.query," ").concat(n).replace(/ {2}/g," ").trim(),this.onInput()}}},pn=fn,mn=r(12906),Cn={};Cn.styleTagTransform=Q(),Cn.setAttributes=G(),Cn.insert=N().bind(null,"head"),Cn.domAPI=j(),Cn.insertStyleElement=Y(),z()(mn.Z,Cn),mn.Z&&mn.Z.locals&&mn.Z.locals;var gn=(0,X.Z)(pn,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("HeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-classes":"popover",open:n.open,"aria-label":n.ariaLabel},on:{"update:open":function(e){n.open=e},open:n.onOpen,close:n.onClose},scopedSlots:n._u([{key:"trigger",fn:function(){return[t("Magnify",{staticClass:"unified-search__trigger",attrs:{size:22,"fill-color":"var(--color-primary-text)"}})]},proxy:!0}])},[n._v(" "),t("div",{staticClass:"unified-search__input-wrapper"},[t("label",{attrs:{for:"unified-search__input"}},[n._v(n._s(n.ariaLabel))]),n._v(" "),t("div",{staticClass:"unified-search__input-row"},[t("form",{staticClass:"unified-search__form",class:{"icon-loading-small":n.isLoading},attrs:{role:"search"},on:{submit:function(e){return e.preventDefault(),e.stopPropagation(),n.onInputEnter.apply(null,arguments)},reset:function(e){return e.preventDefault(),e.stopPropagation(),n.onReset.apply(null,arguments)}}},[t("input",{directives:[{name:"model",rawName:"v-model",value:n.query,expression:"query"}],ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!n.query},attrs:{id:"unified-search__input",type:"search",placeholder:n.t("core","Search {types} …",{types:n.typesNames.join(", ")}),"aria-describedby":"unified-search-desc"},domProps:{value:n.query},on:{input:[function(e){e.target.composing||(n.query=e.target.value)},n.onInputDebounced],keypress:function(e){return!e.type.indexOf("key")&&n._k(e.keyCode,"enter",13,e.key,"Enter")?null:(e.preventDefault(),e.stopPropagation(),n.onInputEnter.apply(null,arguments))}}}),n._v(" "),t("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[n._v("\n\t\t\t\t\t"+n._s(n.t("core","Search starts once you start typing"))+"\n\t\t\t\t")]),n._v(" "),n.query&&!n.isLoading?t("input",{staticClass:"unified-search__form-reset icon-close",attrs:{type:"reset","aria-label":n.t("core","Reset search"),value:""}}):n._e(),n._v(" "),!n.query||n.isLoading||n.enableLiveSearch?n._e():t("input",{staticClass:"unified-search__form-submit icon-confirm",attrs:{type:"submit","aria-label":n.t("core","Start search"),value:""}})]),n._v(" "),n.availableFilters.length>1?t("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom"}},n._l(n.availableFilters,(function(e){return t("NcActionButton",{key:e,attrs:{icon:"icon-filter",title:n.t("core","Search for {name} only",{name:n.typesMap[e]})},on:{click:function(t){return n.onClickFilter("in:"+e)}}},[n._v("\n\t\t\t\t\t"+n._s("in:"+e)+"\n\t\t\t\t")])})),1):n._e()],1)]),n._v(" "),n.hasResults?n._l(n.orderedResults,(function(e,r){var i=e.list,a=e.type;return t("ul",{key:a,staticClass:"unified-search__results",class:"unified-search__results-"+a,attrs:{"aria-label":n.typesMap[a]}},[t("h2",{staticClass:"unified-search__results-header"},[n._v("\n\t\t\t\t"+n._s(n.typesMap[a])+"\n\t\t\t")]),n._v(" "),n._l(n.limitIfAny(i,a),(function(e,i){return t("li",{key:e.resourceUrl},[t("SearchResult",n._b({attrs:{query:n.query,focused:0===n.focused&&0===r&&0===i},on:{focus:n.setFocusedIndex}},"SearchResult",e,!1))],1)})),n._v(" "),t("li",[n.reached[a]?n._e():t("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:n.loading[a]?n.t("core","Loading more results …"):n.t("core","Load more results"),"icon-class":n.loading[a]?"icon-loading-small":""},on:{click:function(e){return e.preventDefault(),n.loadMore(a)},focus:n.setFocusedIndex}})],1)],2)})):[n.isLoading?t("SearchResultPlaceholders"):n.isValidQuery?t("NcEmptyContent",{scopedSlots:n._u([{key:"icon",fn:function(){return[t("Magnify")]},proxy:!0}],null,!1,931131664)},[n.triggered?t("NcHighlight",{attrs:{text:n.t("core","No results for {query}",{query:n.query}),search:n.query}}):t("div",[n._v("\n\t\t\t\t"+n._s(n.t("core","Press enter to start searching"))+"\n\t\t\t")])],1):!n.isLoading||n.isShortQuery?t("NcEmptyContent",{scopedSlots:n._u([{key:"icon",fn:function(){return[t("Magnify")]},proxy:!0},n.isShortQuery?{key:"desc",fn:function(){return[n._v("\n\t\t\t\t"+n._s(n.n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters or more to search",n.minSearchLength,{minSearchLength:n.minSearchLength}))+"\n\t\t\t")]},proxy:!0}:null],null,!0)},[n._v("\n\t\t\t"+n._s(n.t("core","Start typing to search"))+"\n\t\t\t")]):n._e()]],2)}),[],!1,null,"1a90fee1",null),vn=gn.exports;r.nc=btoa((0,a.getRequestToken)());var _n=(0,i.IY)().setApp("unified-search").detectUser().build();s.ZP.mixin({data:function(){return{logger:_n}},methods:{t:o.translate,n:o.translatePlural}}),new s.ZP({el:"#unified-search",name:"UnifiedSearchRoot",render:function(n){return n(vn)}})},82965:function(n,e,t){var r=t(87537),i=t.n(r),a=t(23645),o=t.n(a)()(i());o.push([n.id,'.header-menu__trigger[data-v-4ba23c22]{display:flex;align-items:center;justify-content:center;width:50px;height:44px;margin:2px 0;padding:0;cursor:pointer;opacity:.85}.header-menu--opened .header-menu__trigger[data-v-4ba23c22],.header-menu__trigger[data-v-4ba23c22]:hover,.header-menu__trigger[data-v-4ba23c22]:focus,.header-menu__trigger[data-v-4ba23c22]:active{opacity:1}.header-menu__trigger[data-v-4ba23c22]:focus-visible{outline:none}.header-menu__wrapper[data-v-4ba23c22]{position:fixed;z-index:2000;top:50px;right:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));padding:8px;border-radius:var(--border-radius-large)}.header-menu__carret[data-v-4ba23c22]{position:absolute;z-index:2001;left:calc(50% - 10px);bottom:0;width:0;height:0;content:" ";pointer-events:none;border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-4ba23c22]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:66px;max-height:calc(100vh - 100px)}',"",{version:3,sources:["webpack://./core/src/components/HeaderMenu.vue"],names:[],mappings:"AA2KC,uCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CAGD,oMAIC,SAAA,CAGD,qDACC,YAAA,CAGD,uCACC,cAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CACA,qBAAA,CACA,YAAA,CACA,2DAAA,CACA,6CAAA,CACA,qDAAA,CACA,WAAA,CACA,wCAAA,CAGD,sCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA,CACA,gDAAA,CAGD,uCACC,aAAA,CACA,WAAA,CACA,4BAAA,CACA,eAAA,CACA,8BAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$externalMargin: 8px;\n\n.header-menu {\n\t&__trigger {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 50px;\n\t\theight: 44px;\n\t\tmargin: 2px 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t&__trigger:focus-visible {\n\t\toutline: none;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tright: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t\tpadding: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tleft: calc(50% - 10px);\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t}\n}\n\n"],sourceRoot:""}]),e.Z=o},17543:function(n,e,t){var r=t(87537),i=t.n(r),a=t(23645),o=t.n(a)()(i());o.push([n.id,".unified-search__result[data-v-288e1e92]{display:flex;align-items:center;height:44px;padding:10px;border-bottom:1px solid var(--color-border);border-radius:var(--border-radius-large) !important}.unified-search__result[data-v-288e1e92]:last-child{border-bottom:none}.unified-search__result--focused[data-v-288e1e92],.unified-search__result[data-v-288e1e92]:active,.unified-search__result[data-v-288e1e92]:hover,.unified-search__result[data-v-288e1e92]:focus{background-color:var(--color-background-hover)}.unified-search__result *[data-v-288e1e92]{cursor:pointer}.unified-search__result-icon[data-v-288e1e92]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-288e1e92]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-288e1e92]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-288e1e92]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-288e1e92],.unified-search__result-actions[data-v-288e1e92]{flex:0 0 44px}.unified-search__result-content[data-v-288e1e92]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-288e1e92],.unified-search__result-line-two[data-v-288e1e92]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-288e1e92]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResult.vue"],names:[],mappings:"AAyKA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,2CAAA,CACA,mDAAA,CAGA,oDACC,kBAAA,CAGD,gMAIC,8CAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA7Be,CA8Bf,WA9Be,CA+Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAxEO,CA2ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder-bottom: 1px solid var(--color-border);\n\tborder-radius: var(--border-radius-large) !important;\n\n\t// Load more entry,\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t&--focused,\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]),e.Z=o},44201:function(n,e,t){var r=t(87537),i=t.n(r),a=t(23645),o=t.n(a)()(i());o.push([n.id,".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2 * 10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AA+DA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,2BAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]),e.Z=o},12906:function(n,e,t){var r=t(87537),i=t.n(r),a=t(23645),o=t.n(a)()(i());o.push([n.id,".unified-search__input-wrapper[data-v-1a90fee1]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-1a90fee1]{align-self:flex-start;font-weight:bold;font-size:18px;margin-left:13px}.unified-search__form-input[data-v-1a90fee1]{margin:0 !important}.unified-search__input-row[data-v-1a90fee1]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-1a90fee1]{margin:10px 0 10px 5px}.unified-search__filters ul[data-v-1a90fee1]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-1a90fee1]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-1a90fee1]::after{right:6px;left:auto}.unified-search__form-input[data-v-1a90fee1],.unified-search__form-reset[data-v-1a90fee1]{margin:3px}.unified-search__form-input[data-v-1a90fee1]{width:100%;height:34px;padding:6px}.unified-search__form-input[data-v-1a90fee1],.unified-search__form-input[placeholder][data-v-1a90fee1],.unified-search__form-input[data-v-1a90fee1]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-1a90fee1]::-webkit-search-decoration,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-cancel-button,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-results-button,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-results-decoration{-webkit-appearance:none}.icon-loading-small .unified-search__form-input[data-v-1a90fee1],.unified-search__form-input--with-reset[data-v-1a90fee1]{padding-right:34px}.unified-search__form-reset[data-v-1a90fee1],.unified-search__form-submit[data-v-1a90fee1]{position:absolute;top:0;right:4px;width:28px;height:28px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-1a90fee1]:hover,.unified-search__form-reset[data-v-1a90fee1]:focus,.unified-search__form-reset[data-v-1a90fee1]:active,.unified-search__form-submit[data-v-1a90fee1]:hover,.unified-search__form-submit[data-v-1a90fee1]:focus,.unified-search__form-submit[data-v-1a90fee1]:active{opacity:1}.unified-search__form-submit[data-v-1a90fee1]{right:28px}.unified-search__results[data-v-1a90fee1]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-1a90fee1]{display:block;margin:10px;margin-bottom:6px;margin-left:16px;color:var(--color-primary-element);font-weight:normal;font-size:18px}.unified-search .unified-search__result-more[data-v-1a90fee1]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-1a90fee1]{margin:10vh 0}.unified-search .empty-content[data-v-1a90fee1] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);padding:0 15px;text-align:center}","",{version:3,sources:["webpack://./core/src/views/UnifiedSearch.vue"],names:[],mappings:"AAssBC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CAGD,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,SA/Ca,CAgDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA3DY,CA4DZ,WA3Da,CA6Db,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAID,0HAEC,kBAjFW,CAqFb,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAlHM,CAmHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,kBAAA,CACA,cAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,uEACC,kBAAA,CACS,kCAAA,CACT,cAAA,CACA,iBAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 6px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 18px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\n\t\t\t// Ellipsis earlier if reset button is here\n\t\t\t.icon-loading-small &,\n\t\t\t&--with-reset {\n\t\t\t\tpadding-right: $input-height;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: $margin + $input-padding;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 18px;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n font-size: var(--default-font-size);\n\t\t\tpadding: 0 15px;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]),e.Z=o}},r={};function i(n){var t=r[n];if(void 0!==t)return t.exports;var a=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.m=e,i.amdD=function(){throw new Error("define cannot be used indirect")},i.amdO={},n=[],i.O=function(e,t,r,a){if(!t){var o=1/0;for(l=0;l<n.length;l++){t=n[l][0],r=n[l][1],a=n[l][2];for(var s=!0,c=0;c<t.length;c++)(!1&a||o>=a)&&Object.keys(i.O).every((function(n){return i.O[n](t[c])}))?t.splice(c--,1):(s=!1,a<o&&(o=a));if(s){n.splice(l--,1);var u=r();void 0!==u&&(e=u)}}return e}a=a||0;for(var l=n.length;l>0&&n[l-1][2]>a;l--)n[l]=n[l-1];n[l]=[t,r,a]},i.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(e,{a:e}),e},i.d=function(n,e){for(var t in e)i.o(e,t)&&!i.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),i.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},i.j=9671,function(){i.b=document.baseURI||self.location.href;var n={9671:0};i.O.j=function(e){return 0===n[e]};var e=function(e,t){var r,a,o=t[0],s=t[1],c=t[2],u=0;if(o.some((function(e){return 0!==n[e]}))){for(r in s)i.o(s,r)&&(i.m[r]=s[r]);if(c)var l=c(i)}for(e&&e(t);u<o.length;u++)a=o[u],i.o(n,a)&&n[a]&&n[a][0](),n[a]=0;return i.O(l)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))}(),i.nc=void 0;var a=i.O(void 0,[7874],(function(){return i(26673)}));a=i.O(a)}(); -//# sourceMappingURL=core-unified-search.js.map?v=79c03fed6ab343fb88b1
\ No newline at end of file +!function(){"use strict";var n,e={15458:function(n,e,r){var i=r(17499),a=r(22200),o=r(9944),s=r(20144),u=r(74854),c=r(79753),l=r(16453),d=r(4820);function A(n,t,e,r,i,a,o){try{var s=n[a](o),u=s.value}catch(n){return void e(n)}s.done?t(u):Promise.resolve(u).then(r,i)}function h(n){return function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(n){A(a,r,i,o,s,"next",n)}function s(n){A(a,r,i,o,s,"throw",n)}o(void 0)}))}}var p=(0,l.loadState)("unified-search","limit-default"),f=(0,l.loadState)("unified-search","min-search-length",2),m=(0,l.loadState)("unified-search","live-search",!0),g=/(^|\s)in:([a-z_-]+)/gi,C=/(^|\s)-in:([a-z_-]+)/gi;function v(){return b.apply(this,arguments)}function b(){return(b=h(regeneratorRuntime.mark((function n(){var t,e;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,d.default.get((0,c.generateOcsUrl)("search/providers"),{params:{from:window.location.pathname.replace("/index.php","")+window.location.search}});case 3:if(t=n.sent,!("ocs"in(e=t.data)&&"data"in e.ocs&&Array.isArray(e.ocs.data)&&e.ocs.data.length>0)){n.next=7;break}return n.abrupt("return",e.ocs.data);case 7:n.next=12;break;case 9:n.prev=9,n.t0=n.catch(0),console.error(n.t0);case 12:return n.abrupt("return",[]);case 13:case"end":return n.stop()}}),n,null,[[0,9]])})))).apply(this,arguments)}function _(n){var t=n.type,e=n.query,r=n.cursor,i=d.default.CancelToken.source(),a=function(){var n=h(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.abrupt("return",d.default.get((0,c.generateOcsUrl)("search/providers/{type}/search",{type:t}),{cancelToken:i.token,params:{term:e,cursor:r,from:window.location.pathname.replace("/index.php","")+window.location.search}}));case 1:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}();return{request:a,cancel:i.cancel}}var y=r(26932),x=r(45400),w=r.n(x),k=r(12945),S=r.n(k),D=r(20296),$=r.n(D),B=r(93455),q=r.n(B),I=r(72875),E=r.n(I),R=r(38530),U=r(67536),L=r(85354),O=r.n(L),M={name:"HeaderMenu",directives:{ClickOutside:U.directive},mixins:[O()],props:{id:{type:String,required:!0},ariaLabel:{type:String,default:""},open:{type:Boolean,default:!1}},data:function(){return{opened:this.open,clickOutsideConfig:{handler:this.closeMenu,middleware:this.clickOutsideMiddleware},shortcutsDisabled:OCP.Accessibility.disableKeyboardShortcuts()}},watch:{open:function(n){var t=this;this.opened=n,this.$nextTick((function(){t.opened?t.openMenu():t.closeMenu()}))}},mounted:function(){document.addEventListener("keydown",this.onKeyDown)},beforeDestroy:function(){document.removeEventListener("keydown",this.onKeyDown)},methods:{toggleMenu:function(){this.opened?this.closeMenu():this.openMenu()},closeMenu:function(){this.opened&&(this.opened=!1,this.$emit("close"),this.$emit("update:open",!1))},openMenu:function(){this.opened||(this.opened=!0,this.$emit("open"),this.$emit("update:open",!0))},onKeyDown:function(n){this.shortcutsDisabled||"Escape"===n.key&&this.opened&&(n.preventDefault(),this.$emit("cancel"),this.opened=!1,this.$emit("update:open",!1))}}},P=r(93379),z=r.n(P),F=r(7795),j=r.n(F),Z=r(90569),N=r.n(Z),T=r(3565),G=r.n(T),W=r(19216),Y=r.n(W),H=r(44589),Q=r.n(H),K=r(82965),V={};V.styleTagTransform=Q(),V.setAttributes=G(),V.insert=N().bind(null,"head"),V.domAPI=j(),V.insertStyleElement=Y(),z()(K.Z,V),K.Z&&K.Z.locals&&K.Z.locals;var X=r(51900),J=(0,X.Z)(M,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("div",{directives:[{name:"click-outside",rawName:"v-click-outside",value:n.clickOutsideConfig,expression:"clickOutsideConfig"}],staticClass:"header-menu",class:{"header-menu--opened":n.opened},attrs:{id:n.id}},[e("a",{staticClass:"header-menu__trigger",attrs:{href:"#","aria-label":n.ariaLabel,"aria-controls":"header-menu-"+n.id,"aria-expanded":n.opened.toString()},on:{click:function(t){return t.preventDefault(),n.toggleMenu.apply(null,arguments)}}},[n._t("trigger")],2),n._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:n.opened,expression:"opened"}],staticClass:"header-menu__carret"}),n._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:n.opened,expression:"opened"}],staticClass:"header-menu__wrapper",attrs:{id:"header-menu-"+n.id,role:"menu"}},[e("div",{staticClass:"header-menu__content"},[n._t("default")],2)])])}),[],!1,null,"4ba23c22",null),nn=J.exports,tn={name:"SearchResult",components:{NcHighlight:E()},props:{thumbnailUrl:{type:String,default:null},title:{type:String,required:!0},subline:{type:String,default:null},resourceUrl:{type:String,default:null},icon:{type:String,default:""},rounded:{type:Boolean,default:!1},query:{type:String,default:""},focused:{type:Boolean,default:!1}},data:function(){return{hasValidThumbnail:this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),loaded:!1}},computed:{isIconUrl:function(){if(this.icon.startsWith("/"))return!0;try{new URL(this.icon)}catch(n){return!1}return!0}},watch:{thumbnailUrl:function(){this.hasValidThumbnail=this.thumbnailUrl&&""!==this.thumbnailUrl.trim(),this.loaded=!1}},methods:{reEmitEvent:function(n){this.$emit(n.type,n)},onError:function(){this.hasValidThumbnail=!1},onLoad:function(){this.loaded=!0}}},en=r(17543),rn={};rn.styleTagTransform=Q(),rn.setAttributes=G(),rn.insert=N().bind(null,"head"),rn.domAPI=j(),rn.insertStyleElement=Y(),z()(en.Z,rn),en.Z&&en.Z.locals&&en.Z.locals;var an=(0,X.Z)(tn,(function(){var n,t=this,e=t.$createElement,r=t._self._c||e;return r("a",{staticClass:"unified-search__result",class:{"unified-search__result--focused":t.focused},attrs:{href:t.resourceUrl||"#"},on:{click:t.reEmitEvent,focus:t.reEmitEvent}},[r("div",{staticClass:"unified-search__result-icon",class:(n={"unified-search__result-icon--rounded":t.rounded,"unified-search__result-icon--no-preview":!t.hasValidThumbnail&&!t.loaded,"unified-search__result-icon--with-thumbnail":t.hasValidThumbnail&&t.loaded},n[t.icon]=!t.loaded&&!t.isIconUrl,n),style:{backgroundImage:t.isIconUrl?"url("+t.icon+")":""}},[t.hasValidThumbnail?r("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],attrs:{src:t.thumbnailUrl,alt:""},on:{error:t.onError,load:t.onLoad}}):t._e()]),t._v(" "),r("span",{staticClass:"unified-search__result-content"},[r("span",{staticClass:"unified-search__result-line-one",attrs:{title:t.title}},[r("NcHighlight",{attrs:{text:t.title,search:t.query}})],1),t._v(" "),t.subline?r("span",{staticClass:"unified-search__result-line-two",attrs:{title:t.subline}},[t._v(t._s(t.subline))]):t._e()])])}),[],!1,null,"288e1e92",null).exports,on={name:"SearchResultPlaceholders",data:function(){return{light:null,dark:null}},mounted:function(){var n=getComputedStyle(document.documentElement);this.dark=n.getPropertyValue("--color-placeholder-dark"),this.light=n.getPropertyValue("--color-placeholder-light")},methods:{randWidth:function(){return Math.floor(20*Math.random())+30}}},sn=r(44201),un={};un.styleTagTransform=Q(),un.setAttributes=G(),un.insert=N().bind(null,"head"),un.domAPI=j(),un.insertStyleElement=Y(),z()(sn.Z,un),sn.Z&&sn.Z.locals&&sn.Z.locals;var cn=(0,X.Z)(on,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("ul",[e("svg",{staticClass:"unified-search__result-placeholder-gradient"},[e("defs",[e("linearGradient",{attrs:{id:"unified-search__result-placeholder-gradient"}},[e("stop",{attrs:{offset:"0%","stop-color":n.light}},[e("animate",{attrs:{attributeName:"stop-color",values:n.light+"; "+n.light+"; "+n.dark+"; "+n.dark+"; "+n.light,dur:"2s",repeatCount:"indefinite"}})]),n._v(" "),e("stop",{attrs:{offset:"100%","stop-color":n.dark}},[e("animate",{attrs:{attributeName:"stop-color",values:n.dark+"; "+n.light+"; "+n.light+"; "+n.dark+"; "+n.dark,dur:"2s",repeatCount:"indefinite"}})])],1)],1)]),n._v(" "),n._l([1,2,3],(function(t){return e("li",{key:t},[e("svg",{staticClass:"unified-search__result-placeholder",attrs:{xmlns:"http://www.w3.org/2000/svg",fill:"url(#unified-search__result-placeholder-gradient)"}},[e("rect",{staticClass:"unified-search__result-placeholder-icon"}),n._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-one"}),n._v(" "),e("rect",{staticClass:"unified-search__result-placeholder-line-two",style:{width:"calc("+n.randWidth()+"%)"}})])])}))],2)}),[],!1,null,"9ed03c40",null).exports;function ln(n){return function(n){if(Array.isArray(n))return hn(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||An(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function dn(n,t){var e="undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(!e){if(Array.isArray(n)||(e=An(n))||t&&n&&"number"==typeof n.length){e&&(n=e);var r=0,i=function(){};return{s:i,n:function(){return r>=n.length?{done:!0}:{done:!1,value:n[r++]}},e:function(n){throw n},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){e=e.call(n)},n:function(){var n=e.next();return o=n.done,n},e:function(n){s=!0,a=n},f:function(){try{o||null==e.return||e.return()}finally{if(s)throw a}}}}function An(n,t){if(n){if("string"==typeof n)return hn(n,t);var e=Object.prototype.toString.call(n).slice(8,-1);return"Object"===e&&n.constructor&&(e=n.constructor.name),"Map"===e||"Set"===e?Array.from(n):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?hn(n,t):void 0}}function hn(n,t){(null==t||t>n.length)&&(t=n.length);for(var e=0,r=new Array(t);e<t;e++)r[e]=n[e];return r}function pn(n,t,e,r,i,a,o){try{var s=n[a](o),u=s.value}catch(n){return void e(n)}s.done?t(u):Promise.resolve(u).then(r,i)}function fn(n){return function(){var t=this,e=arguments;return new Promise((function(r,i){var a=n.apply(t,e);function o(n){pn(a,r,i,o,s,"next",n)}function s(n){pn(a,r,i,o,s,"throw",n)}o(void 0)}))}}var mn={name:"UnifiedSearch",components:{NcActionButton:w(),NcActions:S(),NcEmptyContent:q(),HeaderMenu:nn,NcHighlight:E(),Magnify:R.Z,SearchResult:an,SearchResultPlaceholders:cn},data:function(){return{types:[],cursors:{},limits:{},loading:{},reached:{},requests:[],results:{},query:"",focused:null,triggered:!1,defaultLimit:p,minSearchLength:f,enableLiveSearch:m,open:!1}},computed:{typesIDs:function(){return this.types.map((function(n){return n.id}))},typesNames:function(){return this.types.map((function(n){return n.name}))},typesMap:function(){return this.types.reduce((function(n,t){return n[t.id]=t.name,n}),{})},ariaLabel:function(){return t("core","Search")},hasResults:function(){return 0!==Object.keys(this.results).length},orderedResults:function(){var n=this;return this.typesIDs.filter((function(t){return t in n.results})).map((function(t){return{type:t,list:n.results[t]}}))},availableFilters:function(){return Object.keys(this.results)},usedFiltersIn:function(){for(var n,t=[];null!==(n=g.exec(this.query));)t.push(n[1]);return t},usedFiltersNot:function(){for(var n,t=[];null!==(n=C.exec(this.query));)t.push(n[1]);return t},isShortQuery:function(){return this.query&&this.query.trim().length<f},isValidQuery:function(){return this.query&&""!==this.query.trim()&&!this.isShortQuery},isDoneSearching:function(){return Object.values(this.reached).every((function(n){return!1===n}))},isLoading:function(){return Object.values(this.loading).some((function(n){return!0===n}))}},created:function(){var n=this;return fn(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(0,u.Ld)("files:navigation:changed",n.resetForm),t.next=3,v();case 3:n.types=t.sent,n.logger.debug("Unified Search initialized with the following providers",n.types);case 5:case"end":return t.stop()}}),t)})))()},beforeDestroy:function(){(0,u.r1)("files:navigation:changed",this.resetForm)},mounted:function(){var n=this;OCP.Accessibility.disableKeyboardShortcuts()||document.addEventListener("keydown",(function(t){t.ctrlKey&&"f"===t.key&&!n.open&&(t.preventDefault(),n.open=!0,n.focusInput()),n.open&&("ArrowDown"===t.key&&n.focusNext(t),"ArrowUp"===t.key&&n.focusPrev(t))}))},methods:{onOpen:function(){var n=this;return fn(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.focusInput(),t.next=3,v();case 3:n.types=t.sent;case 4:case"end":return t.stop()}}),t)})))()},onClose:function(){(0,u.j8)("nextcloud:unified-search.close")},resetForm:function(){this.$el.querySelector('form[role="search"]').reset()},onReset:function(){(0,u.j8)("nextcloud:unified-search.reset"),this.logger.debug("Search reset"),this.query="",this.resetState(),this.focusInput()},resetState:function(){var n=this;return fn(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n.cursors={},n.limits={},n.reached={},n.results={},n.focused=null,n.triggered=!1,t.next=8,n.cancelPendingRequests();case 8:case"end":return t.stop()}}),t)})))()},cancelPendingRequests:function(){var n=this;return fn(regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=n.requests.slice(0),n.requests=[],t.next=4,Promise.all(e.map((function(n){return n()})));case 4:case"end":return t.stop()}}),t)})))()},focusInput:function(){var n=this;this.$nextTick((function(){n.$refs.input.focus(),n.$refs.input.select()}))},onInputEnter:function(){this.hasResults?this.getResultsList()[0].click():this.onInput()},onInput:function(){var n=this;return fn(regeneratorRuntime.mark((function t(){var e,r,i,a,o;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((0,u.j8)("nextcloud:unified-search.search",{query:n.query}),""!==n.query.trim()&&!n.isShortQuery){t.next=5;break}e=dn(n.typesIDs);try{for(e.s();!(r=e.n()).done;)i=r.value,n.$delete(n.results,i)}catch(n){e.e(n)}finally{e.f()}return t.abrupt("return");case 5:return a=n.typesIDs,o=n.query,n.usedFiltersNot.length>0&&(a=n.typesIDs.filter((function(t){return-1===n.usedFiltersNot.indexOf(t)}))),n.usedFiltersIn.length>0&&(a=n.typesIDs.filter((function(t){return n.usedFiltersIn.indexOf(t)>-1}))),o=o.replace(g,"").replace(C,""),t.next=12,n.resetState();case 12:n.triggered=!0,n.$set(n.loading,"all",!0),n.logger.debug("Searching ".concat(o," in"),a),Promise.all(a.map(function(){var t=fn(regeneratorRuntime.mark((function t(e){var r,i,a,s,u;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r=_({type:e,query:o}),i=r.request,a=r.cancel,n.requests.push(a),t.next=5,i();case 5:return s=t.sent,(u=s.data).ocs.data.entries.length>0?n.$set(n.results,e,u.ocs.data.entries):n.$delete(n.results,e),u.ocs.data.cursor?n.$set(n.cursors,e,u.ocs.data.cursor):u.ocs.data.isPaginated||n.$set(n.limits,e,n.defaultLimit),u.ocs.data.entries.length<n.defaultLimit&&n.$set(n.reached,e,!0),null===n.focused&&(n.focused=0),t.abrupt("return",1);case 14:if(t.prev=14,t.t0=t.catch(0),n.$delete(n.results,e),!t.t0.response||!t.t0.response.status){t.next=21;break}return n.logger.error("Error searching for ".concat(n.typesMap[e]),t.t0),(0,y.showError)(n.t("core","An error occurred while searching for {type}",{type:n.typesMap[e]})),t.abrupt("return",0);case 21:return t.abrupt("return",2);case 22:case"end":return t.stop()}}),t,null,[[0,14]])})));return function(n){return t.apply(this,arguments)}}())).then((function(t){t.some((function(n){return 2===n}))||(n.loading={})}));case 16:case"end":return t.stop()}}),t)})))()},onInputDebounced:m?$()((function(n){this.onInput(n)}),500):function(){this.triggered=!1},loadMore:function(n){var t=this;return fn(regeneratorRuntime.mark((function e(){var r,i,a,o,s,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.loading[n]){e.next=2;break}return e.abrupt("return");case 2:if(!t.cursors[n]){e.next=14;break}return r=_({type:n,query:t.query,cursor:t.cursors[n]}),i=r.request,a=r.cancel,t.requests.push(a),e.next=7,i();case 7:o=e.sent,(s=o.data).ocs.data.cursor&&t.$set(t.cursors,n,s.ocs.data.cursor),s.ocs.data.entries.length>0&&(u=t.results[n]).push.apply(u,ln(s.ocs.data.entries)),s.ocs.data.entries.length<t.defaultLimit&&t.$set(t.reached,n,!0),e.next=15;break;case 14:t.limits[n]&&t.limits[n]>=0&&(t.limits[n]+=t.defaultLimit,t.limits[n]>=t.results[n].length&&t.$set(t.reached,n,!0));case 15:null!==t.focused&&t.$nextTick((function(){t.focusIndex(t.focused)}));case 16:case"end":return e.stop()}}),e)})))()},limitIfAny:function(n,t){return t in this.limits?n.slice(0,this.limits[t]):n},getResultsList:function(){return this.$el.querySelectorAll(".unified-search__results .unified-search__result")},focusFirst:function(n){var t=this.getResultsList();t&&t.length>0&&(n&&n.preventDefault(),this.focused=0,this.focusIndex(this.focused))},focusNext:function(n){if(null!==this.focused){var t=this.getResultsList();t&&t.length>0&&this.focused+1<t.length&&(n.preventDefault(),this.focused++,this.focusIndex(this.focused))}else this.focusFirst(n)},focusPrev:function(n){if(null!==this.focused){var t=this.getResultsList();t&&t.length>0&&this.focused>0&&(n.preventDefault(),this.focused--,this.focusIndex(this.focused))}else this.focusFirst(n)},focusIndex:function(n){var t=this.getResultsList();t&&t[n]&&t[n].focus()},setFocusedIndex:function(n){var t=n.target,e=ln(this.getResultsList()).findIndex((function(n){return n===t}));e>-1&&(this.focused=e)},onClickFilter:function(n){this.query="".concat(this.query," ").concat(n).replace(/ {2}/g," ").trim(),this.onInput()}}},gn=mn,Cn=r(50014),vn={};vn.styleTagTransform=Q(),vn.setAttributes=G(),vn.insert=N().bind(null,"head"),vn.domAPI=j(),vn.insertStyleElement=Y(),z()(Cn.Z,vn),Cn.Z&&Cn.Z.locals&&Cn.Z.locals;var bn=(0,X.Z)(gn,(function(){var n=this,t=n.$createElement,e=n._self._c||t;return e("HeaderMenu",{staticClass:"unified-search",attrs:{id:"unified-search","exclude-click-outside-classes":"popover",open:n.open,"aria-label":n.ariaLabel},on:{"update:open":function(t){n.open=t},open:n.onOpen,close:n.onClose},scopedSlots:n._u([{key:"trigger",fn:function(){return[e("Magnify",{staticClass:"unified-search__trigger",attrs:{size:22,"fill-color":"var(--color-primary-text)"}})]},proxy:!0}])},[n._v(" "),e("div",{staticClass:"unified-search__input-wrapper"},[e("label",{attrs:{for:"unified-search__input"}},[n._v(n._s(n.ariaLabel))]),n._v(" "),e("div",{staticClass:"unified-search__input-row"},[e("form",{staticClass:"unified-search__form",class:{"icon-loading-small":n.isLoading},attrs:{role:"search"},on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),n.onInputEnter.apply(null,arguments)},reset:function(t){return t.preventDefault(),t.stopPropagation(),n.onReset.apply(null,arguments)}}},[e("input",{directives:[{name:"model",rawName:"v-model",value:n.query,expression:"query"}],ref:"input",staticClass:"unified-search__form-input",class:{"unified-search__form-input--with-reset":!!n.query},attrs:{id:"unified-search__input",type:"search",placeholder:n.t("core","Search {types} …",{types:n.typesNames.join(", ")}),"aria-describedby":"unified-search-desc"},domProps:{value:n.query},on:{input:[function(t){t.target.composing||(n.query=t.target.value)},n.onInputDebounced],keypress:function(t){return!t.type.indexOf("key")&&n._k(t.keyCode,"enter",13,t.key,"Enter")?null:(t.preventDefault(),t.stopPropagation(),n.onInputEnter.apply(null,arguments))}}}),n._v(" "),e("p",{staticClass:"hidden-visually",attrs:{id:"unified-search-desc"}},[n._v("\n\t\t\t\t\t"+n._s(n.t("core","Search starts once you start typing"))+"\n\t\t\t\t")]),n._v(" "),n.query&&!n.isLoading?e("input",{staticClass:"unified-search__form-reset icon-close",attrs:{type:"reset","aria-label":n.t("core","Reset search"),value:""}}):n._e(),n._v(" "),!n.query||n.isLoading||n.enableLiveSearch?n._e():e("input",{staticClass:"unified-search__form-submit icon-confirm",attrs:{type:"submit","aria-label":n.t("core","Start search"),value:""}})]),n._v(" "),n.availableFilters.length>1?e("NcActions",{staticClass:"unified-search__filters",attrs:{placement:"bottom"}},n._l(n.availableFilters,(function(t){return e("NcActionButton",{key:t,attrs:{icon:"icon-filter",title:n.t("core","Search for {name} only",{name:n.typesMap[t]})},on:{click:function(e){return n.onClickFilter("in:"+t)}}},[n._v("\n\t\t\t\t\t"+n._s("in:"+t)+"\n\t\t\t\t")])})),1):n._e()],1)]),n._v(" "),n.hasResults?n._l(n.orderedResults,(function(t,r){var i=t.list,a=t.type;return e("ul",{key:a,staticClass:"unified-search__results",class:"unified-search__results-"+a,attrs:{"aria-label":n.typesMap[a]}},[e("h2",{staticClass:"unified-search__results-header"},[n._v("\n\t\t\t\t"+n._s(n.typesMap[a])+"\n\t\t\t")]),n._v(" "),n._l(n.limitIfAny(i,a),(function(t,i){return e("li",{key:t.resourceUrl},[e("SearchResult",n._b({attrs:{query:n.query,focused:0===n.focused&&0===r&&0===i},on:{focus:n.setFocusedIndex}},"SearchResult",t,!1))],1)})),n._v(" "),e("li",[n.reached[a]?n._e():e("SearchResult",{staticClass:"unified-search__result-more",attrs:{title:n.loading[a]?n.t("core","Loading more results …"):n.t("core","Load more results"),"icon-class":n.loading[a]?"icon-loading-small":""},on:{click:function(t){return t.preventDefault(),n.loadMore(a)},focus:n.setFocusedIndex}})],1)],2)})):[n.isLoading?e("SearchResultPlaceholders"):n.isValidQuery?e("NcEmptyContent",{scopedSlots:n._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0}],null,!1,931131664)},[n.triggered?e("NcHighlight",{attrs:{text:n.t("core","No results for {query}",{query:n.query}),search:n.query}}):e("div",[n._v("\n\t\t\t\t"+n._s(n.t("core","Press enter to start searching"))+"\n\t\t\t")])],1):!n.isLoading||n.isShortQuery?e("NcEmptyContent",{scopedSlots:n._u([{key:"icon",fn:function(){return[e("Magnify")]},proxy:!0},n.isShortQuery?{key:"desc",fn:function(){return[n._v("\n\t\t\t\t"+n._s(n.n("core","Please enter {minSearchLength} character or more to search","Please enter {minSearchLength} characters or more to search",n.minSearchLength,{minSearchLength:n.minSearchLength}))+"\n\t\t\t")]},proxy:!0}:null],null,!0)},[n._v("\n\t\t\t"+n._s(n.t("core","Start typing to search"))+"\n\t\t\t")]):n._e()]],2)}),[],!1,null,"d0a051b2",null),_n=bn.exports;r.nc=btoa((0,a.getRequestToken)());var yn=(0,i.IY)().setApp("unified-search").detectUser().build();s.ZP.mixin({data:function(){return{logger:yn}},methods:{t:o.translate,n:o.translatePlural}}),new s.ZP({el:"#unified-search",name:"UnifiedSearchRoot",render:function(n){return n(_n)}})},82965:function(n,t,e){var r=e(87537),i=e.n(r),a=e(23645),o=e.n(a)()(i());o.push([n.id,'.header-menu__trigger[data-v-4ba23c22]{display:flex;align-items:center;justify-content:center;width:50px;height:44px;margin:2px 0;padding:0;cursor:pointer;opacity:.85}.header-menu--opened .header-menu__trigger[data-v-4ba23c22],.header-menu__trigger[data-v-4ba23c22]:hover,.header-menu__trigger[data-v-4ba23c22]:focus,.header-menu__trigger[data-v-4ba23c22]:active{opacity:1}.header-menu__trigger[data-v-4ba23c22]:focus-visible{outline:none}.header-menu__wrapper[data-v-4ba23c22]{position:fixed;z-index:2000;top:50px;right:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));padding:8px;border-radius:var(--border-radius-large)}.header-menu__carret[data-v-4ba23c22]{position:absolute;z-index:2001;left:calc(50% - 10px);bottom:0;width:0;height:0;content:" ";pointer-events:none;border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-4ba23c22]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:66px;max-height:calc(100vh - 100px)}',"",{version:3,sources:["webpack://./core/src/components/HeaderMenu.vue"],names:[],mappings:"AA2KC,uCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CAGD,oMAIC,SAAA,CAGD,qDACC,YAAA,CAGD,uCACC,cAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CACA,qBAAA,CACA,YAAA,CACA,2DAAA,CACA,6CAAA,CACA,qDAAA,CACA,WAAA,CACA,wCAAA,CAGD,sCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA,CACA,gDAAA,CAGD,uCACC,aAAA,CACA,WAAA,CACA,4BAAA,CACA,eAAA,CACA,8BAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$externalMargin: 8px;\n\n.header-menu {\n\t&__trigger {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 50px;\n\t\theight: 44px;\n\t\tmargin: 2px 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t&__trigger:focus-visible {\n\t\toutline: none;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tright: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t\tpadding: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tleft: calc(50% - 10px);\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t}\n}\n\n"],sourceRoot:""}]),t.Z=o},17543:function(n,t,e){var r=e(87537),i=e.n(r),a=e(23645),o=e.n(a)()(i());o.push([n.id,".unified-search__result[data-v-288e1e92]{display:flex;align-items:center;height:44px;padding:10px;border-bottom:1px solid var(--color-border);border-radius:var(--border-radius-large) !important}.unified-search__result[data-v-288e1e92]:last-child{border-bottom:none}.unified-search__result--focused[data-v-288e1e92],.unified-search__result[data-v-288e1e92]:active,.unified-search__result[data-v-288e1e92]:hover,.unified-search__result[data-v-288e1e92]:focus{background-color:var(--color-background-hover)}.unified-search__result *[data-v-288e1e92]{cursor:pointer}.unified-search__result-icon[data-v-288e1e92]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-288e1e92]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-288e1e92]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-288e1e92]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-288e1e92],.unified-search__result-actions[data-v-288e1e92]{flex:0 0 44px}.unified-search__result-content[data-v-288e1e92]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-288e1e92],.unified-search__result-line-two[data-v-288e1e92]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-288e1e92]{opacity:.7;font-size:var(--default-font-size)}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResult.vue"],names:[],mappings:"AAyKA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,2CAAA,CACA,mDAAA,CAGA,oDACC,kBAAA,CAGD,gMAIC,8CAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA7Be,CA8Bf,WA9Be,CA+Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAxEO,CA2ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@use "sass:math";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder-bottom: 1px solid var(--color-border);\n\tborder-radius: var(--border-radius-large) !important;\n\n\t// Load more entry,\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t&--focused,\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n'],sourceRoot:""}]),t.Z=o},44201:function(n,t,e){var r=e(87537),i=e.n(r),a=e(23645),o=e.n(a)()(i());o.push([n.id,".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2 * 10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}","",{version:3,sources:["webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue"],names:[],mappings:"AA+DA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,2BAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n"],sourceRoot:""}]),t.Z=o},50014:function(n,t,e){var r=e(87537),i=e.n(r),a=e(23645),o=e.n(a)()(i());o.push([n.id,".unified-search__input-wrapper[data-v-d0a051b2]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-d0a051b2]{align-self:flex-start;font-weight:bold;font-size:18px;margin-left:13px}.unified-search__form-input[data-v-d0a051b2]{margin:0 !important}.unified-search__input-row[data-v-d0a051b2]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-d0a051b2]{margin:10px 0 10px 5px}.unified-search__filters ul[data-v-d0a051b2]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-d0a051b2]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-d0a051b2]::after{right:6px;left:auto}.unified-search__form-input[data-v-d0a051b2],.unified-search__form-reset[data-v-d0a051b2]{margin:3px}.unified-search__form-input[data-v-d0a051b2]{width:100%;height:34px;padding:6px}.unified-search__form-input[data-v-d0a051b2],.unified-search__form-input[placeholder][data-v-d0a051b2],.unified-search__form-input[data-v-d0a051b2]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-d0a051b2]::-webkit-search-decoration,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-cancel-button,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-results-button,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-results-decoration{-webkit-appearance:none}.icon-loading-small .unified-search__form-input[data-v-d0a051b2],.unified-search__form-input--with-reset[data-v-d0a051b2]{padding-right:34px}.unified-search__form-reset[data-v-d0a051b2],.unified-search__form-submit[data-v-d0a051b2]{position:absolute;top:0;right:4px;width:28px;height:28px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-d0a051b2]:hover,.unified-search__form-reset[data-v-d0a051b2]:focus,.unified-search__form-reset[data-v-d0a051b2]:active,.unified-search__form-submit[data-v-d0a051b2]:hover,.unified-search__form-submit[data-v-d0a051b2]:focus,.unified-search__form-submit[data-v-d0a051b2]:active{opacity:1}.unified-search__form-submit[data-v-d0a051b2]{right:28px}.unified-search__results[data-v-d0a051b2]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-d0a051b2]{display:block;margin:10px;margin-bottom:6px;margin-left:16px;color:var(--color-primary-element);font-weight:normal;font-size:18px}.unified-search .unified-search__result-more[data-v-d0a051b2]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-d0a051b2]{margin:10vh 0}.unified-search .empty-content[data-v-d0a051b2] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);padding:0 15px;text-align:center}","",{version:3,sources:["webpack://./core/src/views/UnifiedSearch.vue"],names:[],mappings:"AAysBC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CAGD,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,SA/Ca,CAgDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA3DY,CA4DZ,WA3Da,CA6Db,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAID,0HAEC,kBAjFW,CAqFb,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAlHM,CAmHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,kBAAA,CACA,cAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,uEACC,kBAAA,CACS,kCAAA,CACT,cAAA,CACA,iBAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n@use "sass:math";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 6px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for="unified-search__input"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 18px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\n\t\t\t// Ellipsis earlier if reset button is here\n\t\t\t.icon-loading-small &,\n\t\t\t&--with-reset {\n\t\t\t\tpadding-right: $input-height;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: $margin + $input-padding;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 18px;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n font-size: var(--default-font-size);\n\t\t\tpadding: 0 15px;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n'],sourceRoot:""}]),t.Z=o}},r={};function i(n){var t=r[n];if(void 0!==t)return t.exports;var a=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.m=e,i.amdD=function(){throw new Error("define cannot be used indirect")},i.amdO={},n=[],i.O=function(t,e,r,a){if(!e){var o=1/0;for(l=0;l<n.length;l++){e=n[l][0],r=n[l][1],a=n[l][2];for(var s=!0,u=0;u<e.length;u++)(!1&a||o>=a)&&Object.keys(i.O).every((function(n){return i.O[n](e[u])}))?e.splice(u--,1):(s=!1,a<o&&(o=a));if(s){n.splice(l--,1);var c=r();void 0!==c&&(t=c)}}return t}a=a||0;for(var l=n.length;l>0&&n[l-1][2]>a;l--)n[l]=n[l-1];n[l]=[e,r,a]},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,{a:t}),t},i.d=function(n,t){for(var e in t)i.o(t,e)&&!i.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},i.j=9671,function(){i.b=document.baseURI||self.location.href;var n={9671:0};i.O.j=function(t){return 0===n[t]};var t=function(t,e){var r,a,o=e[0],s=e[1],u=e[2],c=0;if(o.some((function(t){return 0!==n[t]}))){for(r in s)i.o(s,r)&&(i.m[r]=s[r]);if(u)var l=u(i)}for(t&&t(e);c<o.length;c++)a=o[c],i.o(n,a)&&n[a]&&n[a][0](),n[a]=0;return i.O(l)},e=self.webpackChunknextcloud=self.webpackChunknextcloud||[];e.forEach(t.bind(null,0)),e.push=t.bind(null,e.push.bind(e))}(),i.nc=void 0;var a=i.O(void 0,[7874],(function(){return i(15458)}));a=i.O(a)}(); +//# sourceMappingURL=core-unified-search.js.map?v=0244837ad7c50138e262
\ No newline at end of file diff --git a/dist/core-unified-search.js.map b/dist/core-unified-search.js.map index a6e0e2538d8..15ef0b464de 100644 --- a/dist/core-unified-search.js.map +++ b/dist/core-unified-search.js.map @@ -1 +1 @@ -{"version":3,"file":"core-unified-search.js?v=79c03fed6ab343fb88b1","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/core/src/services/UnifiedSearchService.js","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/HeaderMenu.vue","webpack://nextcloud/./core/src/components/HeaderMenu.vue?1d30","webpack://nextcloud/./core/src/components/HeaderMenu.vue?30e1","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=template&id=4ba23c22&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?780a","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?32d3","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=template&id=288e1e92&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?c1bc","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true&","webpack:///nextcloud/core/src/views/UnifiedSearch.vue","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?06f3","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?1990","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=template&id=1a90fee1&scoped=true&","webpack:///nextcloud/core/src/unified-search.js","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=style&index=0&id=1a90fee1&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","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/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","/**\n * @copyright 2020, John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 2)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise<Array>}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js&\""," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div :id=\"id\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\">\n\t\t<a class=\"header-menu__trigger\"\n\t\t\thref=\"#\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<slot name=\"trigger\" />\n\t\t</a>\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\t\t<div v-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\"\n\t\t\trole=\"menu\">\n\t\t\t<div class=\"header-menu__content\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { directive as ClickOutside } from 'v-click-outside'\nimport excludeClickOutsideClasses from '@nextcloud/vue/dist/Mixins/excludeClickOutsideClasses'\n\nexport default {\n\tname: 'HeaderMenu',\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\texcludeClickOutsideClasses,\n\t],\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topened: this.open,\n\t\t\tclickOutsideConfig: {\n\t\t\t\thandler: this.closeMenu,\n\t\t\t\tmiddleware: this.clickOutsideMiddleware,\n\t\t\t},\n\t\t\tshortcutsDisabled: OCP.Accessibility.disableKeyboardShortcuts(),\n\t\t}\n\t},\n\n\twatch: {\n\t\topen(newVal) {\n\t\t\tthis.opened = newVal\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (this.opened) {\n\t\t\t\t\tthis.openMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t */\n\t\tcloseMenu() {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\t\t\tthis.$emit('close')\n\t\t\tthis.$emit('update:open', false)\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If opened and escape pressed, close\n\t\t\tif (event.key === 'Escape' && this.opened) {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** user cancelled the menu by pressing escape */\n\t\t\t\tthis.$emit('cancel')\n\n\t\t\t\t/** we do NOT fire a close event to differentiate cancel and close */\n\t\t\t\tthis.opened = false\n\t\t\t\tthis.$emit('update:open', false)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$externalMargin: 8px;\n\n.header-menu {\n\t&__trigger {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 50px;\n\t\theight: 44px;\n\t\tmargin: 2px 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t&__trigger:focus-visible {\n\t\toutline: none;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tright: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t\tpadding: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tleft: calc(50% - 10px);\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderMenu.vue?vue&type=template&id=4ba23c22&scoped=true&\"\nimport script from \"./HeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\"\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 null,\n \"4ba23c22\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutsideConfig),expression:\"clickOutsideConfig\"}],staticClass:\"header-menu\",class:{ 'header-menu--opened': _vm.opened },attrs:{\"id\":_vm.id}},[_c('a',{staticClass:\"header-menu__trigger\",attrs:{\"href\":\"#\",\"aria-label\":_vm.ariaLabel,\"aria-controls\":(\"header-menu-\" + _vm.id),\"aria-expanded\":_vm.opened.toString()},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMenu.apply(null, arguments)}}},[_vm._t(\"trigger\")],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"header-menu__carret\"}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"header-menu__wrapper\",attrs:{\"id\":(\"header-menu-\" + _vm.id),\"role\":\"menu\"}},[_c('div',{staticClass:\"header-menu__content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\""," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<a :href=\"resourceUrl || '#'\"\n\t\tclass=\"unified-search__result\"\n\t\t:class=\"{\n\t\t\t'unified-search__result--focused': focused,\n\t\t}\"\n\t\t@click=\"reEmitEvent\"\n\t\t@focus=\"reEmitEvent\">\n\n\t\t<!-- Icon describing the result -->\n\t\t<div class=\"unified-search__result-icon\"\n\t\t\t:class=\"{\n\t\t\t\t'unified-search__result-icon--rounded': rounded,\n\t\t\t\t'unified-search__result-icon--no-preview': !hasValidThumbnail && !loaded,\n\t\t\t\t'unified-search__result-icon--with-thumbnail': hasValidThumbnail && loaded,\n\t\t\t\t[icon]: !loaded && !isIconUrl,\n\t\t\t}\"\n\t\t\t:style=\"{\n\t\t\t\tbackgroundImage: isIconUrl ? `url(${icon})` : '',\n\t\t\t}\">\n\n\t\t\t<img v-if=\"hasValidThumbnail\"\n\t\t\t\tv-show=\"loaded\"\n\t\t\t\t:src=\"thumbnailUrl\"\n\t\t\t\talt=\"\"\n\t\t\t\t@error=\"onError\"\n\t\t\t\t@load=\"onLoad\">\n\t\t</div>\n\n\t\t<!-- Title and sub-title -->\n\t\t<span class=\"unified-search__result-content\">\n\t\t\t<span class=\"unified-search__result-line-one\" :title=\"title\">\n\t\t\t\t<NcHighlight :text=\"title\" :search=\"query\" />\n\t\t\t</span>\n\t\t\t<span v-if=\"subline\" class=\"unified-search__result-line-two\" :title=\"subline\">{{ subline }}</span>\n\t\t</span>\n\t</a>\n</template>\n\n<script>\nimport NcHighlight from '@nextcloud/vue/dist/Components/NcHighlight'\n\nexport default {\n\tname: 'SearchResult',\n\n\tcomponents: {\n\t\tNcHighlight,\n\t},\n\n\tprops: {\n\t\tthumbnailUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tresourceUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\trounded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tquery: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Only used for the first result as a visual feedback\n\t\t * so we can keep the search input focused but pressing\n\t\t * enter still opens the first result\n\t\t */\n\t\tfocused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\thasValidThumbnail: this.thumbnailUrl && this.thumbnailUrl.trim() !== '',\n\t\t\tloaded: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\t// If we're facing an absolute url\n\t\t\tif (this.icon.startsWith('/')) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// Otherwise, let's check if this is a valid url\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.icon)\n\t\t\t} catch {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\n\twatch: {\n\t\t// Make sure to reset state on change even when vue recycle the component\n\t\tthumbnailUrl() {\n\t\t\tthis.hasValidThumbnail = this.thumbnailUrl && this.thumbnailUrl.trim() !== ''\n\t\t\tthis.loaded = false\n\t\t},\n\t},\n\n\tmethods: {\n\t\treEmitEvent(e) {\n\t\t\tthis.$emit(e.type, e)\n\t\t},\n\n\t\t/**\n\t\t * If the image fails to load, fallback to iconClass\n\t\t */\n\t\tonError() {\n\t\t\tthis.hasValidThumbnail = false\n\t\t},\n\n\t\tonLoad() {\n\t\t\tthis.loaded = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder-bottom: 1px solid var(--color-border);\n\tborder-radius: var(--border-radius-large) !important;\n\n\t// Load more entry,\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t&--focused,\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResult.vue?vue&type=template&id=288e1e92&scoped=true&\"\nimport script from \"./SearchResult.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchResult.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\"\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 null,\n \"288e1e92\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:( _obj = {\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded\n\t\t}, _obj[_vm.icon] = !_vm.loaded && !_vm.isIconUrl, _obj ),style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? (\"url(\" + _vm.icon + \")\") : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"","<template>\n\t<ul>\n\t\t<!-- Placeholder animation -->\n\t\t<svg class=\"unified-search__result-placeholder-gradient\">\n\t\t\t<defs>\n\t\t\t\t<linearGradient id=\"unified-search__result-placeholder-gradient\">\n\t\t\t\t\t<stop offset=\"0%\" :stop-color=\"light\">\n\t\t\t\t\t\t<animate attributeName=\"stop-color\"\n\t\t\t\t\t\t\t:values=\"`${light}; ${light}; ${dark}; ${dark}; ${light}`\"\n\t\t\t\t\t\t\tdur=\"2s\"\n\t\t\t\t\t\t\trepeatCount=\"indefinite\" />\n\t\t\t\t\t</stop>\n\t\t\t\t\t<stop offset=\"100%\" :stop-color=\"dark\">\n\t\t\t\t\t\t<animate attributeName=\"stop-color\"\n\t\t\t\t\t\t\t:values=\"`${dark}; ${light}; ${light}; ${dark}; ${dark}`\"\n\t\t\t\t\t\t\tdur=\"2s\"\n\t\t\t\t\t\t\trepeatCount=\"indefinite\" />\n\t\t\t\t\t</stop>\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t</svg>\n\n\t\t<!-- Placeholders -->\n\t\t<li v-for=\"placeholder in [1, 2, 3]\" :key=\"placeholder\">\n\t\t\t<svg class=\"unified-search__result-placeholder\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"url(#unified-search__result-placeholder-gradient)\">\n\t\t\t\t<rect class=\"unified-search__result-placeholder-icon\" />\n\t\t\t\t<rect class=\"unified-search__result-placeholder-line-one\" />\n\t\t\t\t<rect class=\"unified-search__result-placeholder-line-two\" :style=\"{width: `calc(${randWidth()}%)`}\" />\n\t\t\t</svg>\n\t\t</li>\n\t</ul>\n</template>\n\n<script>\nexport default {\n\tname: 'SearchResultPlaceholders',\n\n\tdata() {\n\t\treturn {\n\t\t\tlight: null,\n\t\t\tdark: null,\n\t\t}\n\t},\n\tmounted() {\n\t\tconst styles = getComputedStyle(document.documentElement)\n\t\tthis.dark = styles.getPropertyValue('--color-placeholder-dark')\n\t\tthis.light = styles.getPropertyValue('--color-placeholder-light')\n\t},\n\n\tmethods: {\n\t\trandWidth() {\n\t\t\treturn Math.floor(Math.random() * 20) + 30\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true&\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\"\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 null,\n \"9ed03c40\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":(_vm.light + \"; \" + _vm.light + \"; \" + _vm.dark + \"; \" + _vm.dark + \"; \" + _vm.light),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":(_vm.dark + \"; \" + _vm.light + \"; \" + _vm.light + \"; \" + _vm.dark + \"; \" + _vm.dark),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({width: (\"calc(\" + (_vm.randWidth()) + \"%)\")})})])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<HeaderMenu id=\"unified-search\"\n\t\tclass=\"unified-search\"\n\t\texclude-click-outside-classes=\"popover\"\n\t\t:open.sync=\"open\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\">\n\t\t<!-- Header icon -->\n\t\t<template #trigger>\n\t\t\t<Magnify class=\"unified-search__trigger\"\n\t\t\t\t:size=\"22/* fit better next to other 20px icons */\"\n\t\t\t\tfill-color=\"var(--color-primary-text)\" />\n\t\t</template>\n\n\t\t<!-- Search form & filters wrapper -->\n\t\t<div class=\"unified-search__input-wrapper\">\n\t\t\t<label for=\"unified-search__input\">{{ ariaLabel }}</label>\n\t\t\t<div class=\"unified-search__input-row\">\n\t\t\t\t<form class=\"unified-search__form\"\n\t\t\t\t\trole=\"search\"\n\t\t\t\t\t:class=\"{'icon-loading-small': isLoading}\"\n\t\t\t\t\t@submit.prevent.stop=\"onInputEnter\"\n\t\t\t\t\t@reset.prevent.stop=\"onReset\">\n\t\t\t\t\t<!-- Search input -->\n\t\t\t\t\t<input ref=\"input\"\n\t\t\t\t\t\tid=\"unified-search__input\"\n\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\tclass=\"unified-search__form-input\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t:class=\"{'unified-search__form-input--with-reset': !!query}\"\n\t\t\t\t\t\t:placeholder=\"t('core', 'Search {types} …', { types: typesNames.join(', ') })\"\n\t\t\t\t\t\taria-describedby=\"unified-search-desc\"\n\t\t\t\t\t\t@input=\"onInputDebounced\"\n\t\t\t\t\t\t@keypress.enter.prevent.stop=\"onInputEnter\">\n\t\t\t\t\t<p id=\"unified-search-desc\" class=\"hidden-visually\">\n\t\t\t\t\t\t{{ t('core', 'Search starts once you start typing') }}\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<!-- Reset search button -->\n\t\t\t\t\t<input v-if=\"!!query && !isLoading\"\n\t\t\t\t\t\ttype=\"reset\"\n\t\t\t\t\t\tclass=\"unified-search__form-reset icon-close\"\n\t\t\t\t\t\t:aria-label=\"t('core','Reset search')\"\n\t\t\t\t\t\tvalue=\"\">\n\n\t\t\t\t\t<input v-if=\"!!query && !isLoading && !enableLiveSearch\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclass=\"unified-search__form-submit icon-confirm\"\n\t\t\t\t\t\t:aria-label=\"t('core','Start search')\"\n\t\t\t\t\t\tvalue=\"\">\n\t\t\t\t</form>\n\n\t\t\t\t<!-- Search filters -->\n\t\t\t\t<NcActions v-if=\"availableFilters.length > 1\" class=\"unified-search__filters\" placement=\"bottom\">\n\t\t\t\t\t<NcActionButton v-for=\"type in availableFilters\"\n\t\t\t\t\t\t:key=\"type\"\n\t\t\t\t\t\ticon=\"icon-filter\"\n\t\t\t\t\t\t:title=\"t('core', 'Search for {name} only', { name: typesMap[type] })\"\n\t\t\t\t\t\t@click=\"onClickFilter(`in:${type}`)\">\n\t\t\t\t\t\t{{ `in:${type}` }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<template v-if=\"!hasResults\">\n\t\t\t<!-- Loading placeholders -->\n\t\t\t<SearchResultPlaceholders v-if=\"isLoading\" />\n\n\t\t\t<NcEmptyContent v-else-if=\"isValidQuery\">\n\t\t\t\t<NcHighlight v-if=\"triggered\" :text=\"t('core', 'No results for {query}', { query })\" :search=\"query\" />\n\t\t\t\t<div v-else>\n\t\t\t\t\t{{ t('core', 'Press enter to start searching') }}\n\t\t\t\t</div>\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\n\t\t\t<NcEmptyContent v-else-if=\"!isLoading || isShortQuery\">\n\t\t\t\t{{ t('core', 'Start typing to search') }}\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t\t<template v-if=\"isShortQuery\" #desc>\n\t\t\t\t\t{{ n('core',\n\t\t\t\t\t\t'Please enter {minSearchLength} character or more to search',\n\t\t\t\t\t\t'Please enter {minSearchLength} characters or more to search',\n\t\t\t\t\t\tminSearchLength,\n\t\t\t\t\t\t{minSearchLength}) }}\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</template>\n\n\t\t<!-- Grouped search results -->\n\t\t<template v-else>\n\t\t\t<ul v-for=\"({list, type}, typesIndex) in orderedResults\"\n\t\t\t\t:key=\"type\"\n\t\t\t\tclass=\"unified-search__results\"\n\t\t\t\t:class=\"`unified-search__results-${type}`\"\n\t\t\t\t:aria-label=\"typesMap[type]\">\n\t\t\t\t<h2 class=\"unified-search__results-header\">\n\t\t\t\t\t{{ typesMap[type] }}\n\t\t\t\t</h2>\n\n\t\t\t\t<!-- Search results -->\n\t\t\t\t<li v-for=\"(result, index) in limitIfAny(list, type)\" :key=\"result.resourceUrl\">\n\t\t\t\t\t<SearchResult v-bind=\"result\"\n\t\t\t\t\t\t:query=\"query\"\n\t\t\t\t\t\t:focused=\"focused === 0 && typesIndex === 0 && index === 0\"\n\t\t\t\t\t\t@focus=\"setFocusedIndex\" />\n\t\t\t\t</li>\n\n\t\t\t\t<!-- Load more button -->\n\t\t\t\t<li>\n\t\t\t\t\t<SearchResult v-if=\"!reached[type]\"\n\t\t\t\t\t\tclass=\"unified-search__result-more\"\n\t\t\t\t\t\t:title=\"loading[type]\n\t\t\t\t\t\t\t? t('core', 'Loading more results …')\n\t\t\t\t\t\t\t: t('core', 'Load more results')\"\n\t\t\t\t\t\t:icon-class=\"loading[type] ? 'icon-loading-small' : ''\"\n\t\t\t\t\t\t@click.prevent=\"loadMore(type)\"\n\t\t\t\t\t\t@focus=\"setFocusedIndex\" />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</template>\n\t</HeaderMenu>\n</template>\n\n<script>\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { minSearchLength, getTypes, search, defaultLimit, regexFilterIn, regexFilterNot, enableLiveSearch } from '../services/UnifiedSearchService'\nimport { showError } from '@nextcloud/dialogs'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport debounce from 'debounce'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'\nimport NcHighlight from '@nextcloud/vue/dist/Components/NcHighlight'\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nimport HeaderMenu from '../components/HeaderMenu'\nimport SearchResult from '../components/UnifiedSearch/SearchResult'\nimport SearchResultPlaceholders from '../components/UnifiedSearch/SearchResultPlaceholders'\n\nconst REQUEST_FAILED = 0\nconst REQUEST_OK = 1\nconst REQUEST_CANCELED = 2\n\nexport default {\n\tname: 'UnifiedSearch',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcEmptyContent,\n\t\tHeaderMenu,\n\t\tNcHighlight,\n\t\tMagnify,\n\t\tSearchResult,\n\t\tSearchResultPlaceholders,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttypes: [],\n\n\t\t\t// Cursors per types\n\t\t\tcursors: {},\n\t\t\t// Various search limits per types\n\t\t\tlimits: {},\n\t\t\t// Loading types\n\t\t\tloading: {},\n\t\t\t// Reached search types\n\t\t\treached: {},\n\t\t\t// Pending cancellable requests\n\t\t\trequests: [],\n\t\t\t// List of all results\n\t\t\tresults: {},\n\n\t\t\tquery: '',\n\t\t\tfocused: null,\n\t\t\ttriggered: false,\n\n\t\t\tdefaultLimit,\n\t\t\tminSearchLength,\n\t\t\tenableLiveSearch,\n\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttypesIDs() {\n\t\t\treturn this.types.map(type => type.id)\n\t\t},\n\t\ttypesNames() {\n\t\t\treturn this.types.map(type => type.name)\n\t\t},\n\t\ttypesMap() {\n\t\t\treturn this.types.reduce((prev, curr) => {\n\t\t\t\tprev[curr.id] = curr.name\n\t\t\t\treturn prev\n\t\t\t}, {})\n\t\t},\n\n\t\tariaLabel() {\n\t\t\treturn t('core', 'Search')\n\t\t},\n\n\t\t/**\n\t\t * Is there any result to display\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasResults() {\n\t\t\treturn Object.keys(this.results).length !== 0\n\t\t},\n\n\t\t/**\n\t\t * Return ordered results\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\torderedResults() {\n\t\t\treturn this.typesIDs\n\t\t\t\t.filter(type => type in this.results)\n\t\t\t\t.map(type => ({\n\t\t\t\t\ttype,\n\t\t\t\t\tlist: this.results[type],\n\t\t\t\t}))\n\t\t},\n\n\t\t/**\n\t\t * Available filters\n\t\t * We only show filters that are available on the results\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tavailableFilters() {\n\t\t\treturn Object.keys(this.results)\n\t\t},\n\n\t\t/**\n\t\t * Applied filters\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tusedFiltersIn() {\n\t\t\tlet match\n\t\t\tconst filters = []\n\t\t\twhile ((match = regexFilterIn.exec(this.query)) !== null) {\n\t\t\t\tfilters.push(match[1])\n\t\t\t}\n\t\t\treturn filters\n\t\t},\n\n\t\t/**\n\t\t * Applied anti filters\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tusedFiltersNot() {\n\t\t\tlet match\n\t\t\tconst filters = []\n\t\t\twhile ((match = regexFilterNot.exec(this.query)) !== null) {\n\t\t\t\tfilters.push(match[1])\n\t\t\t}\n\t\t\treturn filters\n\t\t},\n\n\t\t/**\n\t\t * Is the current search too short\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisShortQuery() {\n\t\t\treturn this.query && this.query.trim().length < minSearchLength\n\t\t},\n\n\t\t/**\n\t\t * Is the current search valid\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && !this.isShortQuery\n\t\t},\n\n\t\t/**\n\t\t * Have we reached the end of all types searches\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisDoneSearching() {\n\t\t\treturn Object.values(this.reached).every(state => state === false)\n\t\t},\n\n\t\t/**\n\t\t * Is there any search in progress\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisLoading() {\n\t\t\treturn Object.values(this.loading).some(state => state === true)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tsubscribe('files:navigation:changed', this.resetForm)\n\t\tthis.types = await getTypes()\n\t\tthis.logger.debug('Unified Search initialized with the following providers', this.types)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('files:navigation:changed', this.resetForm)\n\t},\n\n\tmounted() {\n\t\tif (OCP.Accessibility.disableKeyboardShortcuts()) {\n\t\t\treturn\n\t\t}\n\n\t\tdocument.addEventListener('keydown', (event) => {\n\t\t\t// if not already opened, allows us to trigger default browser on second keydown\n\t\t\tif (event.ctrlKey && event.key === 'f' && !this.open) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.open = true\n\t\t\t\tthis.focusInput()\n\t\t\t}\n\n\t\t\t// https://www.w3.org/WAI/GL/wiki/Using_ARIA_menus\n\t\t\tif (this.open) {\n\t\t\t\t// If arrow down, focus next result\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tthis.focusNext(event)\n\t\t\t\t}\n\n\t\t\t\t// If arrow up, focus prev result\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tthis.focusPrev(event)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t},\n\n\tmethods: {\n\t\tasync onOpen() {\n\t\t\tthis.focusInput()\n\t\t\t// Update types list in the background\n\t\t\tthis.types = await getTypes()\n\t\t},\n\t\tonClose() {\n\t\t\temit('nextcloud:unified-search.close')\n\t\t},\n\n\t\tresetForm() {\n\t\t\tthis.$el.querySelector('form[role=\"search\"]').reset()\n\t\t},\n\n\t\t/**\n\t\t * Reset the search state\n\t\t */\n\t\tonReset() {\n\t\t\temit('nextcloud:unified-search.reset')\n\t\t\tthis.logger.debug('Search reset')\n\t\t\tthis.query = ''\n\t\t\tthis.resetState()\n\t\t\tthis.focusInput()\n\t\t},\n\t\tasync resetState() {\n\t\t\tthis.cursors = {}\n\t\t\tthis.limits = {}\n\t\t\tthis.reached = {}\n\t\t\tthis.results = {}\n\t\t\tthis.focused = null\n\t\t\tthis.triggered = false\n\t\t\tawait this.cancelPendingRequests()\n\t\t},\n\n\t\t/**\n\t\t * Cancel any ongoing searches\n\t\t */\n\t\tasync cancelPendingRequests() {\n\t\t\t// Cloning so we can keep processing other requests\n\t\t\tconst requests = this.requests.slice(0)\n\t\t\tthis.requests = []\n\n\t\t\t// Cancel all pending requests\n\t\t\tawait Promise.all(requests.map(cancel => cancel()))\n\t\t},\n\n\t\t/**\n\t\t * Focus the search input on next tick\n\t\t */\n\t\tfocusInput() {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs.input.focus()\n\t\t\t\tthis.$refs.input.select()\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * If we have results already, open first one\n\t\t * If not, trigger the search again\n\t\t */\n\t\tonInputEnter() {\n\t\t\tif (this.hasResults) {\n\t\t\t\tconst results = this.getResultsList()\n\t\t\t\tresults[0].click()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.onInput()\n\t\t},\n\n\t\t/**\n\t\t * Start searching on input\n\t\t */\n\t\tasync onInput() {\n\t\t\t// emit the search query\n\t\t\temit('nextcloud:unified-search.search', { query: this.query })\n\n\t\t\t// Do not search if not long enough\n\t\t\tif (this.query.trim() === '' || this.isShortQuery) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tlet types = this.typesIDs\n\t\t\tlet query = this.query\n\n\t\t\t// Filter out types\n\t\t\tif (this.usedFiltersNot.length > 0) {\n\t\t\t\ttypes = this.typesIDs.filter(type => this.usedFiltersNot.indexOf(type) === -1)\n\t\t\t}\n\n\t\t\t// Only use those filters if any and check if they are valid\n\t\t\tif (this.usedFiltersIn.length > 0) {\n\t\t\t\ttypes = this.typesIDs.filter(type => this.usedFiltersIn.indexOf(type) > -1)\n\t\t\t}\n\n\t\t\t// Remove any filters from the query\n\t\t\tquery = query.replace(regexFilterIn, '').replace(regexFilterNot, '')\n\n\t\t\t// Reset search if the query changed\n\t\t\tawait this.resetState()\n\t\t\tthis.triggered = true\n\t\t\tthis.$set(this.loading, 'all', true)\n\t\t\tthis.logger.debug(`Searching ${query} in`, types)\n\n\t\t\tPromise.all(types.map(async type => {\n\t\t\t\ttry {\n\t\t\t\t\t// Init cancellable request\n\t\t\t\t\tconst { request, cancel } = search({ type, query })\n\t\t\t\t\tthis.requests.push(cancel)\n\n\t\t\t\t\t// Fetch results\n\t\t\t\t\tconst { data } = await request()\n\n\t\t\t\t\t// Process results\n\t\t\t\t\tif (data.ocs.data.entries.length > 0) {\n\t\t\t\t\t\tthis.$set(this.results, type, data.ocs.data.entries)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$delete(this.results, type)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Save cursor if any\n\t\t\t\t\tif (data.ocs.data.cursor) {\n\t\t\t\t\t\tthis.$set(this.cursors, type, data.ocs.data.cursor)\n\t\t\t\t\t} else if (!data.ocs.data.isPaginated) {\n\t\t\t\t\t// If no cursor and no pagination, we save the default amount\n\t\t\t\t\t// provided by server's initial state `defaultLimit`\n\t\t\t\t\t\tthis.$set(this.limits, type, this.defaultLimit)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if we reached end of pagination\n\t\t\t\t\tif (data.ocs.data.entries.length < this.defaultLimit) {\n\t\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t\t}\n\n\t\t\t\t\t// If none already focused, focus the first rendered result\n\t\t\t\t\tif (this.focused === null) {\n\t\t\t\t\t\tthis.focused = 0\n\t\t\t\t\t}\n\t\t\t\t\treturn REQUEST_OK\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.$delete(this.results, type)\n\n\t\t\t\t\t// If this is not a cancelled throw\n\t\t\t\t\tif (error.response && error.response.status) {\n\t\t\t\t\t\tthis.logger.error(`Error searching for ${this.typesMap[type]}`, error)\n\t\t\t\t\t\tshowError(this.t('core', 'An error occurred while searching for {type}', { type: this.typesMap[type] }))\n\t\t\t\t\t\treturn REQUEST_FAILED\n\t\t\t\t\t}\n\t\t\t\t\treturn REQUEST_CANCELED\n\t\t\t\t}\n\t\t\t})).then(results => {\n\t\t\t\t// Do not declare loading finished if the request have been cancelled\n\t\t\t\t// This means another search was triggered and we're therefore still loading\n\t\t\t\tif (results.some(result => result === REQUEST_CANCELED)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// We finished all searches\n\t\t\t\tthis.loading = {}\n\t\t\t})\n\t\t},\n\t\tonInputDebounced: enableLiveSearch\n\t\t\t? debounce(function(e) {\n\t\t\t\tthis.onInput(e)\n\t\t\t}, 500)\n\t\t\t: function() {\n\t\t\t\tthis.triggered = false\n\t\t\t},\n\n\t\t/**\n\t\t * Load more results for the provided type\n\t\t *\n\t\t * @param {string} type type\n\t\t */\n\t\tasync loadMore(type) {\n\t\t\t// If already loading, ignore\n\t\t\tif (this.loading[type]) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.cursors[type]) {\n\t\t\t\t// Init cancellable request\n\t\t\t\tconst { request, cancel } = search({ type, query: this.query, cursor: this.cursors[type] })\n\t\t\t\tthis.requests.push(cancel)\n\n\t\t\t\t// Fetch results\n\t\t\t\tconst { data } = await request()\n\n\t\t\t\t// Save cursor if any\n\t\t\t\tif (data.ocs.data.cursor) {\n\t\t\t\t\tthis.$set(this.cursors, type, data.ocs.data.cursor)\n\t\t\t\t}\n\n\t\t\t\t// Process results\n\t\t\t\tif (data.ocs.data.entries.length > 0) {\n\t\t\t\t\tthis.results[type].push(...data.ocs.data.entries)\n\t\t\t\t}\n\n\t\t\t\t// Check if we reached end of pagination\n\t\t\t\tif (data.ocs.data.entries.length < this.defaultLimit) {\n\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t}\n\t\t\t} else\n\n\t\t\t// If no cursor, we might have all the results already,\n\t\t\t// let's fake pagination and show the next xxx entries\n\t\t\tif (this.limits[type] && this.limits[type] >= 0) {\n\t\t\t\tthis.limits[type] += this.defaultLimit\n\n\t\t\t\t// Check if we reached end of pagination\n\t\t\t\tif (this.limits[type] >= this.results[type].length) {\n\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Focus result after render\n\t\t\tif (this.focused !== null) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Return a subset of the array if the search provider\n\t\t * doesn't supports pagination\n\t\t *\n\t\t * @param {Array} list the results\n\t\t * @param {string} type the type\n\t\t * @return {Array}\n\t\t */\n\t\tlimitIfAny(list, type) {\n\t\t\tif (type in this.limits) {\n\t\t\t\treturn list.slice(0, this.limits[type])\n\t\t\t}\n\t\t\treturn list\n\t\t},\n\n\t\tgetResultsList() {\n\t\t\treturn this.$el.querySelectorAll('.unified-search__results .unified-search__result')\n\t\t},\n\n\t\t/**\n\t\t * Focus the first result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusFirst(event) {\n\t\t\tconst results = this.getResultsList()\n\t\t\tif (results && results.length > 0) {\n\t\t\t\tif (event) {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t\tthis.focused = 0\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Focus the next result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusNext(event) {\n\t\t\tif (this.focused === null) {\n\t\t\t\tthis.focusFirst(event)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst results = this.getResultsList()\n\t\t\t// If we're not focusing the last, focus the next one\n\t\t\tif (results && results.length > 0 && this.focused + 1 < results.length) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focused++\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Focus the previous result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusPrev(event) {\n\t\t\tif (this.focused === null) {\n\t\t\t\tthis.focusFirst(event)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst results = this.getResultsList()\n\t\t\t// If we're not focusing the first, focus the previous one\n\t\t\tif (results && results.length > 0 && this.focused > 0) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focused--\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Focus the specified result index if it exists\n\t\t *\n\t\t * @param {number} index the result index\n\t\t */\n\t\tfocusIndex(index) {\n\t\t\tconst results = this.getResultsList()\n\t\t\tif (results && results[index]) {\n\t\t\t\tresults[index].focus()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set the current focused element based on the target\n\t\t *\n\t\t * @param {Event} event the focus event\n\t\t */\n\t\tsetFocusedIndex(event) {\n\t\t\tconst entry = event.target\n\t\t\tconst results = this.getResultsList()\n\t\t\tconst index = [...results].findIndex(search => search === entry)\n\t\t\tif (index > -1) {\n\t\t\t\t// let's not use focusIndex as the entry is already focused\n\t\t\t\tthis.focused = index\n\t\t\t}\n\t\t},\n\n\t\tonClickFilter(filter) {\n\t\t\tthis.query = `${this.query} ${filter}`\n\t\t\t\t.replace(/ {2}/g, ' ')\n\t\t\t\t.trim()\n\t\t\tthis.onInput()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 6px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for=\"unified-search__input\"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 18px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\n\t\t\t// Ellipsis earlier if reset button is here\n\t\t\t.icon-loading-small &,\n\t\t\t&--with-reset {\n\t\t\t\tpadding-right: $input-height;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: $margin + $input-padding;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 18px;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n font-size: var(--default-font-size);\n\t\t\tpadding: 0 15px;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=1a90fee1&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=1a90fee1&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearch.vue?vue&type=template&id=1a90fee1&scoped=true&\"\nimport script from \"./UnifiedSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./UnifiedSearch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UnifiedSearch.vue?vue&type=style&index=0&id=1a90fee1&lang=scss&scoped=true&\"\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 null,\n \"1a90fee1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-classes\":\"popover\",\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22/* fit better next to other 20px icons */,\"fill-color\":\"var(--color-primary-text)\"}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('label',{attrs:{\"for\":\"unified-search__input\"}},[_vm._v(_vm._s(_vm.ariaLabel))]),_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-row\"},[_c('form',{staticClass:\"unified-search__form\",class:{'icon-loading-small': _vm.isLoading},attrs:{\"role\":\"search\"},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter.apply(null, arguments)},\"reset\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onReset.apply(null, arguments)}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"input\",staticClass:\"unified-search__form-input\",class:{'unified-search__form-input--with-reset': !!_vm.query},attrs:{\"id\":\"unified-search__input\",\"type\":\"search\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') }),\"aria-describedby\":\"unified-search-desc\"},domProps:{\"value\":(_vm.query)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.query=$event.target.value},_vm.onInputDebounced],\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter.apply(null, arguments)}}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!!_vm.query && !_vm.isLoading)?_c('input',{staticClass:\"unified-search__form-reset icon-close\",attrs:{\"type\":\"reset\",\"aria-label\":_vm.t('core','Reset search'),\"value\":\"\"}}):_vm._e(),_vm._v(\" \"),(!!_vm.query && !_vm.isLoading && !_vm.enableLiveSearch)?_c('input',{staticClass:\"unified-search__form-submit icon-confirm\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('core','Start search'),\"value\":\"\"}}):_vm._e()]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom\"}},_vm._l((_vm.availableFilters),function(type){return _c('NcActionButton',{key:type,attrs:{\"icon\":\"icon-filter\",\"title\":_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[type] })},on:{\"click\":function($event){return _vm.onClickFilter((\"in:\" + type))}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s((\"in:\" + type))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)},[(_vm.triggered)?_c('NcHighlight',{attrs:{\"text\":_vm.t('core', 'No results for {query}', { query: _vm.query }),\"search\":_vm.query}}):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Press enter to start searching'))+\"\\n\\t\\t\\t\")])],1):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true},(_vm.isShortQuery)?{key:\"desc\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('core',\n\t\t\t\t\t'Please enter {minSearchLength} character or more to search',\n\t\t\t\t\t'Please enter {minSearchLength} characters or more to search',\n\t\t\t\t\t_vm.minSearchLength,\n\t\t\t\t\t{minSearchLength: _vm.minSearchLength}))+\"\\n\\t\\t\\t\")]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Start typing to search'))+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._l((_vm.orderedResults),function(ref,typesIndex){\n\t\t\t\t\tvar list = ref.list;\n\t\t\t\t\tvar type = ref.type;\nreturn _c('ul',{key:type,staticClass:\"unified-search__results\",class:(\"unified-search__results-\" + type),attrs:{\"aria-label\":_vm.typesMap[type]}},[_c('h2',{staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/UnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\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, \".header-menu__trigger[data-v-4ba23c22]{display:flex;align-items:center;justify-content:center;width:50px;height:44px;margin:2px 0;padding:0;cursor:pointer;opacity:.85}.header-menu--opened .header-menu__trigger[data-v-4ba23c22],.header-menu__trigger[data-v-4ba23c22]:hover,.header-menu__trigger[data-v-4ba23c22]:focus,.header-menu__trigger[data-v-4ba23c22]:active{opacity:1}.header-menu__trigger[data-v-4ba23c22]:focus-visible{outline:none}.header-menu__wrapper[data-v-4ba23c22]{position:fixed;z-index:2000;top:50px;right:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));padding:8px;border-radius:var(--border-radius-large)}.header-menu__carret[data-v-4ba23c22]{position:absolute;z-index:2001;left:calc(50% - 10px);bottom:0;width:0;height:0;content:\\\" \\\";pointer-events:none;border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-4ba23c22]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:66px;max-height:calc(100vh - 100px)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/HeaderMenu.vue\"],\"names\":[],\"mappings\":\"AA2KC,uCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CAGD,oMAIC,SAAA,CAGD,qDACC,YAAA,CAGD,uCACC,cAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CACA,qBAAA,CACA,YAAA,CACA,2DAAA,CACA,6CAAA,CACA,qDAAA,CACA,WAAA,CACA,wCAAA,CAGD,sCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA,CACA,gDAAA,CAGD,uCACC,aAAA,CACA,WAAA,CACA,4BAAA,CACA,eAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$externalMargin: 8px;\\n\\n.header-menu {\\n\\t&__trigger {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 50px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 2px 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\topacity: .85;\\n\\t}\\n\\n\\t&--opened &__trigger,\\n\\t&__trigger:hover,\\n\\t&__trigger:focus,\\n\\t&__trigger:active {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t&__trigger:focus-visible {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: fixed;\\n\\t\\tz-index: 2000;\\n\\t\\ttop: 50px;\\n\\t\\tright: 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 $externalMargin;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\\n\\t\\tpadding: 8px;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__carret {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 2001; // Because __wrapper is 2000.\\n\\t\\tleft: calc(50% - 10px);\\n\\t\\tbottom: 0;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tcontent: ' ';\\n\\t\\tpointer-events: none;\\n\\t\\tborder: 10px solid transparent;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t&__content {\\n\\t\\toverflow: auto;\\n\\t\\twidth: 350px;\\n\\t\\tmax-width: calc(100vw - 2 * $externalMargin);\\n\\t\\tmin-height: calc(44px * 1.5);\\n\\t\\tmax-height: calc(100vh - 50px * 2);\\n\\t}\\n}\\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, \".unified-search__result[data-v-288e1e92]{display:flex;align-items:center;height:44px;padding:10px;border-bottom:1px solid var(--color-border);border-radius:var(--border-radius-large) !important}.unified-search__result[data-v-288e1e92]:last-child{border-bottom:none}.unified-search__result--focused[data-v-288e1e92],.unified-search__result[data-v-288e1e92]:active,.unified-search__result[data-v-288e1e92]:hover,.unified-search__result[data-v-288e1e92]:focus{background-color:var(--color-background-hover)}.unified-search__result *[data-v-288e1e92]{cursor:pointer}.unified-search__result-icon[data-v-288e1e92]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-288e1e92]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-288e1e92]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-288e1e92]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-288e1e92],.unified-search__result-actions[data-v-288e1e92]{flex:0 0 44px}.unified-search__result-content[data-v-288e1e92]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-288e1e92],.unified-search__result-line-two[data-v-288e1e92]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-288e1e92]{opacity:.7;font-size:var(--default-font-size)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResult.vue\"],\"names\":[],\"mappings\":\"AAyKA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,2CAAA,CACA,mDAAA,CAGA,oDACC,kBAAA,CAGD,gMAIC,8CAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA7Be,CA8Bf,WA9Be,CA+Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAxEO,CA2ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t// Load more entry,\\n\\t&:last-child {\\n\\t\\tborder-bottom: none;\\n\\t}\\n\\n\\t&--focused,\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\n}\\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, \".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2 * 10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AA+DA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,2BAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\n}\\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, \".unified-search__input-wrapper[data-v-1a90fee1]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-1a90fee1]{align-self:flex-start;font-weight:bold;font-size:18px;margin-left:13px}.unified-search__form-input[data-v-1a90fee1]{margin:0 !important}.unified-search__input-row[data-v-1a90fee1]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-1a90fee1]{margin:10px 0 10px 5px}.unified-search__filters ul[data-v-1a90fee1]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-1a90fee1]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-1a90fee1]::after{right:6px;left:auto}.unified-search__form-input[data-v-1a90fee1],.unified-search__form-reset[data-v-1a90fee1]{margin:3px}.unified-search__form-input[data-v-1a90fee1]{width:100%;height:34px;padding:6px}.unified-search__form-input[data-v-1a90fee1],.unified-search__form-input[placeholder][data-v-1a90fee1],.unified-search__form-input[data-v-1a90fee1]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-1a90fee1]::-webkit-search-decoration,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-cancel-button,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-results-button,.unified-search__form-input[data-v-1a90fee1]::-webkit-search-results-decoration{-webkit-appearance:none}.icon-loading-small .unified-search__form-input[data-v-1a90fee1],.unified-search__form-input--with-reset[data-v-1a90fee1]{padding-right:34px}.unified-search__form-reset[data-v-1a90fee1],.unified-search__form-submit[data-v-1a90fee1]{position:absolute;top:0;right:4px;width:28px;height:28px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-1a90fee1]:hover,.unified-search__form-reset[data-v-1a90fee1]:focus,.unified-search__form-reset[data-v-1a90fee1]:active,.unified-search__form-submit[data-v-1a90fee1]:hover,.unified-search__form-submit[data-v-1a90fee1]:focus,.unified-search__form-submit[data-v-1a90fee1]:active{opacity:1}.unified-search__form-submit[data-v-1a90fee1]{right:28px}.unified-search__results[data-v-1a90fee1]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-1a90fee1]{display:block;margin:10px;margin-bottom:6px;margin-left:16px;color:var(--color-primary-element);font-weight:normal;font-size:18px}.unified-search .unified-search__result-more[data-v-1a90fee1]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-1a90fee1]{margin:10vh 0}.unified-search .empty-content[data-v-1a90fee1] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);padding:0 15px;text-align:center}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAssBC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CAGD,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,SA/Ca,CAgDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA3DY,CA4DZ,WA3Da,CA6Db,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAID,0HAEC,kBAjFW,CAqFb,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAlHM,CAmHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,kBAAA,CACA,cAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,uEACC,kBAAA,CACS,kCAAA,CACT,cAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 6px;\\n\\n.unified-search {\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form-input {\\n\\t\\tmargin: 0 !important;\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin: $margin 0 $margin math.div($margin, 2);\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\t\\tright: $input-padding;\\n\\t\\t\\tleft: auto;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Ellipsis earlier if reset button is here\\n\\t\\t\\t.icon-loading-small &,\\n\\t\\t\\t&--with-reset {\\n\\t\\t\\t\\tpadding-right: $input-height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset, &-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tright: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-right: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tright: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-left: $margin + $input-padding;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t.unified-search__result-more::v-deep {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t::v-deep .empty-content__title {\\n\\t\\t\\tfont-weight: normal;\\n font-size: var(--default-font-size);\\n\\t\\t\\tpadding: 0 15px;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\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","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9671;","__webpack_require__.b = 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\t9671: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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 = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\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, [7874], function() { return __webpack_require__(26673); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","getTypes","axios","generateOcsUrl","params","from","window","location","pathname","replace","search","data","ocs","Array","isArray","length","console","error","type","query","cursor","cancelToken","request","token","term","cancel","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","component","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","class","opened","attrs","id","ariaLabel","toString","on","$event","preventDefault","toggleMenu","apply","arguments","_t","_v","_obj","focused","resourceUrl","reEmitEvent","rounded","hasValidThumbnail","loaded","icon","isIconUrl","style","backgroundImage","thumbnailUrl","onError","onLoad","_e","title","subline","_s","light","dark","_l","placeholder","key","width","randWidth","open","onOpen","onClose","scopedSlots","_u","fn","proxy","isLoading","stopPropagation","onInputEnter","onReset","ref","t","types","typesNames","join","domProps","target","composing","onInputDebounced","indexOf","_k","keyCode","availableFilters","typesMap","onClickFilter","hasResults","typesIndex","list","limitIfAny","result","index","_b","setFocusedIndex","reached","loading","loadMore","isShortQuery","n","__webpack_nonce__","btoa","getRequestToken","logger","getLoggerBuilder","setApp","detectUser","build","Vue","methods","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","amdD","Error","amdO","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"core-unified-search.js?v=0244837ad7c50138e262","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/core/src/services/UnifiedSearchService.js","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/HeaderMenu.vue","webpack://nextcloud/./core/src/components/HeaderMenu.vue?1d30","webpack://nextcloud/./core/src/components/HeaderMenu.vue?30e1","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=template&id=4ba23c22&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?780a","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResult.vue?32d3","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=template&id=288e1e92&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=script&lang=js&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?c1bc","webpack://nextcloud/./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?7f72","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true&","webpack:///nextcloud/core/src/views/UnifiedSearch.vue","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=script&lang=js&","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?c6ba","webpack://nextcloud/./core/src/views/UnifiedSearch.vue?1990","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=template&id=d0a051b2&scoped=true&","webpack:///nextcloud/core/src/unified-search.js","webpack:///nextcloud/core/src/components/HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&","webpack:///nextcloud/core/src/components/UnifiedSearch/SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&","webpack:///nextcloud/core/src/views/UnifiedSearch.vue?vue&type=style&index=0&id=d0a051b2&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","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/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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};","/**\n * @copyright 2020, John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author Christoph Wurst <christoph@winzerhof-wurst.at>\n * @author Daniel Calviño Sánchez <danxuliu@gmail.com>\n * @author Joas Schilling <coding@schilljs.com>\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { loadState } from '@nextcloud/initial-state'\nimport axios from '@nextcloud/axios'\n\nexport const defaultLimit = loadState('unified-search', 'limit-default')\nexport const minSearchLength = loadState('unified-search', 'min-search-length', 2)\nexport const enableLiveSearch = loadState('unified-search', 'live-search', true)\n\nexport const regexFilterIn = /(^|\\s)in:([a-z_-]+)/ig\nexport const regexFilterNot = /(^|\\s)-in:([a-z_-]+)/ig\n\n/**\n * Create a cancel token\n *\n * @return {import('axios').CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Get the list of available search providers\n *\n * @return {Promise<Array>}\n */\nexport async function getTypes() {\n\ttry {\n\t\tconst { data } = await axios.get(generateOcsUrl('search/providers'), {\n\t\t\tparams: {\n\t\t\t\t// Sending which location we're currently at\n\t\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t\t},\n\t\t})\n\t\tif ('ocs' in data && 'data' in data.ocs && Array.isArray(data.ocs.data) && data.ocs.data.length > 0) {\n\t\t\t// Providers are sorted by the api based on their order key\n\t\t\treturn data.ocs.data\n\t\t}\n\t} catch (error) {\n\t\tconsole.error(error)\n\t}\n\treturn []\n}\n\n/**\n * Get the list of available search providers\n *\n * @param {object} options destructuring object\n * @param {string} options.type the type to search\n * @param {string} options.query the search\n * @param {number|string|undefined} options.cursor the offset for paginated searches\n * @return {object} {request: Promise, cancel: Promise}\n */\nexport function search({ type, query, cursor }) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\tconst request = async () => axios.get(generateOcsUrl('search/providers/{type}/search', { type }), {\n\t\tcancelToken: cancelToken.token,\n\t\tparams: {\n\t\t\tterm: query,\n\t\t\tcursor,\n\t\t\t// Sending which location we're currently at\n\t\t\tfrom: window.location.pathname.replace('/index.php', '') + window.location.search,\n\t\t},\n\t})\n\n\treturn {\n\t\trequest,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=script&lang=js&\""," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div :id=\"id\"\n\t\tv-click-outside=\"clickOutsideConfig\"\n\t\t:class=\"{ 'header-menu--opened': opened }\"\n\t\tclass=\"header-menu\">\n\t\t<a class=\"header-menu__trigger\"\n\t\t\thref=\"#\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-controls=\"`header-menu-${id}`\"\n\t\t\t:aria-expanded=\"opened.toString()\"\n\t\t\t@click.prevent=\"toggleMenu\">\n\t\t\t<slot name=\"trigger\" />\n\t\t</a>\n\t\t<div v-show=\"opened\" class=\"header-menu__carret\" />\n\t\t<div v-show=\"opened\"\n\t\t\t:id=\"`header-menu-${id}`\"\n\t\t\tclass=\"header-menu__wrapper\"\n\t\t\trole=\"menu\">\n\t\t\t<div class=\"header-menu__content\">\n\t\t\t\t<slot />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { directive as ClickOutside } from 'v-click-outside'\nimport excludeClickOutsideClasses from '@nextcloud/vue/dist/Mixins/excludeClickOutsideClasses'\n\nexport default {\n\tname: 'HeaderMenu',\n\n\tdirectives: {\n\t\tClickOutside,\n\t},\n\n\tmixins: [\n\t\texcludeClickOutsideClasses,\n\t],\n\n\tprops: {\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\topened: this.open,\n\t\t\tclickOutsideConfig: {\n\t\t\t\thandler: this.closeMenu,\n\t\t\t\tmiddleware: this.clickOutsideMiddleware,\n\t\t\t},\n\t\t\tshortcutsDisabled: OCP.Accessibility.disableKeyboardShortcuts(),\n\t\t}\n\t},\n\n\twatch: {\n\t\topen(newVal) {\n\t\t\tthis.opened = newVal\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tif (this.opened) {\n\t\t\t\t\tthis.openMenu()\n\t\t\t\t} else {\n\t\t\t\t\tthis.closeMenu()\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n\n\tmounted() {\n\t\tdocument.addEventListener('keydown', this.onKeyDown)\n\t},\n\tbeforeDestroy() {\n\t\tdocument.removeEventListener('keydown', this.onKeyDown)\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Toggle the current menu open state\n\t\t */\n\t\ttoggleMenu() {\n\t\t\t// Toggling current state\n\t\t\tif (!this.opened) {\n\t\t\t\tthis.openMenu()\n\t\t\t} else {\n\t\t\t\tthis.closeMenu()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Close the current menu\n\t\t */\n\t\tcloseMenu() {\n\t\t\tif (!this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = false\n\t\t\tthis.$emit('close')\n\t\t\tthis.$emit('update:open', false)\n\t\t},\n\n\t\t/**\n\t\t * Open the current menu\n\t\t */\n\t\topenMenu() {\n\t\t\tif (this.opened) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.opened = true\n\t\t\tthis.$emit('open')\n\t\t\tthis.$emit('update:open', true)\n\t\t},\n\n\t\tonKeyDown(event) {\n\t\t\tif (this.shortcutsDisabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If opened and escape pressed, close\n\t\t\tif (event.key === 'Escape' && this.opened) {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\t/** user cancelled the menu by pressing escape */\n\t\t\t\tthis.$emit('cancel')\n\n\t\t\t\t/** we do NOT fire a close event to differentiate cancel and close */\n\t\t\t\tthis.opened = false\n\t\t\t\tthis.$emit('update:open', false)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$externalMargin: 8px;\n\n.header-menu {\n\t&__trigger {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 50px;\n\t\theight: 44px;\n\t\tmargin: 2px 0;\n\t\tpadding: 0;\n\t\tcursor: pointer;\n\t\topacity: .85;\n\t}\n\n\t&--opened &__trigger,\n\t&__trigger:hover,\n\t&__trigger:focus,\n\t&__trigger:active {\n\t\topacity: 1;\n\t}\n\n\t&__trigger:focus-visible {\n\t\toutline: none;\n\t}\n\n\t&__wrapper {\n\t\tposition: fixed;\n\t\tz-index: 2000;\n\t\ttop: 50px;\n\t\tright: 0;\n\t\tbox-sizing: border-box;\n\t\tmargin: 0 $externalMargin;\n\t\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\n\t\tbackground-color: var(--color-main-background);\n\t\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\n\t\tpadding: 8px;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__carret {\n\t\tposition: absolute;\n\t\tz-index: 2001; // Because __wrapper is 2000.\n\t\tleft: calc(50% - 10px);\n\t\tbottom: 0;\n\t\twidth: 0;\n\t\theight: 0;\n\t\tcontent: ' ';\n\t\tpointer-events: none;\n\t\tborder: 10px solid transparent;\n\t\tborder-bottom-color: var(--color-main-background);\n\t}\n\n\t&__content {\n\t\toverflow: auto;\n\t\twidth: 350px;\n\t\tmax-width: calc(100vw - 2 * $externalMargin);\n\t\tmin-height: calc(44px * 1.5);\n\t\tmax-height: calc(100vh - 50px * 2);\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderMenu.vue?vue&type=template&id=4ba23c22&scoped=true&\"\nimport script from \"./HeaderMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderMenu.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderMenu.vue?vue&type=style&index=0&id=4ba23c22&lang=scss&scoped=true&\"\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 null,\n \"4ba23c22\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutsideConfig),expression:\"clickOutsideConfig\"}],staticClass:\"header-menu\",class:{ 'header-menu--opened': _vm.opened },attrs:{\"id\":_vm.id}},[_c('a',{staticClass:\"header-menu__trigger\",attrs:{\"href\":\"#\",\"aria-label\":_vm.ariaLabel,\"aria-controls\":(\"header-menu-\" + _vm.id),\"aria-expanded\":_vm.opened.toString()},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleMenu.apply(null, arguments)}}},[_vm._t(\"trigger\")],2),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"header-menu__carret\"}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.opened),expression:\"opened\"}],staticClass:\"header-menu__wrapper\",attrs:{\"id\":(\"header-menu-\" + _vm.id),\"role\":\"menu\"}},[_c('div',{staticClass:\"header-menu__content\"},[_vm._t(\"default\")],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=script&lang=js&\""," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<a :href=\"resourceUrl || '#'\"\n\t\tclass=\"unified-search__result\"\n\t\t:class=\"{\n\t\t\t'unified-search__result--focused': focused,\n\t\t}\"\n\t\t@click=\"reEmitEvent\"\n\t\t@focus=\"reEmitEvent\">\n\n\t\t<!-- Icon describing the result -->\n\t\t<div class=\"unified-search__result-icon\"\n\t\t\t:class=\"{\n\t\t\t\t'unified-search__result-icon--rounded': rounded,\n\t\t\t\t'unified-search__result-icon--no-preview': !hasValidThumbnail && !loaded,\n\t\t\t\t'unified-search__result-icon--with-thumbnail': hasValidThumbnail && loaded,\n\t\t\t\t[icon]: !loaded && !isIconUrl,\n\t\t\t}\"\n\t\t\t:style=\"{\n\t\t\t\tbackgroundImage: isIconUrl ? `url(${icon})` : '',\n\t\t\t}\">\n\n\t\t\t<img v-if=\"hasValidThumbnail\"\n\t\t\t\tv-show=\"loaded\"\n\t\t\t\t:src=\"thumbnailUrl\"\n\t\t\t\talt=\"\"\n\t\t\t\t@error=\"onError\"\n\t\t\t\t@load=\"onLoad\">\n\t\t</div>\n\n\t\t<!-- Title and sub-title -->\n\t\t<span class=\"unified-search__result-content\">\n\t\t\t<span class=\"unified-search__result-line-one\" :title=\"title\">\n\t\t\t\t<NcHighlight :text=\"title\" :search=\"query\" />\n\t\t\t</span>\n\t\t\t<span v-if=\"subline\" class=\"unified-search__result-line-two\" :title=\"subline\">{{ subline }}</span>\n\t\t</span>\n\t</a>\n</template>\n\n<script>\nimport NcHighlight from '@nextcloud/vue/dist/Components/NcHighlight'\n\nexport default {\n\tname: 'SearchResult',\n\n\tcomponents: {\n\t\tNcHighlight,\n\t},\n\n\tprops: {\n\t\tthumbnailUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tresourceUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\trounded: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tquery: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Only used for the first result as a visual feedback\n\t\t * so we can keep the search input focused but pressing\n\t\t * enter still opens the first result\n\t\t */\n\t\tfocused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\thasValidThumbnail: this.thumbnailUrl && this.thumbnailUrl.trim() !== '',\n\t\t\tloaded: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisIconUrl() {\n\t\t\t// If we're facing an absolute url\n\t\t\tif (this.icon.startsWith('/')) {\n\t\t\t\treturn true\n\t\t\t}\n\n\t\t\t// Otherwise, let's check if this is a valid url\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew URL(this.icon)\n\t\t\t} catch {\n\t\t\t\treturn false\n\t\t\t}\n\t\t\treturn true\n\t\t},\n\t},\n\n\twatch: {\n\t\t// Make sure to reset state on change even when vue recycle the component\n\t\tthumbnailUrl() {\n\t\t\tthis.hasValidThumbnail = this.thumbnailUrl && this.thumbnailUrl.trim() !== ''\n\t\t\tthis.loaded = false\n\t\t},\n\t},\n\n\tmethods: {\n\t\treEmitEvent(e) {\n\t\t\tthis.$emit(e.type, e)\n\t\t},\n\n\t\t/**\n\t\t * If the image fails to load, fallback to iconClass\n\t\t */\n\t\tonError() {\n\t\t\tthis.hasValidThumbnail = false\n\t\t},\n\n\t\tonLoad() {\n\t\t\tthis.loaded = true\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result {\n\tdisplay: flex;\n\talign-items: center;\n\theight: $clickable-area;\n\tpadding: $margin;\n\tborder-bottom: 1px solid var(--color-border);\n\tborder-radius: var(--border-radius-large) !important;\n\n\t// Load more entry,\n\t&:last-child {\n\t\tborder-bottom: none;\n\t}\n\n\t&--focused,\n\t&:active,\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t* {\n\t\tcursor: pointer;\n\t}\n\n\t&-icon {\n\t\toverflow: hidden;\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\tborder-radius: var(--border-radius);\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center center;\n\t\tbackground-size: 32px;\n\t\t&--rounded {\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t}\n\t\t&--no-preview {\n\t\t\tbackground-size: 32px;\n\t\t}\n\t\t&--with-thumbnail {\n\t\t\tbackground-size: cover;\n\t\t}\n\t\t&--with-thumbnail:not(&--rounded) {\n\t\t\t// compensate for border\n\t\t\tmax-width: $clickable-area - 2px;\n\t\t\tmax-height: $clickable-area - 2px;\n\t\t\tborder: 1px solid var(--color-border);\n\t\t}\n\n\t\timg {\n\t\t\t// Make sure to keep ratio\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\n\t\t\tobject-fit: cover;\n\t\t\tobject-position: center;\n\t\t}\n\t}\n\n\t&-icon,\n\t&-actions {\n\t\tflex: 0 0 $clickable-area;\n\t}\n\n\t&-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex: 1 1 100%;\n\t\tflex-wrap: wrap;\n\t\t// Set to minimum and gro from it\n\t\tmin-width: 0;\n\t\tpadding-left: $margin;\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\toverflow: hidden;\n\t\tflex: 1 1 100%;\n\t\tmargin: 1px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\t// Use the same color as the `a`\n\t\tcolor: inherit;\n\t\tfont-size: inherit;\n\t}\n\t&-line-two {\n\t\topacity: .7;\n\t\tfont-size: var(--default-font-size);\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResult.vue?vue&type=template&id=288e1e92&scoped=true&\"\nimport script from \"./SearchResult.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchResult.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchResult.vue?vue&type=style&index=0&id=288e1e92&lang=scss&scoped=true&\"\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 null,\n \"288e1e92\",\n null\n \n)\n\nexport default component.exports","var render = function () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"unified-search__result\",class:{\n\t\t'unified-search__result--focused': _vm.focused,\n\t},attrs:{\"href\":_vm.resourceUrl || '#'},on:{\"click\":_vm.reEmitEvent,\"focus\":_vm.reEmitEvent}},[_c('div',{staticClass:\"unified-search__result-icon\",class:( _obj = {\n\t\t\t'unified-search__result-icon--rounded': _vm.rounded,\n\t\t\t'unified-search__result-icon--no-preview': !_vm.hasValidThumbnail && !_vm.loaded,\n\t\t\t'unified-search__result-icon--with-thumbnail': _vm.hasValidThumbnail && _vm.loaded\n\t\t}, _obj[_vm.icon] = !_vm.loaded && !_vm.isIconUrl, _obj ),style:({\n\t\t\tbackgroundImage: _vm.isIconUrl ? (\"url(\" + _vm.icon + \")\") : '',\n\t\t})},[(_vm.hasValidThumbnail)?_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],attrs:{\"src\":_vm.thumbnailUrl,\"alt\":\"\"},on:{\"error\":_vm.onError,\"load\":_vm.onLoad}}):_vm._e()]),_vm._v(\" \"),_c('span',{staticClass:\"unified-search__result-content\"},[_c('span',{staticClass:\"unified-search__result-line-one\",attrs:{\"title\":_vm.title}},[_c('NcHighlight',{attrs:{\"text\":_vm.title,\"search\":_vm.query}})],1),_vm._v(\" \"),(_vm.subline)?_c('span',{staticClass:\"unified-search__result-line-two\",attrs:{\"title\":_vm.subline}},[_vm._v(_vm._s(_vm.subline))]):_vm._e()])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"","<template>\n\t<ul>\n\t\t<!-- Placeholder animation -->\n\t\t<svg class=\"unified-search__result-placeholder-gradient\">\n\t\t\t<defs>\n\t\t\t\t<linearGradient id=\"unified-search__result-placeholder-gradient\">\n\t\t\t\t\t<stop offset=\"0%\" :stop-color=\"light\">\n\t\t\t\t\t\t<animate attributeName=\"stop-color\"\n\t\t\t\t\t\t\t:values=\"`${light}; ${light}; ${dark}; ${dark}; ${light}`\"\n\t\t\t\t\t\t\tdur=\"2s\"\n\t\t\t\t\t\t\trepeatCount=\"indefinite\" />\n\t\t\t\t\t</stop>\n\t\t\t\t\t<stop offset=\"100%\" :stop-color=\"dark\">\n\t\t\t\t\t\t<animate attributeName=\"stop-color\"\n\t\t\t\t\t\t\t:values=\"`${dark}; ${light}; ${light}; ${dark}; ${dark}`\"\n\t\t\t\t\t\t\tdur=\"2s\"\n\t\t\t\t\t\t\trepeatCount=\"indefinite\" />\n\t\t\t\t\t</stop>\n\t\t\t\t</linearGradient>\n\t\t\t</defs>\n\t\t</svg>\n\n\t\t<!-- Placeholders -->\n\t\t<li v-for=\"placeholder in [1, 2, 3]\" :key=\"placeholder\">\n\t\t\t<svg class=\"unified-search__result-placeholder\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tfill=\"url(#unified-search__result-placeholder-gradient)\">\n\t\t\t\t<rect class=\"unified-search__result-placeholder-icon\" />\n\t\t\t\t<rect class=\"unified-search__result-placeholder-line-one\" />\n\t\t\t\t<rect class=\"unified-search__result-placeholder-line-two\" :style=\"{width: `calc(${randWidth()}%)`}\" />\n\t\t\t</svg>\n\t\t</li>\n\t</ul>\n</template>\n\n<script>\nexport default {\n\tname: 'SearchResultPlaceholders',\n\n\tdata() {\n\t\treturn {\n\t\t\tlight: null,\n\t\t\tdark: null,\n\t\t}\n\t},\n\tmounted() {\n\t\tconst styles = getComputedStyle(document.documentElement)\n\t\tthis.dark = styles.getPropertyValue('--color-placeholder-dark')\n\t\tthis.light = styles.getPropertyValue('--color-placeholder-light')\n\t},\n\n\tmethods: {\n\t\trandWidth() {\n\t\t\treturn Math.floor(Math.random() * 20) + 30\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$clickable-area: 44px;\n$margin: 10px;\n\n.unified-search__result-placeholder-gradient {\n\tposition: fixed;\n\theight: 0;\n\twidth: 0;\n\tz-index: -1;\n}\n\n.unified-search__result-placeholder {\n\twidth: calc(100% - 2 * #{$margin});\n\theight: $clickable-area;\n\tmargin: $margin;\n\n\t&-icon {\n\t\twidth: $clickable-area;\n\t\theight: $clickable-area;\n\t\trx: var(--border-radius);\n\t\try: var(--border-radius);\n\t}\n\n\t&-line-one,\n\t&-line-two {\n\t\twidth: calc(100% - #{$margin + $clickable-area});\n\t\theight: 1em;\n\t\tx: $margin + $clickable-area;\n\t}\n\n\t&-line-one {\n\t\ty: 5px;\n\t}\n\n\t&-line-two {\n\t\ty: 25px;\n\t}\n}\n\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SearchResultPlaceholders.vue?vue&type=template&id=9ed03c40&scoped=true&\"\nimport script from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"\nexport * from \"./SearchResultPlaceholders.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SearchResultPlaceholders.vue?vue&type=style&index=0&id=9ed03c40&lang=scss&scoped=true&\"\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 null,\n \"9ed03c40\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('svg',{staticClass:\"unified-search__result-placeholder-gradient\"},[_c('defs',[_c('linearGradient',{attrs:{\"id\":\"unified-search__result-placeholder-gradient\"}},[_c('stop',{attrs:{\"offset\":\"0%\",\"stop-color\":_vm.light}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":(_vm.light + \"; \" + _vm.light + \"; \" + _vm.dark + \"; \" + _vm.dark + \"; \" + _vm.light),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})]),_vm._v(\" \"),_c('stop',{attrs:{\"offset\":\"100%\",\"stop-color\":_vm.dark}},[_c('animate',{attrs:{\"attributeName\":\"stop-color\",\"values\":(_vm.dark + \"; \" + _vm.light + \"; \" + _vm.light + \"; \" + _vm.dark + \"; \" + _vm.dark),\"dur\":\"2s\",\"repeatCount\":\"indefinite\"}})])],1)],1)]),_vm._v(\" \"),_vm._l(([1, 2, 3]),function(placeholder){return _c('li',{key:placeholder},[_c('svg',{staticClass:\"unified-search__result-placeholder\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"url(#unified-search__result-placeholder-gradient)\"}},[_c('rect',{staticClass:\"unified-search__result-placeholder-icon\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-one\"}),_vm._v(\" \"),_c('rect',{staticClass:\"unified-search__result-placeholder-line-two\",style:({width: (\"calc(\" + (_vm.randWidth()) + \"%)\")})})])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }"," <!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<HeaderMenu id=\"unified-search\"\n\t\tclass=\"unified-search\"\n\t\texclude-click-outside-classes=\"popover\"\n\t\t:open.sync=\"open\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t@open=\"onOpen\"\n\t\t@close=\"onClose\">\n\t\t<!-- Header icon -->\n\t\t<template #trigger>\n\t\t\t<Magnify class=\"unified-search__trigger\"\n\t\t\t\t:size=\"22/* fit better next to other 20px icons */\"\n\t\t\t\tfill-color=\"var(--color-primary-text)\" />\n\t\t</template>\n\n\t\t<!-- Search form & filters wrapper -->\n\t\t<div class=\"unified-search__input-wrapper\">\n\t\t\t<label for=\"unified-search__input\">{{ ariaLabel }}</label>\n\t\t\t<div class=\"unified-search__input-row\">\n\t\t\t\t<form class=\"unified-search__form\"\n\t\t\t\t\trole=\"search\"\n\t\t\t\t\t:class=\"{'icon-loading-small': isLoading}\"\n\t\t\t\t\t@submit.prevent.stop=\"onInputEnter\"\n\t\t\t\t\t@reset.prevent.stop=\"onReset\">\n\t\t\t\t\t<!-- Search input -->\n\t\t\t\t\t<input ref=\"input\"\n\t\t\t\t\t\tid=\"unified-search__input\"\n\t\t\t\t\t\tv-model=\"query\"\n\t\t\t\t\t\tclass=\"unified-search__form-input\"\n\t\t\t\t\t\ttype=\"search\"\n\t\t\t\t\t\t:class=\"{'unified-search__form-input--with-reset': !!query}\"\n\t\t\t\t\t\t:placeholder=\"t('core', 'Search {types} …', { types: typesNames.join(', ') })\"\n\t\t\t\t\t\taria-describedby=\"unified-search-desc\"\n\t\t\t\t\t\t@input=\"onInputDebounced\"\n\t\t\t\t\t\t@keypress.enter.prevent.stop=\"onInputEnter\">\n\t\t\t\t\t<p id=\"unified-search-desc\" class=\"hidden-visually\">\n\t\t\t\t\t\t{{ t('core', 'Search starts once you start typing') }}\n\t\t\t\t\t</p>\n\n\t\t\t\t\t<!-- Reset search button -->\n\t\t\t\t\t<input v-if=\"!!query && !isLoading\"\n\t\t\t\t\t\ttype=\"reset\"\n\t\t\t\t\t\tclass=\"unified-search__form-reset icon-close\"\n\t\t\t\t\t\t:aria-label=\"t('core','Reset search')\"\n\t\t\t\t\t\tvalue=\"\">\n\n\t\t\t\t\t<input v-if=\"!!query && !isLoading && !enableLiveSearch\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tclass=\"unified-search__form-submit icon-confirm\"\n\t\t\t\t\t\t:aria-label=\"t('core','Start search')\"\n\t\t\t\t\t\tvalue=\"\">\n\t\t\t\t</form>\n\n\t\t\t\t<!-- Search filters -->\n\t\t\t\t<NcActions v-if=\"availableFilters.length > 1\" class=\"unified-search__filters\" placement=\"bottom\">\n\t\t\t\t\t<NcActionButton v-for=\"type in availableFilters\"\n\t\t\t\t\t\t:key=\"type\"\n\t\t\t\t\t\ticon=\"icon-filter\"\n\t\t\t\t\t\t:title=\"t('core', 'Search for {name} only', { name: typesMap[type] })\"\n\t\t\t\t\t\t@click=\"onClickFilter(`in:${type}`)\">\n\t\t\t\t\t\t{{ `in:${type}` }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<template v-if=\"!hasResults\">\n\t\t\t<!-- Loading placeholders -->\n\t\t\t<SearchResultPlaceholders v-if=\"isLoading\" />\n\n\t\t\t<NcEmptyContent v-else-if=\"isValidQuery\">\n\t\t\t\t<NcHighlight v-if=\"triggered\" :text=\"t('core', 'No results for {query}', { query })\" :search=\"query\" />\n\t\t\t\t<div v-else>\n\t\t\t\t\t{{ t('core', 'Press enter to start searching') }}\n\t\t\t\t</div>\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\n\t\t\t<NcEmptyContent v-else-if=\"!isLoading || isShortQuery\">\n\t\t\t\t{{ t('core', 'Start typing to search') }}\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t\t<template v-if=\"isShortQuery\" #desc>\n\t\t\t\t\t{{ n('core',\n\t\t\t\t\t\t'Please enter {minSearchLength} character or more to search',\n\t\t\t\t\t\t'Please enter {minSearchLength} characters or more to search',\n\t\t\t\t\t\tminSearchLength,\n\t\t\t\t\t\t{minSearchLength}) }}\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</template>\n\n\t\t<!-- Grouped search results -->\n\t\t<template v-else>\n\t\t\t<ul v-for=\"({list, type}, typesIndex) in orderedResults\"\n\t\t\t\t:key=\"type\"\n\t\t\t\tclass=\"unified-search__results\"\n\t\t\t\t:class=\"`unified-search__results-${type}`\"\n\t\t\t\t:aria-label=\"typesMap[type]\">\n\t\t\t\t<h2 class=\"unified-search__results-header\">\n\t\t\t\t\t{{ typesMap[type] }}\n\t\t\t\t</h2>\n\n\t\t\t\t<!-- Search results -->\n\t\t\t\t<li v-for=\"(result, index) in limitIfAny(list, type)\" :key=\"result.resourceUrl\">\n\t\t\t\t\t<SearchResult v-bind=\"result\"\n\t\t\t\t\t\t:query=\"query\"\n\t\t\t\t\t\t:focused=\"focused === 0 && typesIndex === 0 && index === 0\"\n\t\t\t\t\t\t@focus=\"setFocusedIndex\" />\n\t\t\t\t</li>\n\n\t\t\t\t<!-- Load more button -->\n\t\t\t\t<li>\n\t\t\t\t\t<SearchResult v-if=\"!reached[type]\"\n\t\t\t\t\t\tclass=\"unified-search__result-more\"\n\t\t\t\t\t\t:title=\"loading[type]\n\t\t\t\t\t\t\t? t('core', 'Loading more results …')\n\t\t\t\t\t\t\t: t('core', 'Load more results')\"\n\t\t\t\t\t\t:icon-class=\"loading[type] ? 'icon-loading-small' : ''\"\n\t\t\t\t\t\t@click.prevent=\"loadMore(type)\"\n\t\t\t\t\t\t@focus=\"setFocusedIndex\" />\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</template>\n\t</HeaderMenu>\n</template>\n\n<script>\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\nimport { minSearchLength, getTypes, search, defaultLimit, regexFilterIn, regexFilterNot, enableLiveSearch } from '../services/UnifiedSearchService'\nimport { showError } from '@nextcloud/dialogs'\n\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport debounce from 'debounce'\nimport NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent'\nimport NcHighlight from '@nextcloud/vue/dist/Components/NcHighlight'\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nimport HeaderMenu from '../components/HeaderMenu'\nimport SearchResult from '../components/UnifiedSearch/SearchResult'\nimport SearchResultPlaceholders from '../components/UnifiedSearch/SearchResultPlaceholders'\n\nconst REQUEST_FAILED = 0\nconst REQUEST_OK = 1\nconst REQUEST_CANCELED = 2\n\nexport default {\n\tname: 'UnifiedSearch',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t\tNcActions,\n\t\tNcEmptyContent,\n\t\tHeaderMenu,\n\t\tNcHighlight,\n\t\tMagnify,\n\t\tSearchResult,\n\t\tSearchResultPlaceholders,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttypes: [],\n\n\t\t\t// Cursors per types\n\t\t\tcursors: {},\n\t\t\t// Various search limits per types\n\t\t\tlimits: {},\n\t\t\t// Loading types\n\t\t\tloading: {},\n\t\t\t// Reached search types\n\t\t\treached: {},\n\t\t\t// Pending cancellable requests\n\t\t\trequests: [],\n\t\t\t// List of all results\n\t\t\tresults: {},\n\n\t\t\tquery: '',\n\t\t\tfocused: null,\n\t\t\ttriggered: false,\n\n\t\t\tdefaultLimit,\n\t\t\tminSearchLength,\n\t\t\tenableLiveSearch,\n\n\t\t\topen: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\ttypesIDs() {\n\t\t\treturn this.types.map(type => type.id)\n\t\t},\n\t\ttypesNames() {\n\t\t\treturn this.types.map(type => type.name)\n\t\t},\n\t\ttypesMap() {\n\t\t\treturn this.types.reduce((prev, curr) => {\n\t\t\t\tprev[curr.id] = curr.name\n\t\t\t\treturn prev\n\t\t\t}, {})\n\t\t},\n\n\t\tariaLabel() {\n\t\t\treturn t('core', 'Search')\n\t\t},\n\n\t\t/**\n\t\t * Is there any result to display\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasResults() {\n\t\t\treturn Object.keys(this.results).length !== 0\n\t\t},\n\n\t\t/**\n\t\t * Return ordered results\n\t\t *\n\t\t * @return {Array}\n\t\t */\n\t\torderedResults() {\n\t\t\treturn this.typesIDs\n\t\t\t\t.filter(type => type in this.results)\n\t\t\t\t.map(type => ({\n\t\t\t\t\ttype,\n\t\t\t\t\tlist: this.results[type],\n\t\t\t\t}))\n\t\t},\n\n\t\t/**\n\t\t * Available filters\n\t\t * We only show filters that are available on the results\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tavailableFilters() {\n\t\t\treturn Object.keys(this.results)\n\t\t},\n\n\t\t/**\n\t\t * Applied filters\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tusedFiltersIn() {\n\t\t\tlet match\n\t\t\tconst filters = []\n\t\t\twhile ((match = regexFilterIn.exec(this.query)) !== null) {\n\t\t\t\tfilters.push(match[1])\n\t\t\t}\n\t\t\treturn filters\n\t\t},\n\n\t\t/**\n\t\t * Applied anti filters\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tusedFiltersNot() {\n\t\t\tlet match\n\t\t\tconst filters = []\n\t\t\twhile ((match = regexFilterNot.exec(this.query)) !== null) {\n\t\t\t\tfilters.push(match[1])\n\t\t\t}\n\t\t\treturn filters\n\t\t},\n\n\t\t/**\n\t\t * Is the current search too short\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisShortQuery() {\n\t\t\treturn this.query && this.query.trim().length < minSearchLength\n\t\t},\n\n\t\t/**\n\t\t * Is the current search valid\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisValidQuery() {\n\t\t\treturn this.query && this.query.trim() !== '' && !this.isShortQuery\n\t\t},\n\n\t\t/**\n\t\t * Have we reached the end of all types searches\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisDoneSearching() {\n\t\t\treturn Object.values(this.reached).every(state => state === false)\n\t\t},\n\n\t\t/**\n\t\t * Is there any search in progress\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisLoading() {\n\t\t\treturn Object.values(this.loading).some(state => state === true)\n\t\t},\n\t},\n\n\tasync created() {\n\t\tsubscribe('files:navigation:changed', this.resetForm)\n\t\tthis.types = await getTypes()\n\t\tthis.logger.debug('Unified Search initialized with the following providers', this.types)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('files:navigation:changed', this.resetForm)\n\t},\n\n\tmounted() {\n\t\tif (OCP.Accessibility.disableKeyboardShortcuts()) {\n\t\t\treturn\n\t\t}\n\n\t\tdocument.addEventListener('keydown', (event) => {\n\t\t\t// if not already opened, allows us to trigger default browser on second keydown\n\t\t\tif (event.ctrlKey && event.key === 'f' && !this.open) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.open = true\n\t\t\t\tthis.focusInput()\n\t\t\t}\n\n\t\t\t// https://www.w3.org/WAI/GL/wiki/Using_ARIA_menus\n\t\t\tif (this.open) {\n\t\t\t\t// If arrow down, focus next result\n\t\t\t\tif (event.key === 'ArrowDown') {\n\t\t\t\t\tthis.focusNext(event)\n\t\t\t\t}\n\n\t\t\t\t// If arrow up, focus prev result\n\t\t\t\tif (event.key === 'ArrowUp') {\n\t\t\t\t\tthis.focusPrev(event)\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t},\n\n\tmethods: {\n\t\tasync onOpen() {\n\t\t\tthis.focusInput()\n\t\t\t// Update types list in the background\n\t\t\tthis.types = await getTypes()\n\t\t},\n\t\tonClose() {\n\t\t\temit('nextcloud:unified-search.close')\n\t\t},\n\n\t\tresetForm() {\n\t\t\tthis.$el.querySelector('form[role=\"search\"]').reset()\n\t\t},\n\n\t\t/**\n\t\t * Reset the search state\n\t\t */\n\t\tonReset() {\n\t\t\temit('nextcloud:unified-search.reset')\n\t\t\tthis.logger.debug('Search reset')\n\t\t\tthis.query = ''\n\t\t\tthis.resetState()\n\t\t\tthis.focusInput()\n\t\t},\n\t\tasync resetState() {\n\t\t\tthis.cursors = {}\n\t\t\tthis.limits = {}\n\t\t\tthis.reached = {}\n\t\t\tthis.results = {}\n\t\t\tthis.focused = null\n\t\t\tthis.triggered = false\n\t\t\tawait this.cancelPendingRequests()\n\t\t},\n\n\t\t/**\n\t\t * Cancel any ongoing searches\n\t\t */\n\t\tasync cancelPendingRequests() {\n\t\t\t// Cloning so we can keep processing other requests\n\t\t\tconst requests = this.requests.slice(0)\n\t\t\tthis.requests = []\n\n\t\t\t// Cancel all pending requests\n\t\t\tawait Promise.all(requests.map(cancel => cancel()))\n\t\t},\n\n\t\t/**\n\t\t * Focus the search input on next tick\n\t\t */\n\t\tfocusInput() {\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs.input.focus()\n\t\t\t\tthis.$refs.input.select()\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * If we have results already, open first one\n\t\t * If not, trigger the search again\n\t\t */\n\t\tonInputEnter() {\n\t\t\tif (this.hasResults) {\n\t\t\t\tconst results = this.getResultsList()\n\t\t\t\tresults[0].click()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.onInput()\n\t\t},\n\n\t\t/**\n\t\t * Start searching on input\n\t\t */\n\t\tasync onInput() {\n\t\t\t// emit the search query\n\t\t\temit('nextcloud:unified-search.search', { query: this.query })\n\n\t\t\t// Do not search if not long enough\n\t\t\tif (this.query.trim() === '' || this.isShortQuery) {\n\t\t\t\tfor (const type of this.typesIDs) {\n\t\t\t\t\tthis.$delete(this.results, type)\n\t\t\t\t}\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tlet types = this.typesIDs\n\t\t\tlet query = this.query\n\n\t\t\t// Filter out types\n\t\t\tif (this.usedFiltersNot.length > 0) {\n\t\t\t\ttypes = this.typesIDs.filter(type => this.usedFiltersNot.indexOf(type) === -1)\n\t\t\t}\n\n\t\t\t// Only use those filters if any and check if they are valid\n\t\t\tif (this.usedFiltersIn.length > 0) {\n\t\t\t\ttypes = this.typesIDs.filter(type => this.usedFiltersIn.indexOf(type) > -1)\n\t\t\t}\n\n\t\t\t// Remove any filters from the query\n\t\t\tquery = query.replace(regexFilterIn, '').replace(regexFilterNot, '')\n\n\t\t\t// Reset search if the query changed\n\t\t\tawait this.resetState()\n\t\t\tthis.triggered = true\n\t\t\tthis.$set(this.loading, 'all', true)\n\t\t\tthis.logger.debug(`Searching ${query} in`, types)\n\n\t\t\tPromise.all(types.map(async type => {\n\t\t\t\ttry {\n\t\t\t\t\t// Init cancellable request\n\t\t\t\t\tconst { request, cancel } = search({ type, query })\n\t\t\t\t\tthis.requests.push(cancel)\n\n\t\t\t\t\t// Fetch results\n\t\t\t\t\tconst { data } = await request()\n\n\t\t\t\t\t// Process results\n\t\t\t\t\tif (data.ocs.data.entries.length > 0) {\n\t\t\t\t\t\tthis.$set(this.results, type, data.ocs.data.entries)\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$delete(this.results, type)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Save cursor if any\n\t\t\t\t\tif (data.ocs.data.cursor) {\n\t\t\t\t\t\tthis.$set(this.cursors, type, data.ocs.data.cursor)\n\t\t\t\t\t} else if (!data.ocs.data.isPaginated) {\n\t\t\t\t\t// If no cursor and no pagination, we save the default amount\n\t\t\t\t\t// provided by server's initial state `defaultLimit`\n\t\t\t\t\t\tthis.$set(this.limits, type, this.defaultLimit)\n\t\t\t\t\t}\n\n\t\t\t\t\t// Check if we reached end of pagination\n\t\t\t\t\tif (data.ocs.data.entries.length < this.defaultLimit) {\n\t\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t\t}\n\n\t\t\t\t\t// If none already focused, focus the first rendered result\n\t\t\t\t\tif (this.focused === null) {\n\t\t\t\t\t\tthis.focused = 0\n\t\t\t\t\t}\n\t\t\t\t\treturn REQUEST_OK\n\t\t\t\t} catch (error) {\n\t\t\t\t\tthis.$delete(this.results, type)\n\n\t\t\t\t\t// If this is not a cancelled throw\n\t\t\t\t\tif (error.response && error.response.status) {\n\t\t\t\t\t\tthis.logger.error(`Error searching for ${this.typesMap[type]}`, error)\n\t\t\t\t\t\tshowError(this.t('core', 'An error occurred while searching for {type}', { type: this.typesMap[type] }))\n\t\t\t\t\t\treturn REQUEST_FAILED\n\t\t\t\t\t}\n\t\t\t\t\treturn REQUEST_CANCELED\n\t\t\t\t}\n\t\t\t})).then(results => {\n\t\t\t\t// Do not declare loading finished if the request have been cancelled\n\t\t\t\t// This means another search was triggered and we're therefore still loading\n\t\t\t\tif (results.some(result => result === REQUEST_CANCELED)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\t// We finished all searches\n\t\t\t\tthis.loading = {}\n\t\t\t})\n\t\t},\n\t\tonInputDebounced: enableLiveSearch\n\t\t\t? debounce(function(e) {\n\t\t\t\tthis.onInput(e)\n\t\t\t}, 500)\n\t\t\t: function() {\n\t\t\t\tthis.triggered = false\n\t\t\t},\n\n\t\t/**\n\t\t * Load more results for the provided type\n\t\t *\n\t\t * @param {string} type type\n\t\t */\n\t\tasync loadMore(type) {\n\t\t\t// If already loading, ignore\n\t\t\tif (this.loading[type]) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (this.cursors[type]) {\n\t\t\t\t// Init cancellable request\n\t\t\t\tconst { request, cancel } = search({ type, query: this.query, cursor: this.cursors[type] })\n\t\t\t\tthis.requests.push(cancel)\n\n\t\t\t\t// Fetch results\n\t\t\t\tconst { data } = await request()\n\n\t\t\t\t// Save cursor if any\n\t\t\t\tif (data.ocs.data.cursor) {\n\t\t\t\t\tthis.$set(this.cursors, type, data.ocs.data.cursor)\n\t\t\t\t}\n\n\t\t\t\t// Process results\n\t\t\t\tif (data.ocs.data.entries.length > 0) {\n\t\t\t\t\tthis.results[type].push(...data.ocs.data.entries)\n\t\t\t\t}\n\n\t\t\t\t// Check if we reached end of pagination\n\t\t\t\tif (data.ocs.data.entries.length < this.defaultLimit) {\n\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t}\n\t\t\t} else\n\n\t\t\t// If no cursor, we might have all the results already,\n\t\t\t// let's fake pagination and show the next xxx entries\n\t\t\tif (this.limits[type] && this.limits[type] >= 0) {\n\t\t\t\tthis.limits[type] += this.defaultLimit\n\n\t\t\t\t// Check if we reached end of pagination\n\t\t\t\tif (this.limits[type] >= this.results[type].length) {\n\t\t\t\t\tthis.$set(this.reached, type, true)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Focus result after render\n\t\t\tif (this.focused !== null) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Return a subset of the array if the search provider\n\t\t * doesn't supports pagination\n\t\t *\n\t\t * @param {Array} list the results\n\t\t * @param {string} type the type\n\t\t * @return {Array}\n\t\t */\n\t\tlimitIfAny(list, type) {\n\t\t\tif (type in this.limits) {\n\t\t\t\treturn list.slice(0, this.limits[type])\n\t\t\t}\n\t\t\treturn list\n\t\t},\n\n\t\tgetResultsList() {\n\t\t\treturn this.$el.querySelectorAll('.unified-search__results .unified-search__result')\n\t\t},\n\n\t\t/**\n\t\t * Focus the first result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusFirst(event) {\n\t\t\tconst results = this.getResultsList()\n\t\t\tif (results && results.length > 0) {\n\t\t\t\tif (event) {\n\t\t\t\t\tevent.preventDefault()\n\t\t\t\t}\n\t\t\t\tthis.focused = 0\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Focus the next result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusNext(event) {\n\t\t\tif (this.focused === null) {\n\t\t\t\tthis.focusFirst(event)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst results = this.getResultsList()\n\t\t\t// If we're not focusing the last, focus the next one\n\t\t\tif (results && results.length > 0 && this.focused + 1 < results.length) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focused++\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Focus the previous result if any\n\t\t *\n\t\t * @param {Event} event the keydown event\n\t\t */\n\t\tfocusPrev(event) {\n\t\t\tif (this.focused === null) {\n\t\t\t\tthis.focusFirst(event)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst results = this.getResultsList()\n\t\t\t// If we're not focusing the first, focus the previous one\n\t\t\tif (results && results.length > 0 && this.focused > 0) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\tthis.focused--\n\t\t\t\tthis.focusIndex(this.focused)\n\t\t\t}\n\n\t\t},\n\n\t\t/**\n\t\t * Focus the specified result index if it exists\n\t\t *\n\t\t * @param {number} index the result index\n\t\t */\n\t\tfocusIndex(index) {\n\t\t\tconst results = this.getResultsList()\n\t\t\tif (results && results[index]) {\n\t\t\t\tresults[index].focus()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Set the current focused element based on the target\n\t\t *\n\t\t * @param {Event} event the focus event\n\t\t */\n\t\tsetFocusedIndex(event) {\n\t\t\tconst entry = event.target\n\t\t\tconst results = this.getResultsList()\n\t\t\tconst index = [...results].findIndex(search => search === entry)\n\t\t\tif (index > -1) {\n\t\t\t\t// let's not use focusIndex as the entry is already focused\n\t\t\t\tthis.focused = index\n\t\t\t}\n\t\t},\n\n\t\tonClickFilter(filter) {\n\t\t\tthis.query = `${this.query} ${filter}`\n\t\t\t\t.replace(/ {2}/g, ' ')\n\t\t\t\t.trim()\n\t\t\tthis.onInput()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use \"sass:math\";\n\n$margin: 10px;\n$input-height: 34px;\n$input-padding: 6px;\n\n.unified-search {\n\t&__input-wrapper {\n\t\tposition: sticky;\n\t\t// above search results\n\t\tz-index: 2;\n\t\ttop: 0;\n\t\tdisplay: inline-flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t\tbackground-color: var(--color-main-background);\n\n\t\tlabel[for=\"unified-search__input\"] {\n\t\t\talign-self: flex-start;\n\t\t\tfont-weight: bold;\n\t\t\tfont-size: 18px;\n\t\t\tmargin-left: 13px;\n\t\t}\n\t}\n\n\t&__form-input {\n\t\tmargin: 0 !important;\n\t}\n\n\t&__input-row {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t&__filters {\n\t\tmargin: $margin 0 $margin math.div($margin, 2);\n\t\tul {\n\t\t\tdisplay: inline-flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\t}\n\n\t&__form {\n\t\tposition: relative;\n\t\twidth: 100%;\n\t\tmargin: $margin 0;\n\n\t\t// Loading spinner\n\t\t&::after {\n\t\t\tright: $input-padding;\n\t\t\tleft: auto;\n\t\t}\n\n\t\t&-input,\n\t\t&-reset {\n\t\t\tmargin: math.div($input-padding, 2);\n\t\t}\n\n\t\t&-input {\n\t\t\twidth: 100%;\n\t\t\theight: $input-height;\n\t\t\tpadding: $input-padding;\n\n\t\t\t&,\n\t\t\t&[placeholder],\n\t\t\t&::placeholder {\n\t\t\t\toverflow: hidden;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-overflow: ellipsis;\n\t\t\t}\n\n\t\t\t// Hide webkit clear search\n\t\t\t&::-webkit-search-decoration,\n\t\t\t&::-webkit-search-cancel-button,\n\t\t\t&::-webkit-search-results-button,\n\t\t\t&::-webkit-search-results-decoration {\n\t\t\t\t-webkit-appearance: none;\n\t\t\t}\n\n\t\t\t// Ellipsis earlier if reset button is here\n\t\t\t.icon-loading-small &,\n\t\t\t&--with-reset {\n\t\t\t\tpadding-right: $input-height;\n\t\t\t}\n\t\t}\n\n\t\t&-reset, &-submit {\n\t\t\tposition: absolute;\n\t\t\ttop: 0;\n\t\t\tright: 4px;\n\t\t\twidth: $input-height - $input-padding;\n\t\t\theight: $input-height - $input-padding;\n\t\t\tmin-height: 30px;\n\t\t\tpadding: 0;\n\t\t\topacity: .5;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\tmargin-right: 0;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t}\n\n\t\t&-submit {\n\t\t\tright: 28px;\n\t\t}\n\t}\n\n\t&__results {\n\t\t&-header {\n\t\t\tdisplay: block;\n\t\t\tmargin: $margin;\n\t\t\tmargin-bottom: $margin - 4px;\n\t\t\tmargin-left: $margin + $input-padding;\n\t\t\tcolor: var(--color-primary-element);\n\t\t\tfont-weight: normal;\n\t\t\tfont-size: 18px;\n\t\t}\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 4px;\n\t}\n\n\t.unified-search__result-more::v-deep {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.empty-content {\n\t\tmargin: 10vh 0;\n\n\t\t::v-deep .empty-content__title {\n\t\t\tfont-weight: normal;\n font-size: var(--default-font-size);\n\t\t\tpadding: 0 15px;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n}\n\n</style>\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=d0a051b2&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/sass-loader/dist/cjs.js!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnifiedSearch.vue?vue&type=style&index=0&id=d0a051b2&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./UnifiedSearch.vue?vue&type=template&id=d0a051b2&scoped=true&\"\nimport script from \"./UnifiedSearch.vue?vue&type=script&lang=js&\"\nexport * from \"./UnifiedSearch.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UnifiedSearch.vue?vue&type=style&index=0&id=d0a051b2&lang=scss&scoped=true&\"\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 null,\n \"d0a051b2\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('HeaderMenu',{staticClass:\"unified-search\",attrs:{\"id\":\"unified-search\",\"exclude-click-outside-classes\":\"popover\",\"open\":_vm.open,\"aria-label\":_vm.ariaLabel},on:{\"update:open\":function($event){_vm.open=$event},\"open\":_vm.onOpen,\"close\":_vm.onClose},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_c('Magnify',{staticClass:\"unified-search__trigger\",attrs:{\"size\":22/* fit better next to other 20px icons */,\"fill-color\":\"var(--color-primary-text)\"}})]},proxy:true}])},[_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-wrapper\"},[_c('label',{attrs:{\"for\":\"unified-search__input\"}},[_vm._v(_vm._s(_vm.ariaLabel))]),_vm._v(\" \"),_c('div',{staticClass:\"unified-search__input-row\"},[_c('form',{staticClass:\"unified-search__form\",class:{'icon-loading-small': _vm.isLoading},attrs:{\"role\":\"search\"},on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter.apply(null, arguments)},\"reset\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.onReset.apply(null, arguments)}}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.query),expression:\"query\"}],ref:\"input\",staticClass:\"unified-search__form-input\",class:{'unified-search__form-input--with-reset': !!_vm.query},attrs:{\"id\":\"unified-search__input\",\"type\":\"search\",\"placeholder\":_vm.t('core', 'Search {types} …', { types: _vm.typesNames.join(', ') }),\"aria-describedby\":\"unified-search-desc\"},domProps:{\"value\":(_vm.query)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.query=$event.target.value},_vm.onInputDebounced],\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.onInputEnter.apply(null, arguments)}}}),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":\"unified-search-desc\"}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Search starts once you start typing'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!!_vm.query && !_vm.isLoading)?_c('input',{staticClass:\"unified-search__form-reset icon-close\",attrs:{\"type\":\"reset\",\"aria-label\":_vm.t('core','Reset search'),\"value\":\"\"}}):_vm._e(),_vm._v(\" \"),(!!_vm.query && !_vm.isLoading && !_vm.enableLiveSearch)?_c('input',{staticClass:\"unified-search__form-submit icon-confirm\",attrs:{\"type\":\"submit\",\"aria-label\":_vm.t('core','Start search'),\"value\":\"\"}}):_vm._e()]),_vm._v(\" \"),(_vm.availableFilters.length > 1)?_c('NcActions',{staticClass:\"unified-search__filters\",attrs:{\"placement\":\"bottom\"}},_vm._l((_vm.availableFilters),function(type){return _c('NcActionButton',{key:type,attrs:{\"icon\":\"icon-filter\",\"title\":_vm.t('core', 'Search for {name} only', { name: _vm.typesMap[type] })},on:{\"click\":function($event){return _vm.onClickFilter((\"in:\" + type))}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s((\"in:\" + type))+\"\\n\\t\\t\\t\\t\")])}),1):_vm._e()],1)]),_vm._v(\" \"),(!_vm.hasResults)?[(_vm.isLoading)?_c('SearchResultPlaceholders'):(_vm.isValidQuery)?_c('NcEmptyContent',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true}],null,false,931131664)},[(_vm.triggered)?_c('NcHighlight',{attrs:{\"text\":_vm.t('core', 'No results for {query}', { query: _vm.query }),\"search\":_vm.query}}):_c('div',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('core', 'Press enter to start searching'))+\"\\n\\t\\t\\t\")])],1):(!_vm.isLoading || _vm.isShortQuery)?_c('NcEmptyContent',{scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Magnify')]},proxy:true},(_vm.isShortQuery)?{key:\"desc\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.n('core',\n\t\t\t\t\t'Please enter {minSearchLength} character or more to search',\n\t\t\t\t\t'Please enter {minSearchLength} characters or more to search',\n\t\t\t\t\t_vm.minSearchLength,\n\t\t\t\t\t{minSearchLength: _vm.minSearchLength}))+\"\\n\\t\\t\\t\")]},proxy:true}:null],null,true)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('core', 'Start typing to search'))+\"\\n\\t\\t\\t\")]):_vm._e()]:_vm._l((_vm.orderedResults),function(ref,typesIndex){\n\t\t\t\t\tvar list = ref.list;\n\t\t\t\t\tvar type = ref.type;\nreturn _c('ul',{key:type,staticClass:\"unified-search__results\",class:(\"unified-search__results-\" + type),attrs:{\"aria-label\":_vm.typesMap[type]}},[_c('h2',{staticClass:\"unified-search__results-header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.typesMap[type])+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.limitIfAny(list, type)),function(result,index){return _c('li',{key:result.resourceUrl},[_c('SearchResult',_vm._b({attrs:{\"query\":_vm.query,\"focused\":_vm.focused === 0 && typesIndex === 0 && index === 0},on:{\"focus\":_vm.setFocusedIndex}},'SearchResult',result,false))],1)}),_vm._v(\" \"),_c('li',[(!_vm.reached[type])?_c('SearchResult',{staticClass:\"unified-search__result-more\",attrs:{\"title\":_vm.loading[type]\n\t\t\t\t\t\t? _vm.t('core', 'Loading more results …')\n\t\t\t\t\t\t: _vm.t('core', 'Load more results'),\"icon-class\":_vm.loading[type] ? 'icon-loading-small' : ''},on:{\"click\":function($event){$event.preventDefault();return _vm.loadMore(type)},\"focus\":_vm.setFocusedIndex}}):_vm._e()],1)],2)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @author John Molakvoæ <skjnldsv@protonmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { translate as t, translatePlural as n } from '@nextcloud/l10n'\nimport Vue from 'vue'\n\nimport UnifiedSearch from './views/UnifiedSearch.vue'\n\n// eslint-disable-next-line camelcase\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst logger = getLoggerBuilder()\n\t.setApp('unified-search')\n\t.detectUser()\n\t.build()\n\nVue.mixin({\n\tdata() {\n\t\treturn {\n\t\t\tlogger,\n\t\t}\n\t},\n\tmethods: {\n\t\tt,\n\t\tn,\n\t},\n})\n\nexport default new Vue({\n\tel: '#unified-search',\n\t// eslint-disable-next-line vue/match-component-file-name\n\tname: 'UnifiedSearchRoot',\n\trender: h => h(UnifiedSearch),\n})\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, \".header-menu__trigger[data-v-4ba23c22]{display:flex;align-items:center;justify-content:center;width:50px;height:44px;margin:2px 0;padding:0;cursor:pointer;opacity:.85}.header-menu--opened .header-menu__trigger[data-v-4ba23c22],.header-menu__trigger[data-v-4ba23c22]:hover,.header-menu__trigger[data-v-4ba23c22]:focus,.header-menu__trigger[data-v-4ba23c22]:active{opacity:1}.header-menu__trigger[data-v-4ba23c22]:focus-visible{outline:none}.header-menu__wrapper[data-v-4ba23c22]{position:fixed;z-index:2000;top:50px;right:0;box-sizing:border-box;margin:0 8px;border-radius:0 0 var(--border-radius) var(--border-radius);background-color:var(--color-main-background);filter:drop-shadow(0 1px 5px var(--color-box-shadow));padding:8px;border-radius:var(--border-radius-large)}.header-menu__carret[data-v-4ba23c22]{position:absolute;z-index:2001;left:calc(50% - 10px);bottom:0;width:0;height:0;content:\\\" \\\";pointer-events:none;border:10px solid rgba(0,0,0,0);border-bottom-color:var(--color-main-background)}.header-menu__content[data-v-4ba23c22]{overflow:auto;width:350px;max-width:calc(100vw - 16px);min-height:66px;max-height:calc(100vh - 100px)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/HeaderMenu.vue\"],\"names\":[],\"mappings\":\"AA2KC,uCACC,YAAA,CACA,kBAAA,CACA,sBAAA,CACA,UAAA,CACA,WAAA,CACA,YAAA,CACA,SAAA,CACA,cAAA,CACA,WAAA,CAGD,oMAIC,SAAA,CAGD,qDACC,YAAA,CAGD,uCACC,cAAA,CACA,YAAA,CACA,QAAA,CACA,OAAA,CACA,qBAAA,CACA,YAAA,CACA,2DAAA,CACA,6CAAA,CACA,qDAAA,CACA,WAAA,CACA,wCAAA,CAGD,sCACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,QAAA,CACA,OAAA,CACA,QAAA,CACA,WAAA,CACA,mBAAA,CACA,+BAAA,CACA,gDAAA,CAGD,uCACC,aAAA,CACA,WAAA,CACA,4BAAA,CACA,eAAA,CACA,8BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$externalMargin: 8px;\\n\\n.header-menu {\\n\\t&__trigger {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t\\twidth: 50px;\\n\\t\\theight: 44px;\\n\\t\\tmargin: 2px 0;\\n\\t\\tpadding: 0;\\n\\t\\tcursor: pointer;\\n\\t\\topacity: .85;\\n\\t}\\n\\n\\t&--opened &__trigger,\\n\\t&__trigger:hover,\\n\\t&__trigger:focus,\\n\\t&__trigger:active {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\t&__trigger:focus-visible {\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t&__wrapper {\\n\\t\\tposition: fixed;\\n\\t\\tz-index: 2000;\\n\\t\\ttop: 50px;\\n\\t\\tright: 0;\\n\\t\\tbox-sizing: border-box;\\n\\t\\tmargin: 0 $externalMargin;\\n\\t\\tborder-radius: 0 0 var(--border-radius) var(--border-radius);\\n\\t\\tbackground-color: var(--color-main-background);\\n\\t\\tfilter: drop-shadow(0 1px 5px var(--color-box-shadow));\\n\\t\\tpadding: 8px;\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__carret {\\n\\t\\tposition: absolute;\\n\\t\\tz-index: 2001; // Because __wrapper is 2000.\\n\\t\\tleft: calc(50% - 10px);\\n\\t\\tbottom: 0;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t\\tcontent: ' ';\\n\\t\\tpointer-events: none;\\n\\t\\tborder: 10px solid transparent;\\n\\t\\tborder-bottom-color: var(--color-main-background);\\n\\t}\\n\\n\\t&__content {\\n\\t\\toverflow: auto;\\n\\t\\twidth: 350px;\\n\\t\\tmax-width: calc(100vw - 2 * $externalMargin);\\n\\t\\tmin-height: calc(44px * 1.5);\\n\\t\\tmax-height: calc(100vh - 50px * 2);\\n\\t}\\n}\\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, \".unified-search__result[data-v-288e1e92]{display:flex;align-items:center;height:44px;padding:10px;border-bottom:1px solid var(--color-border);border-radius:var(--border-radius-large) !important}.unified-search__result[data-v-288e1e92]:last-child{border-bottom:none}.unified-search__result--focused[data-v-288e1e92],.unified-search__result[data-v-288e1e92]:active,.unified-search__result[data-v-288e1e92]:hover,.unified-search__result[data-v-288e1e92]:focus{background-color:var(--color-background-hover)}.unified-search__result *[data-v-288e1e92]{cursor:pointer}.unified-search__result-icon[data-v-288e1e92]{overflow:hidden;width:44px;height:44px;border-radius:var(--border-radius);background-repeat:no-repeat;background-position:center center;background-size:32px}.unified-search__result-icon--rounded[data-v-288e1e92]{border-radius:22px}.unified-search__result-icon--no-preview[data-v-288e1e92]{background-size:32px}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]{background-size:cover}.unified-search__result-icon--with-thumbnail[data-v-288e1e92]:not(.unified-search__result-icon--rounded){max-width:42px;max-height:42px;border:1px solid var(--color-border)}.unified-search__result-icon img[data-v-288e1e92]{width:100%;height:100%;object-fit:cover;object-position:center}.unified-search__result-icon[data-v-288e1e92],.unified-search__result-actions[data-v-288e1e92]{flex:0 0 44px}.unified-search__result-content[data-v-288e1e92]{display:flex;align-items:center;flex:1 1 100%;flex-wrap:wrap;min-width:0;padding-left:10px}.unified-search__result-line-one[data-v-288e1e92],.unified-search__result-line-two[data-v-288e1e92]{overflow:hidden;flex:1 1 100%;margin:1px 0;white-space:nowrap;text-overflow:ellipsis;color:inherit;font-size:inherit}.unified-search__result-line-two[data-v-288e1e92]{opacity:.7;font-size:var(--default-font-size)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResult.vue\"],\"names\":[],\"mappings\":\"AAyKA,yCACC,YAAA,CACA,kBAAA,CACA,WANgB,CAOhB,YANQ,CAOR,2CAAA,CACA,mDAAA,CAGA,oDACC,kBAAA,CAGD,gMAIC,8CAAA,CAGD,2CACC,cAAA,CAGD,8CACC,eAAA,CACA,UA7Be,CA8Bf,WA9Be,CA+Bf,kCAAA,CACA,2BAAA,CACA,iCAAA,CACA,oBAAA,CACA,uDACC,kBAAA,CAED,0DACC,oBAAA,CAED,8DACC,qBAAA,CAED,yGAEC,cAAA,CACA,eAAA,CACA,oCAAA,CAGD,kDAEC,UAAA,CACA,WAAA,CAEA,gBAAA,CACA,sBAAA,CAIF,+FAEC,aAAA,CAGD,iDACC,YAAA,CACA,kBAAA,CACA,aAAA,CACA,cAAA,CAEA,WAAA,CACA,iBAxEO,CA2ER,oGAEC,eAAA,CACA,aAAA,CACA,YAAA,CACA,kBAAA,CACA,sBAAA,CAEA,aAAA,CACA,iBAAA,CAED,kDACC,UAAA,CACA,kCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@use \\\"sass:math\\\";\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\theight: $clickable-area;\\n\\tpadding: $margin;\\n\\tborder-bottom: 1px solid var(--color-border);\\n\\tborder-radius: var(--border-radius-large) !important;\\n\\n\\t// Load more entry,\\n\\t&:last-child {\\n\\t\\tborder-bottom: none;\\n\\t}\\n\\n\\t&--focused,\\n\\t&:active,\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t* {\\n\\t\\tcursor: pointer;\\n\\t}\\n\\n\\t&-icon {\\n\\t\\toverflow: hidden;\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\tbackground-repeat: no-repeat;\\n\\t\\tbackground-position: center center;\\n\\t\\tbackground-size: 32px;\\n\\t\\t&--rounded {\\n\\t\\t\\tborder-radius: math.div($clickable-area, 2);\\n\\t\\t}\\n\\t\\t&--no-preview {\\n\\t\\t\\tbackground-size: 32px;\\n\\t\\t}\\n\\t\\t&--with-thumbnail {\\n\\t\\t\\tbackground-size: cover;\\n\\t\\t}\\n\\t\\t&--with-thumbnail:not(&--rounded) {\\n\\t\\t\\t// compensate for border\\n\\t\\t\\tmax-width: $clickable-area - 2px;\\n\\t\\t\\tmax-height: $clickable-area - 2px;\\n\\t\\t\\tborder: 1px solid var(--color-border);\\n\\t\\t}\\n\\n\\t\\timg {\\n\\t\\t\\t// Make sure to keep ratio\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 100%;\\n\\n\\t\\t\\tobject-fit: cover;\\n\\t\\t\\tobject-position: center;\\n\\t\\t}\\n\\t}\\n\\n\\t&-icon,\\n\\t&-actions {\\n\\t\\tflex: 0 0 $clickable-area;\\n\\t}\\n\\n\\t&-content {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tflex-wrap: wrap;\\n\\t\\t// Set to minimum and gro from it\\n\\t\\tmin-width: 0;\\n\\t\\tpadding-left: $margin;\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\toverflow: hidden;\\n\\t\\tflex: 1 1 100%;\\n\\t\\tmargin: 1px 0;\\n\\t\\twhite-space: nowrap;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\t// Use the same color as the `a`\\n\\t\\tcolor: inherit;\\n\\t\\tfont-size: inherit;\\n\\t}\\n\\t&-line-two {\\n\\t\\topacity: .7;\\n\\t\\tfont-size: var(--default-font-size);\\n\\t}\\n}\\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, \".unified-search__result-placeholder-gradient[data-v-9ed03c40]{position:fixed;height:0;width:0;z-index:-1}.unified-search__result-placeholder[data-v-9ed03c40]{width:calc(100% - 2 * 10px);height:44px;margin:10px}.unified-search__result-placeholder-icon[data-v-9ed03c40]{width:44px;height:44px;rx:var(--border-radius);ry:var(--border-radius)}.unified-search__result-placeholder-line-one[data-v-9ed03c40],.unified-search__result-placeholder-line-two[data-v-9ed03c40]{width:calc(100% - 54px);height:1em;x:54px}.unified-search__result-placeholder-line-one[data-v-9ed03c40]{y:5px}.unified-search__result-placeholder-line-two[data-v-9ed03c40]{y:25px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/components/UnifiedSearch/SearchResultPlaceholders.vue\"],\"names\":[],\"mappings\":\"AA+DA,8DACC,cAAA,CACA,QAAA,CACA,OAAA,CACA,UAAA,CAGD,qDACC,2BAAA,CACA,WAZgB,CAahB,WAZQ,CAcR,0DACC,UAhBe,CAiBf,WAjBe,CAkBf,uBAAA,CACA,uBAAA,CAGD,4HAEC,uBAAA,CACA,UAAA,CACA,MAAA,CAGD,8DACC,KAAA,CAGD,8DACC,MAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n$clickable-area: 44px;\\n$margin: 10px;\\n\\n.unified-search__result-placeholder-gradient {\\n\\tposition: fixed;\\n\\theight: 0;\\n\\twidth: 0;\\n\\tz-index: -1;\\n}\\n\\n.unified-search__result-placeholder {\\n\\twidth: calc(100% - 2 * #{$margin});\\n\\theight: $clickable-area;\\n\\tmargin: $margin;\\n\\n\\t&-icon {\\n\\t\\twidth: $clickable-area;\\n\\t\\theight: $clickable-area;\\n\\t\\trx: var(--border-radius);\\n\\t\\try: var(--border-radius);\\n\\t}\\n\\n\\t&-line-one,\\n\\t&-line-two {\\n\\t\\twidth: calc(100% - #{$margin + $clickable-area});\\n\\t\\theight: 1em;\\n\\t\\tx: $margin + $clickable-area;\\n\\t}\\n\\n\\t&-line-one {\\n\\t\\ty: 5px;\\n\\t}\\n\\n\\t&-line-two {\\n\\t\\ty: 25px;\\n\\t}\\n}\\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, \".unified-search__input-wrapper[data-v-d0a051b2]{position:sticky;z-index:2;top:0;display:inline-flex;flex-direction:column;align-items:center;width:100%;background-color:var(--color-main-background)}.unified-search__input-wrapper label[for=unified-search__input][data-v-d0a051b2]{align-self:flex-start;font-weight:bold;font-size:18px;margin-left:13px}.unified-search__form-input[data-v-d0a051b2]{margin:0 !important}.unified-search__input-row[data-v-d0a051b2]{display:flex;width:100%;align-items:center}.unified-search__filters[data-v-d0a051b2]{margin:10px 0 10px 5px}.unified-search__filters ul[data-v-d0a051b2]{display:inline-flex;justify-content:space-between}.unified-search__form[data-v-d0a051b2]{position:relative;width:100%;margin:10px 0}.unified-search__form[data-v-d0a051b2]::after{right:6px;left:auto}.unified-search__form-input[data-v-d0a051b2],.unified-search__form-reset[data-v-d0a051b2]{margin:3px}.unified-search__form-input[data-v-d0a051b2]{width:100%;height:34px;padding:6px}.unified-search__form-input[data-v-d0a051b2],.unified-search__form-input[placeholder][data-v-d0a051b2],.unified-search__form-input[data-v-d0a051b2]::placeholder{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.unified-search__form-input[data-v-d0a051b2]::-webkit-search-decoration,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-cancel-button,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-results-button,.unified-search__form-input[data-v-d0a051b2]::-webkit-search-results-decoration{-webkit-appearance:none}.icon-loading-small .unified-search__form-input[data-v-d0a051b2],.unified-search__form-input--with-reset[data-v-d0a051b2]{padding-right:34px}.unified-search__form-reset[data-v-d0a051b2],.unified-search__form-submit[data-v-d0a051b2]{position:absolute;top:0;right:4px;width:28px;height:28px;min-height:30px;padding:0;opacity:.5;border:none;background-color:rgba(0,0,0,0);margin-right:0}.unified-search__form-reset[data-v-d0a051b2]:hover,.unified-search__form-reset[data-v-d0a051b2]:focus,.unified-search__form-reset[data-v-d0a051b2]:active,.unified-search__form-submit[data-v-d0a051b2]:hover,.unified-search__form-submit[data-v-d0a051b2]:focus,.unified-search__form-submit[data-v-d0a051b2]:active{opacity:1}.unified-search__form-submit[data-v-d0a051b2]{right:28px}.unified-search__results[data-v-d0a051b2]{display:flex;flex-direction:column;gap:4px}.unified-search__results-header[data-v-d0a051b2]{display:block;margin:10px;margin-bottom:6px;margin-left:16px;color:var(--color-primary-element);font-weight:normal;font-size:18px}.unified-search .unified-search__result-more[data-v-d0a051b2]{color:var(--color-text-maxcontrast)}.unified-search .empty-content[data-v-d0a051b2]{margin:10vh 0}.unified-search .empty-content[data-v-d0a051b2] .empty-content__title{font-weight:normal;font-size:var(--default-font-size);padding:0 15px;text-align:center}\", \"\",{\"version\":3,\"sources\":[\"webpack://./core/src/views/UnifiedSearch.vue\"],\"names\":[],\"mappings\":\"AAysBC,gDACC,eAAA,CAEA,SAAA,CACA,KAAA,CACA,mBAAA,CACA,qBAAA,CACA,kBAAA,CACA,UAAA,CACA,6CAAA,CAEA,iFACC,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CAIF,6CACC,mBAAA,CAGD,4CACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,0CACC,sBAAA,CACA,6CACC,mBAAA,CACA,6BAAA,CAIF,uCACC,iBAAA,CACA,UAAA,CACA,aAAA,CAGA,8CACC,SA/Ca,CAgDb,SAAA,CAGD,0FAEC,UAAA,CAGD,6CACC,UAAA,CACA,WA3DY,CA4DZ,WA3Da,CA6Db,iKAGC,eAAA,CACA,kBAAA,CACA,sBAAA,CAID,+SAIC,uBAAA,CAID,0HAEC,kBAjFW,CAqFb,2FACC,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,eAAA,CACA,SAAA,CACA,UAAA,CACA,WAAA,CACA,8BAAA,CACA,cAAA,CAEA,uTAGC,SAAA,CAIF,8CACC,UAAA,CAIF,0CAUC,YAAA,CACA,qBAAA,CACA,OAAA,CAXA,iDACC,aAAA,CACA,WAlHM,CAmHN,iBAAA,CACA,gBAAA,CACA,kCAAA,CACA,kBAAA,CACA,cAAA,CAOF,8DACC,mCAAA,CAGD,gDACC,aAAA,CAEA,uEACC,kBAAA,CACS,kCAAA,CACT,cAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n@use \\\"sass:math\\\";\\n\\n$margin: 10px;\\n$input-height: 34px;\\n$input-padding: 6px;\\n\\n.unified-search {\\n\\t&__input-wrapper {\\n\\t\\tposition: sticky;\\n\\t\\t// above search results\\n\\t\\tz-index: 2;\\n\\t\\ttop: 0;\\n\\t\\tdisplay: inline-flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\twidth: 100%;\\n\\t\\tbackground-color: var(--color-main-background);\\n\\n\\t\\tlabel[for=\\\"unified-search__input\\\"] {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tmargin-left: 13px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form-input {\\n\\t\\tmargin: 0 !important;\\n\\t}\\n\\n\\t&__input-row {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\talign-items: center;\\n\\t}\\n\\n\\t&__filters {\\n\\t\\tmargin: $margin 0 $margin math.div($margin, 2);\\n\\t\\tul {\\n\\t\\t\\tdisplay: inline-flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\t}\\n\\n\\t&__form {\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\tmargin: $margin 0;\\n\\n\\t\\t// Loading spinner\\n\\t\\t&::after {\\n\\t\\t\\tright: $input-padding;\\n\\t\\t\\tleft: auto;\\n\\t\\t}\\n\\n\\t\\t&-input,\\n\\t\\t&-reset {\\n\\t\\t\\tmargin: math.div($input-padding, 2);\\n\\t\\t}\\n\\n\\t\\t&-input {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: $input-height;\\n\\t\\t\\tpadding: $input-padding;\\n\\n\\t\\t\\t&,\\n\\t\\t\\t&[placeholder],\\n\\t\\t\\t&::placeholder {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hide webkit clear search\\n\\t\\t\\t&::-webkit-search-decoration,\\n\\t\\t\\t&::-webkit-search-cancel-button,\\n\\t\\t\\t&::-webkit-search-results-button,\\n\\t\\t\\t&::-webkit-search-results-decoration {\\n\\t\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Ellipsis earlier if reset button is here\\n\\t\\t\\t.icon-loading-small &,\\n\\t\\t\\t&--with-reset {\\n\\t\\t\\t\\tpadding-right: $input-height;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-reset, &-submit {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tright: 4px;\\n\\t\\t\\twidth: $input-height - $input-padding;\\n\\t\\t\\theight: $input-height - $input-padding;\\n\\t\\t\\tmin-height: 30px;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\topacity: .5;\\n\\t\\t\\tborder: none;\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t\\tmargin-right: 0;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&-submit {\\n\\t\\t\\tright: 28px;\\n\\t\\t}\\n\\t}\\n\\n\\t&__results {\\n\\t\\t&-header {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tmargin: $margin;\\n\\t\\t\\tmargin-bottom: $margin - 4px;\\n\\t\\t\\tmargin-left: $margin + $input-padding;\\n\\t\\t\\tcolor: var(--color-primary-element);\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t}\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t.unified-search__result-more::v-deep {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.empty-content {\\n\\t\\tmargin: 10vh 0;\\n\\n\\t\\t::v-deep .empty-content__title {\\n\\t\\t\\tfont-weight: normal;\\n font-size: var(--default-font-size);\\n\\t\\t\\tpadding: 0 15px;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\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","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 9671;","__webpack_require__.b = 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\t9671: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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 = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\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, [7874], function() { return __webpack_require__(15458); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","defaultLimit","loadState","minSearchLength","enableLiveSearch","regexFilterIn","regexFilterNot","getTypes","axios","generateOcsUrl","params","from","window","location","pathname","replace","search","data","ocs","Array","isArray","length","console","error","type","query","cursor","cancelToken","request","token","term","cancel","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","component","_vm","this","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","class","opened","attrs","id","ariaLabel","toString","on","$event","preventDefault","toggleMenu","apply","arguments","_t","_v","_obj","focused","resourceUrl","reEmitEvent","rounded","hasValidThumbnail","loaded","icon","isIconUrl","style","backgroundImage","thumbnailUrl","onError","onLoad","_e","title","subline","_s","light","dark","_l","placeholder","key","width","randWidth","open","onOpen","onClose","scopedSlots","_u","fn","proxy","isLoading","stopPropagation","onInputEnter","onReset","ref","t","types","typesNames","join","domProps","target","composing","onInputDebounced","indexOf","_k","keyCode","availableFilters","typesMap","onClickFilter","hasResults","typesIndex","list","limitIfAny","result","index","_b","setFocusedIndex","reached","loading","loadMore","isShortQuery","n","__webpack_nonce__","btoa","getRequestToken","logger","getLoggerBuilder","setApp","detectUser","build","Vue","methods","el","render","h","UnifiedSearch","___CSS_LOADER_EXPORT___","push","module","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","__webpack_modules__","call","m","amdD","Error","amdO","O","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","splice","r","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-info.js b/dist/settings-vue-settings-personal-info.js index 5e26e22ad4e..3affbf5c171 100644 --- a/dist/settings-vue-settings-personal-info.js +++ b/dist/settings-vue-settings-personal-info.js @@ -1,3 +1,3 @@ /*! For license information please see settings-vue-settings-personal-info.js.LICENSE.txt */ -!function(){var n,e={93365:function(n,e,t){var r={"./af":36026,"./af.js":36026,"./ar":28093,"./ar-dz":41943,"./ar-dz.js":41943,"./ar-kw":23969,"./ar-kw.js":23969,"./ar-ly":40594,"./ar-ly.js":40594,"./ar-ma":18369,"./ar-ma.js":18369,"./ar-sa":32579,"./ar-sa.js":32579,"./ar-tn":76442,"./ar-tn.js":76442,"./ar.js":28093,"./az":86425,"./az.js":86425,"./be":22004,"./be.js":22004,"./bg":42982,"./bg.js":42982,"./bm":21067,"./bm.js":21067,"./bn":8366,"./bn-bd":63837,"./bn-bd.js":63837,"./bn.js":8366,"./bo":95040,"./bo.js":95040,"./br":521,"./br.js":521,"./bs":83242,"./bs.js":83242,"./ca":73046,"./ca.js":73046,"./cs":25794,"./cs.js":25794,"./cv":28231,"./cv.js":28231,"./cy":10927,"./cy.js":10927,"./da":42832,"./da.js":42832,"./de":29415,"./de-at":3331,"./de-at.js":3331,"./de-ch":45524,"./de-ch.js":45524,"./de.js":29415,"./dv":44700,"./dv.js":44700,"./el":88752,"./el.js":88752,"./en-au":90444,"./en-au.js":90444,"./en-ca":65959,"./en-ca.js":65959,"./en-gb":62762,"./en-gb.js":62762,"./en-ie":40909,"./en-ie.js":40909,"./en-il":79909,"./en-il.js":79909,"./en-in":87942,"./en-in.js":87942,"./en-nz":75200,"./en-nz.js":75200,"./en-sg":21415,"./en-sg.js":21415,"./eo":27447,"./eo.js":27447,"./es":86756,"./es-do":47049,"./es-do.js":47049,"./es-mx":15915,"./es-mx.js":15915,"./es-us":57133,"./es-us.js":57133,"./es.js":86756,"./et":72182,"./et.js":72182,"./eu":14419,"./eu.js":14419,"./fa":2916,"./fa.js":2916,"./fi":49964,"./fi.js":49964,"./fil":16448,"./fil.js":16448,"./fo":26094,"./fo.js":26094,"./fr":35833,"./fr-ca":56994,"./fr-ca.js":56994,"./fr-ch":2740,"./fr-ch.js":2740,"./fr.js":35833,"./fy":69542,"./fy.js":69542,"./ga":93264,"./ga.js":93264,"./gd":77457,"./gd.js":77457,"./gl":83043,"./gl.js":83043,"./gom-deva":24034,"./gom-deva.js":24034,"./gom-latn":28379,"./gom-latn.js":28379,"./gu":406,"./gu.js":406,"./he":73219,"./he.js":73219,"./hi":99834,"./hi.js":99834,"./hr":28754,"./hr.js":28754,"./hu":93945,"./hu.js":93945,"./hy-am":81319,"./hy-am.js":81319,"./id":24875,"./id.js":24875,"./is":23724,"./is.js":23724,"./it":79906,"./it-ch":34303,"./it-ch.js":34303,"./it.js":79906,"./ja":77105,"./ja.js":77105,"./jv":15026,"./jv.js":15026,"./ka":67416,"./ka.js":67416,"./kk":79734,"./kk.js":79734,"./km":60757,"./km.js":60757,"./kn":58369,"./kn.js":58369,"./ko":77687,"./ko.js":77687,"./ku":95544,"./ku.js":95544,"./ky":85431,"./ky.js":85431,"./lb":13613,"./lb.js":13613,"./lo":34252,"./lo.js":34252,"./lt":84619,"./lt.js":84619,"./lv":93760,"./lv.js":93760,"./me":93393,"./me.js":93393,"./mi":12369,"./mi.js":12369,"./mk":48664,"./mk.js":48664,"./ml":23099,"./ml.js":23099,"./mn":98539,"./mn.js":98539,"./mr":778,"./mr.js":778,"./ms":39970,"./ms-my":82625,"./ms-my.js":82625,"./ms.js":39970,"./mt":15714,"./mt.js":15714,"./my":53055,"./my.js":53055,"./nb":73945,"./nb.js":73945,"./ne":63645,"./ne.js":63645,"./nl":4829,"./nl-be":12823,"./nl-be.js":12823,"./nl.js":4829,"./nn":23756,"./nn.js":23756,"./oc-lnc":41228,"./oc-lnc.js":41228,"./pa-in":97877,"./pa-in.js":97877,"./pl":53066,"./pl.js":53066,"./pt":28677,"./pt-br":81592,"./pt-br.js":81592,"./pt.js":28677,"./ro":32722,"./ro.js":32722,"./ru":59138,"./ru.js":59138,"./sd":32568,"./sd.js":32568,"./se":49753,"./se.js":49753,"./si":58024,"./si.js":58024,"./sk":31058,"./sk.js":31058,"./sl":43452,"./sl.js":43452,"./sq":2795,"./sq.js":2795,"./sr":26976,"./sr-cyrl":38819,"./sr-cyrl.js":38819,"./sr.js":26976,"./ss":7467,"./ss.js":7467,"./sv":42787,"./sv.js":42787,"./sw":80298,"./sw.js":80298,"./ta":57532,"./ta.js":57532,"./te":76076,"./te.js":76076,"./tet":40452,"./tet.js":40452,"./tg":64794,"./tg.js":64794,"./th":48245,"./th.js":48245,"./tk":8870,"./tk.js":8870,"./tl-ph":36056,"./tl-ph.js":36056,"./tlh":15249,"./tlh.js":15249,"./tr":22053,"./tr.js":22053,"./tzl":39871,"./tzl.js":39871,"./tzm":39574,"./tzm-latn":19210,"./tzm-latn.js":19210,"./tzm.js":39574,"./ug-cn":91532,"./ug-cn.js":91532,"./uk":11432,"./uk.js":11432,"./ur":88523,"./ur.js":88523,"./uz":54958,"./uz-latn":68735,"./uz-latn.js":68735,"./uz.js":54958,"./vi":83398,"./vi.js":83398,"./x-pseudo":56665,"./x-pseudo.js":56665,"./yo":11642,"./yo.js":11642,"./zh-cn":5462,"./zh-cn.js":5462,"./zh-hk":92530,"./zh-hk.js":92530,"./zh-mo":41650,"./zh-mo.js":41650,"./zh-tw":97333,"./zh-tw.js":97333};function a(n){var e=i(n);return t(e)}function i(n){if(!t.o(r,n)){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}return r[n]}a.keys=function(){return Object.keys(r)},a.resolve=i,n.exports=a,a.id=93365},56175:function(n,e,r){"use strict";var a=r(20144),i=r(22200),o=r(16453),s=r(9944),l=(r(73317),r(4820)),c=r(79753),u=r(26932),d=r(74854),p=r(75925),A=r.n(p),f=r(10861),m=r.n(f),v=r(17652),g=(r(74063),r(75843)),h=r(74092),b=r(33691),y=r(40502),C=r(12945),x=r.n(C),w=r(45400),E=r.n(w),O={name:"FederationControlAction",components:{NcActionButton:E()},props:{activeScope:{type:String,required:!0},displayName:{type:String,required:!0},handleScopeChange:{type:Function,default:function(){}},iconClass:{type:String,required:!0},isSupportedScope:{type:Boolean,required:!0},name:{type:String,required:!0},tooltipDisabled:{type:String,default:""},tooltip:{type:String,required:!0}},methods:{updateScope:function(){this.handleScopeChange(this.name)}}},P=r(93379),_=r.n(P),j=r(7795),S=r.n(j),I=r(90569),k=r.n(I),L=r(3565),R=r.n(L),D=r(19216),B=r.n(D),N=r(44589),T=r.n(N),Z=r(43058),U={};U.styleTagTransform=T(),U.setAttributes=R(),U.insert=k().bind(null,"head"),U.domAPI=S(),U.insertStyleElement=B(),_()(Z.Z,U),Z.Z&&Z.Z.locals&&Z.Z.locals;var M,F,V,z,$=r(51900),q=(0,$.Z)(O,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("NcActionButton",{staticClass:"federation-actions__btn",class:{"federation-actions__btn--active":n.activeScope===n.name},attrs:{"aria-label":n.isSupportedScope?n.tooltip:n.tooltipDisabled,"close-after-click":!0,disabled:!n.isSupportedScope,icon:n.iconClass,title:n.displayName},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.updateScope.apply(null,arguments)}}},[n._v("\n\t"+n._s(n.isSupportedScope?n.tooltip:n.tooltipDisabled)+"\n")])}),[],!1,null,"1249785e",null),H=q.exports;function G(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Y=Object.freeze({ADDRESS:"address",AVATAR:"avatar",BIOGRAPHY:"biography",DISPLAYNAME:"displayname",EMAIL_COLLECTION:"additional_mail",EMAIL:"email",HEADLINE:"headline",NOTIFICATION_EMAIL:"notify_email",ORGANISATION:"organisation",PHONE:"phone",PROFILE_ENABLED:"profile_enabled",ROLE:"role",TWITTER:"twitter",WEBSITE:"website"}),W=Object.freeze({ADDRESS:(0,s.translate)("settings","Location"),AVATAR:(0,s.translate)("settings","Profile picture"),BIOGRAPHY:(0,s.translate)("settings","About"),DISPLAYNAME:(0,s.translate)("settings","Full name"),EMAIL_COLLECTION:(0,s.translate)("settings","Additional email"),EMAIL:(0,s.translate)("settings","Email"),HEADLINE:(0,s.translate)("settings","Headline"),ORGANISATION:(0,s.translate)("settings","Organisation"),PHONE:(0,s.translate)("settings","Phone number"),PROFILE_ENABLED:(0,s.translate)("settings","Profile"),ROLE:(0,s.translate)("settings","Role"),TWITTER:(0,s.translate)("settings","Twitter"),WEBSITE:(0,s.translate)("settings","Website")}),K=Object.freeze((G(M={},Y.ADDRESS,W.ADDRESS),G(M,Y.AVATAR,W.AVATAR),G(M,Y.BIOGRAPHY,W.BIOGRAPHY),G(M,Y.DISPLAYNAME,W.DISPLAYNAME),G(M,Y.EMAIL_COLLECTION,W.EMAIL_COLLECTION),G(M,Y.EMAIL,W.EMAIL),G(M,Y.HEADLINE,W.HEADLINE),G(M,Y.ORGANISATION,W.ORGANISATION),G(M,Y.PHONE,W.PHONE),G(M,Y.PROFILE_ENABLED,W.PROFILE_ENABLED),G(M,Y.ROLE,W.ROLE),G(M,Y.TWITTER,W.TWITTER),G(M,Y.WEBSITE,W.WEBSITE),M)),Q=Object.freeze({PROFILE_VISIBILITY:(0,s.translate)("settings","Profile visibility")}),J=Object.freeze((G(F={},W.ADDRESS,Y.ADDRESS),G(F,W.AVATAR,Y.AVATAR),G(F,W.BIOGRAPHY,Y.BIOGRAPHY),G(F,W.DISPLAYNAME,Y.DISPLAYNAME),G(F,W.EMAIL_COLLECTION,Y.EMAIL_COLLECTION),G(F,W.EMAIL,Y.EMAIL),G(F,W.HEADLINE,Y.HEADLINE),G(F,W.ORGANISATION,Y.ORGANISATION),G(F,W.PHONE,Y.PHONE),G(F,W.PROFILE_ENABLED,Y.PROFILE_ENABLED),G(F,W.ROLE,Y.ROLE),G(F,W.TWITTER,Y.TWITTER),G(F,W.WEBSITE,Y.WEBSITE),F)),X=Object.freeze({LANGUAGE:"language",LOCALE:"locale"}),nn=Object.freeze({LANGUAGE:(0,s.translate)("settings","Language"),LOCALE:(0,s.translate)("settings","Locale")}),en=Object.freeze({PRIVATE:"v2-private",LOCAL:"v2-local",FEDERATED:"v2-federated",PUBLISHED:"v2-published"}),tn=Object.freeze((G(V={},W.ADDRESS,[en.LOCAL,en.PRIVATE]),G(V,W.AVATAR,[en.LOCAL,en.PRIVATE]),G(V,W.BIOGRAPHY,[en.LOCAL,en.PRIVATE]),G(V,W.DISPLAYNAME,[en.LOCAL]),G(V,W.EMAIL_COLLECTION,[en.LOCAL]),G(V,W.EMAIL,[en.LOCAL]),G(V,W.HEADLINE,[en.LOCAL,en.PRIVATE]),G(V,W.ORGANISATION,[en.LOCAL,en.PRIVATE]),G(V,W.PHONE,[en.LOCAL,en.PRIVATE]),G(V,W.PROFILE_ENABLED,[en.LOCAL,en.PRIVATE]),G(V,W.ROLE,[en.LOCAL,en.PRIVATE]),G(V,W.TWITTER,[en.LOCAL,en.PRIVATE]),G(V,W.WEBSITE,[en.LOCAL,en.PRIVATE]),V)),rn=Object.freeze([W.BIOGRAPHY,W.HEADLINE,W.ORGANISATION,W.ROLE]),an="Scope",on=Object.freeze((G(z={},en.PRIVATE,{name:en.PRIVATE,displayName:(0,s.translate)("settings","Private"),tooltip:(0,s.translate)("settings","Only visible to people matched via phone number integration through Talk on mobile"),tooltipDisabled:(0,s.translate)("settings","Not available as this property is required for core functionality including file sharing and calendar invitations"),iconClass:"icon-phone"}),G(z,en.LOCAL,{name:en.LOCAL,displayName:(0,s.translate)("settings","Local"),tooltip:(0,s.translate)("settings","Only visible to people on this instance and guests"),iconClass:"icon-password"}),G(z,en.FEDERATED,{name:en.FEDERATED,displayName:(0,s.translate)("settings","Federated"),tooltip:(0,s.translate)("settings","Only synchronize to trusted servers"),tooltipDisabled:(0,s.translate)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-contacts-dark"}),G(z,en.PUBLISHED,{name:en.PUBLISHED,displayName:(0,s.translate)("settings","Published"),tooltip:(0,s.translate)("settings","Synchronize to trusted servers and the global and public address book"),tooltipDisabled:(0,s.translate)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-link"}),z)),sn=en.LOCAL,ln=Object.freeze({NOT_VERIFIED:0,VERIFICATION_IN_PROGRESS:1,VERIFIED:2}),cn=/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i,un=r(10128);function dn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function pn(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){dn(i,r,a,o,s,"next",n)}function s(n){dn(i,r,a,o,s,"throw",n)}o(void 0)}))}}r(65509);var An=function(){var n=pn(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"boolean"==typeof t&&(t=t?"1":"0"),r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),n.next=5,(0,un.confirmPassword)();case 5:return n.next=7,l.default.put(a,{key:e,value:t});case 7:return o=n.sent,n.abrupt("return",o.data);case 9:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),fn=function(){var n=pn(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:"".concat(e).concat(an),value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),mn=(0,r(17499).IY)().setApp("settings").detectUser().build();function vn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function gn(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){vn(i,r,a,o,s,"next",n)}function s(n){vn(i,r,a,o,s,"throw",n)}o(void 0)}))}}function hn(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var bn=(0,o.loadState)("settings","accountParameters",{}).lookupServerUploadEnabled,yn={name:"FederationControl",components:{NcActions:x(),FederationControlAction:H},props:{readable:{type:String,required:!0,validator:function(n){return Object.values(W).includes(n)||Object.values(nn).includes(n)||n===Q.PROFILE_VISIBILITY}},additional:{type:Boolean,default:!1},additionalValue:{type:String,default:""},disabled:{type:Boolean,default:!1},handleAdditionalScopeChange:{type:Function,default:null},scope:{type:String,required:!0}},data:function(){return{readableLowerCase:this.readable.toLocaleLowerCase(),initialScope:this.scope}},computed:{ariaLabel:function(){return t("settings","Change scope level of {property}, current scope is {scope}",{property:this.readableLowerCase,scope:this.scopeDisplayNameLowerCase})},scopeDisplayNameLowerCase:function(){return on[this.scope].displayName.toLocaleLowerCase()},scopeIcon:function(){return on[this.scope].iconClass},federationScopes:function(){return Object.values(on)},supportedScopes:function(){return bn&&!rn.includes(this.readable)?[].concat(function(n){if(Array.isArray(n))return hn(n)}(n=tn[this.readable])||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return hn(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?hn(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[en.FEDERATED,en.PUBLISHED]):tn[this.readable];var n}},methods:{changeScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.$emit("update:scope",n),e.additional){t.next=6;break}return t.next=4,e.updatePrimaryScope(n);case 4:t.next=8;break;case 6:return t.next=8,e.updateAdditionalScope(n);case 8:case"end":return t.stop()}}),t)})))()},updatePrimaryScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,fn(J[e.readable],n);case 3:o=r.sent,e.handleResponse({scope:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update federation scope of the primary {property}",{property:e.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},updateAdditionalScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,e.handleAdditionalScopeChange(e.additionalValue,n);case 3:o=r.sent,e.handleResponse({scope:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update federation scope of additional {property}",{property:e.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=n.scope,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialScope=e:(this.$emit("update:scope",this.initialScope),(0,u.showError)(r),mn.error(r,a))}}},Cn=r(77198),xn={};xn.styleTagTransform=T(),xn.setAttributes=R(),xn.insert=k().bind(null,"head"),xn.domAPI=S(),xn.insertStyleElement=B(),_()(Cn.Z,xn),Cn.Z&&Cn.Z.locals&&Cn.Z.locals;var wn=(0,$.Z)(yn,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("NcActions",{class:{"federation-actions":!n.additional,"federation-actions--additional":n.additional},attrs:{"aria-label":n.ariaLabel,"default-icon":n.scopeIcon,disabled:n.disabled}},n._l(n.federationScopes,(function(e){return t("FederationControlAction",{key:e.name,attrs:{"active-scope":n.scope,"display-name":e.displayName,"handle-scope-change":n.changeScope,"icon-class":e.iconClass,"is-supported-scope":n.supportedScopes.includes(e.name),name:e.name,"tooltip-disabled":e.tooltipDisabled,tooltip:e.tooltip}})})),1)}),[],!1,null,"4c6905d9",null).exports,En={name:"HeaderBar",components:{FederationControl:wn,NcButton:m(),Plus:y.Z},props:{scope:{type:String,default:null},readable:{type:String,required:!0},inputId:{type:String,default:null},isEditable:{type:Boolean,default:!0},isMultiValueSupported:{type:Boolean,default:!1},isValidSection:{type:Boolean,default:!0}},data:function(){return{localScope:this.scope}},computed:{isProfileProperty:function(){return this.readable===W.PROFILE_ENABLED},isSettingProperty:function(){return!Object.values(W).includes(this.readable)&&!Object.values(Q).includes(this.readable)}},methods:{onAddAdditional:function(){this.$emit("add-additional")},onScopeChange:function(n){this.$emit("update:scope",n)}}},On=r(58728),Pn={};Pn.styleTagTransform=T(),Pn.setAttributes=R(),Pn.insert=k().bind(null,"head"),Pn.domAPI=S(),Pn.insertStyleElement=B(),_()(On.Z,Pn),On.Z&&On.Z.locals&&On.Z.locals;var _n=(0,$.Z)(En,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("h3",{class:{"setting-property":n.isSettingProperty,"profile-property":n.isProfileProperty}},[t("label",{attrs:{for:n.inputId}},[n._v("\n\t\t"+n._s(n.readable)+"\n\t")]),n._v(" "),n.scope?[t("FederationControl",{staticClass:"federation-control",attrs:{readable:n.readable,scope:n.localScope},on:{"update:scope":[function(e){n.localScope=e},n.onScopeChange]}})]:n._e(),n._v(" "),n.isEditable&&n.isMultiValueSupported?[t("NcButton",{attrs:{type:"tertiary",disabled:!n.isValidSection,"aria-label":n.t("settings","Add additional email")},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.onAddAdditional.apply(null,arguments)}},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Plus",{attrs:{size:20}})]},proxy:!0}],null,!1,32235154)},[n._v("\n\t\t\t"+n._s(n.t("settings","Add"))+"\n\t\t")])]:n._e()],2)}),[],!1,null,"8094b2e6",null),jn=_n.exports;function Sn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function In(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Sn(i,r,a,o,s,"next",n)}function s(n){Sn(i,r,a,o,s,"throw",n)}o(void 0)}))}}function kn(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Ln(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?kn(Object(t),!0).forEach((function(e){Rn(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kn(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Rn(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Dn=(0,o.loadState)("settings","personalInfoParameters",{}).avatar,Bn=(0,o.loadState)("settings","accountParameters",{}).avatarChangeSupported,Nn=["image/png","image/jpeg"],Tn=(0,u.getFilePickerBuilder)(t("settings","Choose your profile picture")).setMultiSelect(!1).setMimeTypeFilter(Nn).setModal(!0).setType(1).allowDirectories(!1).build(),Zn={name:"AvatarSection",components:{Delete:b.Z,Folder:h.default,HeaderBar:jn,NcAvatar:A(),NcButton:m(),Upload:g.Z,VueCropper:v.Z},data:function(){return{avatar:Ln(Ln({},Dn),{},{readable:K[Dn.name]}),avatarChangeSupported:Bn,showCropper:!1,loading:!1,userId:(0,i.getCurrentUser)().uid,displayName:(0,i.getCurrentUser)().displayName,version:oc_userconfig.avatar.version,isGenerated:oc_userconfig.avatar.generated,validMimeTypes:Nn,cropperOptions:{aspectRatio:1,viewMode:1,guides:!1,center:!1,highlight:!1,autoCropArea:1,minContainerWidth:300,minContainerHeight:300}}},created:function(){(0,d.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy:function(){(0,d.r1)("settings:display-name:updated",this.handleDisplayNameUpdate)},computed:{inputId:function(){return"account-property-".concat(this.avatar.name)}},methods:{activateLocalFilePicker:function(){this.$refs.input.value=null,this.$refs.input.click()},onChange:function(n){var e=this;this.loading=!0;var r=n.target.files[0];if(!this.validMimeTypes.includes(r.type))return(0,u.showError)(t("settings","Please select a valid png or jpg file")),void this.cancel();var a=new FileReader;a.onload=function(n){e.$refs.cropper.replace(n.target.result),e.showCropper=!0},a.readAsDataURL(r)},openFilePicker:function(){var n=this;return In(regeneratorRuntime.mark((function e(){var r,a,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tn.pick();case 2:return r=e.sent,n.loading=!0,e.prev=4,e.next=7,l.default.post((0,c.generateUrl)("/avatar"),{path:r});case 7:a=e.sent,"success"===(i=a.data).status?n.handleAvatarUpdate(!1):"notsquare"===i.data?(o=(0,c.generateUrl)("/avatar/tmp")+"?requesttoken="+encodeURIComponent(OC.requestToken)+"#"+Math.floor(1e3*Math.random()),n.$refs.cropper.replace(o),n.showCropper=!0):((0,u.showError)(i.data.message),n.cancel()),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(4),(0,u.showError)(t("settings","Error setting profile picture")),n.cancel();case 16:case"end":return e.stop()}}),e,null,[[4,12]])})))()},saveAvatar:function(){var n=this;this.showCropper=!1,this.loading=!0,this.$refs.cropper.getCroppedCanvas().toBlob(function(){var e=In(regeneratorRuntime.mark((function e(r){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==r){e.next=4;break}return(0,u.showError)(t("settings","Error cropping profile picture")),n.cancel(),e.abrupt("return");case 4:return(a=new FormData).append("files[]",r),e.prev=6,e.next=9,l.default.post((0,c.generateUrl)("/avatar"),a);case 9:n.handleAvatarUpdate(!1),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(6),(0,u.showError)(t("settings","Error saving profile picture")),n.handleAvatarUpdate(n.isGenerated);case 16:case"end":return e.stop()}}),e,null,[[6,12]])})));return function(n){return e.apply(this,arguments)}}())},removeAvatar:function(){var n=this;return In(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,e.prev=1,e.next=4,l.default.delete((0,c.generateUrl)("/avatar"));case 4:n.handleAvatarUpdate(!0),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),(0,u.showError)(t("settings","Error removing profile picture")),n.handleAvatarUpdate(n.isGenerated);case 11:case"end":return e.stop()}}),e,null,[[1,7]])})))()},cancel:function(){this.showCropper=!1,this.loading=!1},handleAvatarUpdate:function(n){this.version=oc_userconfig.avatar.version=Date.now(),this.isGenerated=oc_userconfig.avatar.generated=n,this.loading=!1,(0,d.j8)("settings:avatar:updated",oc_userconfig.avatar.version)},handleDisplayNameUpdate:function(){this.version=oc_userconfig.avatar.version}}},Un=Zn,Mn=r(41300),Fn={};Fn.styleTagTransform=T(),Fn.setAttributes=R(),Fn.insert=k().bind(null,"head"),Fn.domAPI=S(),Fn.insertStyleElement=B(),_()(Mn.Z,Fn),Mn.Z&&Mn.Z.locals&&Mn.Z.locals;var Vn=(0,$.Z)(Un,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.avatarChangeSupported?n.inputId:null,readable:n.avatar.readable,scope:n.avatar.scope},on:{"update:scope":function(e){return n.$set(n.avatar,"scope",e)}}}),n._v(" "),n.showCropper?n._e():t("div",{staticClass:"avatar__container"},[t("div",{staticClass:"avatar__preview"},[n.loading?t("div",{staticClass:"icon-loading"}):t("NcAvatar",{key:n.version,attrs:{user:n.userId,"aria-label":n.t("settings","Your profile picture"),"disabled-menu":!0,"disabled-tooltip":!0,"show-user-status":!1,size:180}})],1),n._v(" "),n.avatarChangeSupported?[t("div",{staticClass:"avatar__buttons"},[t("NcButton",{attrs:{"aria-label":n.t("settings","Upload profile picture")},on:{click:n.activateLocalFilePicker},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Upload",{attrs:{size:20}})]},proxy:!0}],null,!1,1329850251)}),n._v(" "),t("NcButton",{attrs:{"aria-label":n.t("settings","Choose profile picture from files")},on:{click:n.openFilePicker},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Folder",{attrs:{size:20}})]},proxy:!0}],null,!1,4270628382)}),n._v(" "),n.isGenerated?n._e():t("NcButton",{attrs:{"aria-label":n.t("settings","Remove profile picture")},on:{click:n.removeAvatar},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)})],1),n._v(" "),t("span",[n._v(n._s(n.t("settings","png or jpg, max. 20 MB")))]),n._v(" "),t("input",{ref:"input",attrs:{id:n.inputId,type:"file",accept:n.validMimeTypes.join(",")},on:{change:n.onChange}})]:t("span",[n._v("\n\t\t\t"+n._s(n.t("settings","Picture provided by original account"))+"\n\t\t")])],2),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:n.showCropper,expression:"showCropper"}],staticClass:"avatar__container"},[t("VueCropper",n._b({ref:"cropper",staticClass:"avatar__cropper"},"VueCropper",n.cropperOptions,!1)),n._v(" "),t("div",{staticClass:"avatar__cropper-buttons"},[t("NcButton",{on:{click:n.cancel}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Cancel"))+"\n\t\t\t")]),n._v(" "),t("NcButton",{attrs:{type:"primary"},on:{click:n.saveAvatar}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Set as profile picture"))+"\n\t\t\t")])],1),n._v(" "),t("span",[n._v(n._s(n.t("settings","Please note that it can take up to 24 hours for your profile picture to be updated everywhere.")))])],1)],1)}),[],!1,null,"17216d6a",null).exports,zn=r(48959),$n=r.n(zn),qn=r(1203),Hn=r(8599),Gn=(0,o.loadState)("settings","personalInfoParameters",{}),Yn=Gn.groups,Wn=Gn.quota,Kn=Gn.totalSpace,Qn=Gn.usage,Jn=Gn.usageRelative,Xn={name:"DetailsSection",components:{Account:qn.Z,CircleSlice:Hn.Z,HeaderBar:jn,NcProgressBar:$n()},computed:{quotaText:function(){return-3===Wn?t("settings","You are using <strong>{usage}</strong>",{usage:Qn}):t("settings","You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",{usage:Qn,totalSpace:Kn,usageRelative:Jn})}},data:function(){return{groups:Yn,usageRelative:Jn}}},ne=r(75849),ee={};ee.styleTagTransform=T(),ee.setAttributes=R(),ee.insert=k().bind(null,"head"),ee.domAPI=S(),ee.insertStyleElement=B(),_()(ne.Z,ee),ne.Z&&ne.Z.locals&&ne.Z.locals;var te=(0,$.Z)(Xn,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{readable:n.t("settings","Details")}}),n._v(" "),t("div",{staticClass:"details"},[t("div",{staticClass:"details__groups"},[t("Account",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"details__groups-info"},[t("p",[n._v(n._s(n.t("settings","You are a member of the following groups:")))]),n._v(" "),t("p",{staticClass:"details__groups-list"},[n._v(n._s(n.groups.join(", ")))])])],1),n._v(" "),t("div",{staticClass:"details__quota"},[t("CircleSlice",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"details__quota-info"},[t("p",{staticClass:"details__quota-text",domProps:{innerHTML:n._s(n.quotaText)}}),n._v(" "),t("NcProgressBar",{attrs:{size:"medium",value:n.usageRelative,error:n.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"546e7ece",null).exports,re=r(20296),ae=r.n(re),ie=r(14625),oe=r(89897);function se(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function le(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){se(i,r,a,o,s,"next",n)}function s(n){se(i,r,a,o,s,"throw",n)}o(void 0)}))}}var ce={name:"AccountPropertySection",components:{AlertOctagon:oe.Z,Check:ie.default,HeaderBar:jn},props:{name:{type:String,required:!0},value:{type:String,required:!0},scope:{type:String,required:!0},readable:{type:String,required:!0},placeholder:{type:String,required:!0},type:{type:String,default:"text"},isEditable:{type:Boolean,default:!0},multiLine:{type:Boolean,default:!1},onValidate:{type:Function,default:null},onSave:{type:Function,default:null}},data:function(){return{initialValue:this.value,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(n){this.$emit("update:value",n.target.value),this.debouncePropertyChange(n.target.value.trim())},debouncePropertyChange:ae()(function(){var n=le(regeneratorRuntime.mark((function n(e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!this.onValidate||this.onValidate(e)){n.next=2;break}return n.abrupt("return");case 2:return n.next=4,this.updateProperty(e);case 4:case"end":return n.stop()}}),n,this)})));return function(e){return n.apply(this,arguments)}}(),500),updateProperty:function(n){var e=this;return le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(e.name,n);case 3:o=r.sent,e.handleResponse({value:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:e.readable.toLocaleLowerCase()}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=this,t=n.value,r=n.status,a=n.errorMessage,i=n.error;"ok"===r?(this.initialValue=t,this.onSave&&this.onSave(t),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),(0,u.showError)(a),mn.error(a,i),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))}}},ue=ce,de=r(71593),pe={};pe.styleTagTransform=T(),pe.setAttributes=R(),pe.insert=k().bind(null,"head"),pe.domAPI=S(),pe.insertStyleElement=B(),_()(de.Z,pe),de.Z&&de.Z.locals&&de.Z.locals;var Ae=(0,$.Z)(ue,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{scope:n.scope,readable:n.readable,"input-id":n.inputId,"is-editable":n.isEditable},on:{"update:scope":function(e){n.scope=e},"update:readable":function(e){n.readable=e}}}),n._v(" "),n.isEditable?t("div",{staticClass:"property"},[n.multiLine?t("textarea",{attrs:{id:n.inputId,placeholder:n.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",autocorrect:"off"},domProps:{value:n.value},on:{input:n.onPropertyChange}}):t("input",{attrs:{id:n.inputId,placeholder:n.placeholder,type:n.type,autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:n.value},on:{input:n.onPropertyChange}}),n._v(" "),t("div",{staticClass:"property__actions-container"},[t("transition",{attrs:{name:"fade"}},[n.showCheckmarkIcon?t("Check",{attrs:{size:20}}):n.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):n._e()],1)],1)]):t("span",[n._v("\n\t\t"+n._s(n.value||n.t("settings","No {property} set",{property:n.readable.toLocaleLowerCase()}))+"\n\t")])],1)}),[],!1,null,"7c2c5fa4",null).exports;function fe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function me(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?fe(Object(t),!0).forEach((function(e){ve(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ve(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ge=(0,o.loadState)("settings","personalInfoParameters",{}).displayName,he=(0,o.loadState)("settings","accountParameters",{}).displayNameChangeSupported,be={name:"DisplayNameSection",components:{AccountPropertySection:Ae},data:function(){return{displayName:me(me({},ge),{},{readable:K[ge.name]}),displayNameChangeSupported:he}},methods:{onValidate:function(n){return""!==n},onSave:function(n){oc_userconfig.avatar.generated&&(oc_userconfig.avatar.version=Date.now()),(0,d.j8)("settings:display-name:updated",n)}}},ye=(0,$.Z)(be,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your full name"),"is-editable":n.displayNameChangeSupported,"on-validate":n.onValidate,"on-save":n.onSave}},"AccountPropertySection",n.displayName,!1,!0))}),[],!1,null,null,null).exports;function Ce(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function xe(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Ce(i,r,a,o,s,"next",n)}function s(n){Ce(i,r,a,o,s,"throw",n)}o(void 0)}))}}var we=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.EMAIL,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Ee=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.EMAIL_COLLECTION,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Oe=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.NOTIFICATION_EMAIL,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Pe=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:t,collection:Y.EMAIL_COLLECTION}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:e,value:""});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),_e=function(){var n=xe(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:r,collection:Y.EMAIL_COLLECTION}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:e,value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),je=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:"".concat(Y.EMAIL).concat(an),value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Se=function(){var n=xe(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}/{collectionScope}",{userId:r,collectionScope:"".concat(Y.EMAIL_COLLECTION).concat(an)}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:e,value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}();function Ie(n){return"string"==typeof n&&cn.test(n)&&"\n"!==n.slice(-1)&&n.length<=320&&encodeURIComponent(n).replace(/%../g,"x").length<=320}function ke(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Le(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){ke(i,r,a,o,s,"next",n)}function s(n){ke(i,r,a,o,s,"throw",n)}o(void 0)}))}}var Re={name:"Email",components:{NcActions:x(),NcActionButton:E(),AlertOctagon:oe.Z,Check:ie.default,FederationControl:wn},props:{email:{type:String,required:!0},index:{type:Number,default:0},primary:{type:Boolean,default:!1},scope:{type:String,required:!0},activeNotificationEmail:{type:String,default:""},localVerificationState:{type:Number,default:ln.NOT_VERIFIED}},data:function(){return{propertyReadable:W.EMAIL,initialEmail:this.email,localScope:this.scope,saveAdditionalEmailScope:Se,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{deleteDisabled:function(){return this.primary?""===this.email||this.initialEmail!==this.email:""!==this.initialEmail&&this.initialEmail!==this.email},deleteEmailLabel:function(){return this.primary?t("settings","Remove primary email"):t("settings","Delete email")},setNotificationMailDisabled:function(){return!this.primary&&this.localVerificationState!==ln.VERIFIED},setNotificationMailLabel:function(){return this.isNotificationEmail?t("settings","Unset as primary email"):this.primary||this.localVerificationState===ln.VERIFIED?t("settings","Set as primary email"):t("settings","This address is not confirmed")},federationDisabled:function(){return!this.initialEmail},inputId:function(){return this.primary?"email":"email-".concat(this.index)},inputPlaceholder:function(){return this.primary?t("settings","Your email address"):t("settings","Additional email address {index}",{index:this.index+1})},isNotificationEmail:function(){return this.email&&this.email===this.activeNotificationEmail||this.primary&&""===this.activeNotificationEmail}},mounted:function(){var n=this;this.primary||""!==this.initialEmail||this.$nextTick((function(){var e;return null===(e=n.$refs.email)||void 0===e?void 0:e.focus()}))},methods:{onEmailChange:function(n){this.$emit("update:email",n.target.value),this.debounceEmailChange(n.target.value.trim())},debounceEmailChange:ae()(function(){var n=Le(regeneratorRuntime.mark((function n(e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Ie(e)&&""!==e){n.next=14;break}if(!this.primary){n.next=6;break}return n.next=4,this.updatePrimaryEmail(e);case 4:case 10:n.next=14;break;case 6:if(!e){n.next=14;break}if(""!==this.initialEmail){n.next=12;break}return n.next=10,this.addAdditionalEmail(e);case 12:return n.next=14,this.updateAdditionalEmail(e);case 14:case"end":return n.stop()}}),n,this)})));return function(e){return n.apply(this,arguments)}}(),500),deleteEmail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.primary){e.next=6;break}return n.$emit("update:email",""),e.next=4,n.updatePrimaryEmail("");case 4:e.next=8;break;case 6:return e.next=8,n.deleteAdditionalEmail();case 8:case"end":return e.stop()}}),e)})))()},updatePrimaryEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,we(n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),""===n?e.handleResponse({errorMessage:t("settings","Unable to delete primary email address"),error:r.t0}):e.handleResponse({errorMessage:t("settings","Unable to update primary email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},addAdditionalEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ee(n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to add additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},setNotificationMail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){var t,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,a=n.primary||n.isNotificationEmail?"":n.initialEmail,e.next=4,Oe(a);case 4:i=e.sent,n.handleResponse({notificationEmail:a,status:null===(t=i.ocs)||void 0===t||null===(r=t.meta)||void 0===r?void 0:r.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),n.handleResponse({errorMessage:"Unable to choose this email for notifications",error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))()},updateAdditionalEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,_e(e.initialEmail,n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},deleteAdditionalEmail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Pe(n.initialEmail);case 3:i=e.sent,n.handleDeleteAdditionalEmail(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse({errorMessage:t("settings","Unable to delete additional email address"),error:e.t0});case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},handleDeleteAdditionalEmail:function(n){"ok"===n?this.$emit("delete-additional-email"):this.handleResponse({errorMessage:t("settings","Unable to delete additional email address")})},handleResponse:function(n){var e=this,t=n.email,r=n.notificationEmail,a=n.status,i=n.errorMessage,o=n.error;"ok"===a?(t?this.initialEmail=t:void 0!==r&&this.$emit("update:notification-email",r),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):((0,u.showError)(i),mn.error(i,o),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))},onScopeChange:function(n){this.$emit("update:scope",n)}}},De=Re,Be=r(34650),Ne={};Ne.styleTagTransform=T(),Ne.setAttributes=R(),Ne.insert=k().bind(null,"head"),Ne.domAPI=S(),Ne.insertStyleElement=B(),_()(Be.Z,Ne),Be.Z&&Be.Z.locals&&Be.Z.locals;var Te=(0,$.Z)(De,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("div",{staticClass:"email"},[t("input",{ref:"email",attrs:{id:n.inputId,type:"email",placeholder:n.inputPlaceholder,autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:n.email},on:{input:n.onEmailChange}}),n._v(" "),t("div",{staticClass:"email__actions-container"},[t("transition",{attrs:{name:"fade"}},[n.showCheckmarkIcon?t("Check",{attrs:{size:20}}):n.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):n._e()],1),n._v(" "),n.primary?n._e():[t("FederationControl",{attrs:{readable:n.propertyReadable,additional:!0,"additional-value":n.email,disabled:n.federationDisabled,"handle-additional-scope-change":n.saveAdditionalEmailScope,scope:n.localScope},on:{"update:scope":[function(e){n.localScope=e},n.onScopeChange]}})],n._v(" "),t("NcActions",{staticClass:"email__actions",attrs:{"aria-label":n.t("settings","Email options"),"force-menu":!0}},[t("NcActionButton",{attrs:{"aria-label":n.deleteEmailLabel,"close-after-click":!0,disabled:n.deleteDisabled,icon:"icon-delete"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.deleteEmail.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.deleteEmailLabel)+"\n\t\t\t\t")]),n._v(" "),n.primary&&n.isNotificationEmail?n._e():t("NcActionButton",{attrs:{"aria-label":n.setNotificationMailLabel,"close-after-click":!0,disabled:n.setNotificationMailDisabled,icon:"icon-favorite"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.setNotificationMail.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.setNotificationMailLabel)+"\n\t\t\t\t")])],1)],2)]),n._v(" "),n.isNotificationEmail?t("em",[n._v("\n\t\t"+n._s(n.t("settings","Primary email for password reset and notifications"))+"\n\t")]):n._e()])}),[],!1,null,"ad393090",null),Ze=Te.exports;function Ue(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Me(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Ue(i,r,a,o,s,"next",n)}function s(n){Ue(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Fe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Ve(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Fe(Object(t),!0).forEach((function(e){ze(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fe(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ze(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var $e=(0,o.loadState)("settings","personalInfoParameters",{}).emailMap,qe=$e.additionalEmails,He=$e.primaryEmail,Ge=$e.notificationEmail,Ye=(0,o.loadState)("settings","accountParameters",{}).displayNameChangeSupported,We={name:"EmailSection",components:{HeaderBar:jn,Email:Ze},data:function(){var n=this;return{accountProperty:W.EMAIL,additionalEmails:qe.map((function(e){return Ve(Ve({},e),{},{key:n.generateUniqueKey()})})),displayNameChangeSupported:Ye,primaryEmail:Ve(Ve({},He),{},{readable:K[He.name]}),savePrimaryEmailScope:je,notificationEmail:Ge}},computed:{firstAdditionalEmail:function(){return this.additionalEmails.length?this.additionalEmails[0].value:null},inputId:function(){return"account-property-".concat(this.primaryEmail.name)},isValidSection:function(){return Ie(this.primaryEmail.value)&&this.additionalEmails.map((function(n){return n.value})).every(Ie)},primaryEmailValue:{get:function(){return this.primaryEmail.value},set:function(n){this.primaryEmail.value=n}}},methods:{onAddAdditionalEmail:function(){this.isValidSection&&this.additionalEmails.push({value:"",scope:sn,key:this.generateUniqueKey()})},onDeleteAdditionalEmail:function(n){this.$delete(this.additionalEmails,n)},onUpdateEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!==n.primaryEmailValue||!n.firstAdditionalEmail){e.next=7;break}return t=n.firstAdditionalEmail,e.next=4,n.deleteFirstAdditionalEmail();case 4:return n.primaryEmailValue=t,e.next=7,n.updatePrimaryEmail();case 7:case"end":return e.stop()}}),e)})))()},onUpdateNotificationEmail:function(n){var e=this;return Me(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.notificationEmail=n;case 1:case"end":return t.stop()}}),t)})))()},updatePrimaryEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,we(n.primaryEmailValue);case 3:i=e.sent,n.handleResponse(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse("error",t("settings","Unable to update primary email address"),e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},deleteFirstAdditionalEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Pe(n.firstAdditionalEmail);case 3:i=e.sent,n.handleDeleteFirstAdditionalEmail(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse("error",t("settings","Unable to delete additional email address"),e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},handleDeleteFirstAdditionalEmail:function(n){"ok"===n?this.$delete(this.additionalEmails,0):this.handleResponse("error",t("settings","Unable to delete additional email address"),{})},handleResponse:function(n,e,t){"ok"!==n&&((0,u.showError)(e),mn.error(e,t))},generateUniqueKey:function(){return Math.random().toString(36).substring(2)}}},Ke=r(38793),Qe={};Qe.styleTagTransform=T(),Qe.setAttributes=R(),Qe.insert=k().bind(null,"head"),Qe.domAPI=S(),Qe.insertStyleElement=B(),_()(Ke.Z,Qe),Ke.Z&&Ke.Z.locals&&Ke.Z.locals;var Je=(0,$.Z)(We,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.primaryEmail.readable,"handle-scope-change":n.savePrimaryEmailScope,"is-editable":!0,"is-multi-value-supported":!0,"is-valid-section":n.isValidSection,scope:n.primaryEmail.scope},on:{"update:scope":function(e){return n.$set(n.primaryEmail,"scope",e)},"add-additional":n.onAddAdditionalEmail}}),n._v(" "),n.displayNameChangeSupported?[t("Email",{attrs:{primary:!0,scope:n.primaryEmail.scope,email:n.primaryEmail.value,"active-notification-email":n.notificationEmail},on:{"update:scope":function(e){return n.$set(n.primaryEmail,"scope",e)},"update:email":[function(e){return n.$set(n.primaryEmail,"value",e)},n.onUpdateEmail],"update:activeNotificationEmail":function(e){n.notificationEmail=e},"update:active-notification-email":function(e){n.notificationEmail=e},"update:notification-email":n.onUpdateNotificationEmail}})]:t("span",[n._v("\n\t\t"+n._s(n.primaryEmail.value||n.t("settings","No email address set"))+"\n\t")]),n._v(" "),n.additionalEmails.length?[t("em",{staticClass:"additional-emails-label"},[n._v(n._s(n.t("settings","Additional emails")))]),n._v(" "),n._l(n.additionalEmails,(function(e,r){return t("Email",{key:e.key,attrs:{index:r,scope:e.scope,email:e.value,"local-verification-state":parseInt(e.locallyVerified,10),"active-notification-email":n.notificationEmail},on:{"update:scope":function(t){return n.$set(e,"scope",t)},"update:email":[function(t){return n.$set(e,"value",t)},n.onUpdateEmail],"update:activeNotificationEmail":function(e){n.notificationEmail=e},"update:active-notification-email":function(e){n.notificationEmail=e},"update:notification-email":n.onUpdateNotificationEmail,"delete-additional-email":function(e){return n.onDeleteAdditionalEmail(r)}}})}))]:n._e()],2)}),[],!1,null,"3b8501a7",null).exports,Xe=r(45004);function nt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function et(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?nt(Object(t),!0).forEach((function(e){tt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):nt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function tt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var rt=(0,o.loadState)("settings","personalInfoParameters",{}).phone,at={name:"PhoneSection",components:{AccountPropertySection:Ae},data:function(){return{phone:et(et({},rt),{},{readable:K[rt.name]})}},methods:{onValidate:function(n){return(0,Xe.y)(n)}}},it=(0,$.Z)(at,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your phone number"),type:"tel","on-validate":n.onValidate}},"AccountPropertySection",n.phone,!1,!0))}),[],!1,null,null,null).exports;function ot(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function st(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ot(Object(t),!0).forEach((function(e){lt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ot(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function lt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ct=(0,o.loadState)("settings","personalInfoParameters",{}).location,ut={name:"LocationSection",components:{AccountPropertySection:Ae},data:function(){return{location:st(st({},ct),{},{readable:K[ct.name]})}}},dt=(0,$.Z)(ut,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your location")}},"AccountPropertySection",n.location,!1,!0))}),[],!1,null,null,null).exports;function pt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function At(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?pt(Object(t),!0).forEach((function(e){ft(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ft(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var mt=(0,o.loadState)("settings","personalInfoParameters",{}).website,vt={name:"WebsiteSection",components:{AccountPropertySection:Ae},data:function(){return{website:At(At({},mt),{},{readable:K[mt.name]})}},methods:{onValidate:function(n){return function(n){try{return new URL(n),!0}catch(n){return!1}}(n)}}},gt=(0,$.Z)(vt,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your website"),type:"url","on-validate":n.onValidate}},"AccountPropertySection",n.website,!1,!0))}),[],!1,null,null,null).exports;function ht(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function bt(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ht(Object(t),!0).forEach((function(e){yt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function yt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Ct=(0,o.loadState)("settings","personalInfoParameters",{}).twitter,xt={name:"TwitterSection",components:{AccountPropertySection:Ae},data:function(){return{twitter:bt(bt({},Ct),{},{readable:K[Ct.name]})}}},wt=(0,$.Z)(xt,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your Twitter handle")}},"AccountPropertySection",n.twitter,!1,!0))}),[],!1,null,null,null).exports;function Et(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Ot(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Et(i,r,a,o,s,"next",n)}function s(n){Et(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Pt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function _t(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Pt(Object(t),!0).forEach((function(e){jt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function jt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function St(n){return function(n){if(Array.isArray(n))return It(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return It(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?It(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function It(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var kt={name:"Language",props:{inputId:{type:String,default:null},commonLanguages:{type:Array,required:!0},otherLanguages:{type:Array,required:!0},language:{type:Object,required:!0}},data:function(){return{initialLanguage:this.language}},computed:{allLanguages:function(){return Object.freeze([].concat(St(this.commonLanguages),St(this.otherLanguages)).reduce((function(n,e){var t=e.code,r=e.name;return _t(_t({},n),{},jt({},t,r))}),{}))}},methods:{onLanguageChange:function(n){var e=this;return Ot(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.constructLanguage(n.target.value),e.$emit("update:language",r),""===(a=r).code||""===a.name||void 0===a.name){t.next=5;break}return t.next=5,e.updateLanguage(r);case 5:case"end":return t.stop()}var a}),t)})))()},updateLanguage:function(n){var e=this;return Ot(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(X.LANGUAGE,n.code);case 3:o=r.sent,e.handleResponse({language:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),e.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update language"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLanguage:function(n){return{code:n,name:this.allLanguages[n]}},handleResponse:function(n){var e=n.language,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialLanguage=e:((0,u.showError)(r),mn.error(r,a))},reloadPage:function(){location.reload()}}},Lt=r(79818),Rt={};Rt.styleTagTransform=T(),Rt.setAttributes=R(),Rt.insert=k().bind(null,"head"),Rt.domAPI=S(),Rt.insertStyleElement=B(),_()(Lt.Z,Rt),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var Dt=(0,$.Z)(kt,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"language"},[t("select",{attrs:{id:n.inputId,placeholder:n.t("settings","Language")},on:{change:n.onLanguageChange}},[n._l(n.commonLanguages,(function(e){return t("option",{key:e.code,domProps:{selected:n.language.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])})),n._v(" "),t("option",{attrs:{disabled:""}},[n._v("\n\t\t\t──────────\n\t\t")]),n._v(" "),n._l(n.otherLanguages,(function(e){return t("option",{key:e.code,domProps:{selected:n.language.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])}))],2),n._v(" "),t("a",{attrs:{href:"https://www.transifex.com/nextcloud/nextcloud/",target:"_blank",rel:"noreferrer noopener"}},[t("em",[n._v(n._s(n.t("settings","Help translate")))])])])}),[],!1,null,"6e196b5c",null).exports,Bt=(0,o.loadState)("settings","personalInfoParameters",{}).languageMap,Nt=Bt.activeLanguage,Tt=Bt.commonLanguages,Zt=Bt.otherLanguages,Ut={name:"LanguageSection",components:{Language:Dt,HeaderBar:jn},data:function(){return{propertyReadable:nn.LANGUAGE,commonLanguages:Tt,otherLanguages:Zt,language:Nt}},computed:{inputId:function(){return"account-setting-".concat(X.LANGUAGE)},isEditable:function(){return Boolean(this.language)}}},Mt=r(14703),Ft={};Ft.styleTagTransform=T(),Ft.setAttributes=R(),Ft.insert=k().bind(null,"head"),Ft.domAPI=S(),Ft.insertStyleElement=B(),_()(Mt.Z,Ft),Mt.Z&&Mt.Z.locals&&Mt.Z.locals;var Vt=(0,$.Z)(Ut,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.propertyReadable}}),n._v(" "),n.isEditable?[t("Language",{attrs:{"input-id":n.inputId,"common-languages":n.commonLanguages,"other-languages":n.otherLanguages,language:n.language},on:{"update:language":function(e){n.language=e}}})]:t("span",[n._v("\n\t\t"+n._s(n.t("settings","No language set"))+"\n\t")])],2)}),[],!1,null,"92685b76",null).exports,zt=r(80351),$t=r.n(zt);function qt(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Ht(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){qt(i,r,a,o,s,"next",n)}function s(n){qt(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Gt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Yt(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Gt(Object(t),!0).forEach((function(e){Wt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Wt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Kt(n){return function(n){if(Array.isArray(n))return Qt(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return Qt(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Qt(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qt(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var Jt={name:"Locale",components:{Web:r(49298).Z},props:{inputId:{type:String,default:null},locale:{type:Object,required:!0},localesForLanguage:{type:Array,required:!0},otherLocales:{type:Array,required:!0}},data:function(){return{initialLocale:this.locale,example:{date:$t()().format("L"),time:$t()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}}},computed:{allLocales:function(){return Object.freeze([].concat(Kt(this.localesForLanguage),Kt(this.otherLocales)).reduce((function(n,e){var t=e.code,r=e.name;return Yt(Yt({},n),{},Wt({},t,r))}),{}))}},created:function(){setInterval(this.refreshExample,1e3)},methods:{onLocaleChange:function(n){var e=this;return Ht(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.constructLocale(n.target.value),e.$emit("update:locale",r),""===(a=r).code||""===a.name||void 0===a.name){t.next=5;break}return t.next=5,e.updateLocale(r);case 5:case"end":return t.stop()}var a}),t)})))()},updateLocale:function(n){var e=this;return Ht(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(X.LOCALE,n.code);case 3:o=r.sent,e.handleResponse({locale:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),e.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update locale"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLocale:function(n){return{code:n,name:this.allLocales[n]}},handleResponse:function(n){var e=n.locale,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialLocale=e:(this.$emit("update:locale",this.initialLocale),(0,u.showError)(r),mn.error(r,a))},refreshExample:function(){this.example={date:$t()().format("L"),time:$t()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}},reloadPage:function(){location.reload()}}},Xt=r(59808),nr={};nr.styleTagTransform=T(),nr.setAttributes=R(),nr.insert=k().bind(null,"head"),nr.domAPI=S(),nr.insertStyleElement=B(),_()(Xt.Z,nr),Xt.Z&&Xt.Z.locals&&Xt.Z.locals;var er=(0,$.Z)(Jt,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"locale"},[t("select",{attrs:{id:n.inputId,placeholder:n.t("settings","Locale")},on:{change:n.onLocaleChange}},[n._l(n.localesForLanguage,(function(e){return t("option",{key:e.code,domProps:{selected:n.locale.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])})),n._v(" "),t("option",{attrs:{disabled:""}},[n._v("\n\t\t\t──────────\n\t\t")]),n._v(" "),n._l(n.otherLocales,(function(e){return t("option",{key:e.code,domProps:{selected:n.locale.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])}))],2),n._v(" "),t("div",{staticClass:"example"},[t("Web",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"example__text"},[t("p",[t("span",[n._v(n._s(n.example.date))]),n._v(" "),t("span",[n._v(n._s(n.example.time))])]),n._v(" "),t("p",[n._v("\n\t\t\t\t"+n._s(n.t("settings","Week starts on {firstDayOfWeek}",{firstDayOfWeek:this.example.firstDayOfWeek}))+"\n\t\t\t")])])],1)])}),[],!1,null,"545055d8",null).exports,tr=(0,o.loadState)("settings","personalInfoParameters",{}).localeMap,rr=tr.activeLocale,ar=tr.localesForLanguage,ir=tr.otherLocales,or={name:"LocaleSection",components:{Locale:er,HeaderBar:jn},data:function(){return{propertyReadable:nn.LOCALE,localesForLanguage:ar,otherLocales:ir,locale:rr}},computed:{inputId:function(){return"account-setting-".concat(X.LOCALE)},isEditable:function(){return Boolean(this.locale)}}},sr=r(78172),lr={};lr.styleTagTransform=T(),lr.setAttributes=R(),lr.insert=k().bind(null,"head"),lr.domAPI=S(),lr.insertStyleElement=B(),_()(sr.Z,lr),sr.Z&&sr.Z.locals&&sr.Z.locals;var cr=(0,$.Z)(or,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.propertyReadable}}),n._v(" "),n.isEditable?[t("Locale",{attrs:{"input-id":n.inputId,"locales-for-language":n.localesForLanguage,"other-locales":n.otherLocales,locale:n.locale},on:{"update:locale":function(e){n.locale=e}}})]:t("span",[n._v("\n\t\t"+n._s(n.t("settings","No locale set"))+"\n\t")])],2)}),[],!1,null,"84fca724",null).exports,ur={name:"EditProfileAnchorLink",components:{ChevronDownIcon:r(60604).default},props:{profileEnabled:{type:Boolean,required:!0}},computed:{disabled:function(){return!this.profileEnabled}}},dr=r(61434),pr={};pr.styleTagTransform=T(),pr.setAttributes=R(),pr.insert=k().bind(null,"head"),pr.domAPI=S(),pr.insertStyleElement=B(),_()(dr.Z,pr),dr.Z&&dr.Z.locals&&dr.Z.locals;var Ar=r(77467),fr={};fr.styleTagTransform=T(),fr.setAttributes=R(),fr.insert=k().bind(null,"head"),fr.domAPI=S(),fr.insertStyleElement=B(),_()(Ar.Z,fr),Ar.Z&&Ar.Z.locals&&Ar.Z.locals;var mr=(0,$.Z)(ur,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("a",n._g({class:{disabled:n.disabled},attrs:{href:"#profile-visibility"}},n.$listeners),[t("ChevronDownIcon",{staticClass:"anchor-icon",attrs:{size:22}}),n._v("\n\t"+n._s(n.t("settings","Edit your Profile visibility"))+"\n")],1)}),[],!1,null,"1950be88",null).exports,vr=r(20571);function gr(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}var hr={name:"ProfileCheckbox",components:{NcCheckboxRadioSwitch:r.n(vr)()},props:{profileEnabled:{type:Boolean,required:!0}},data:function(){return{isProfileEnabled:this.profileEnabled,loading:!1}},methods:{saveEnableProfile:function(){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var r,a,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,An(Y.PROFILE_ENABLED,e.isProfileEnabled);case 4:i=n.sent,e.handleResponse({isProfileEnabled:e.isProfileEnabled,status:null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status}),n.next=11;break;case 8:n.prev=8,n.t0=n.catch(1),e.handleResponse({errorMessage:t("settings","Unable to update profile enabled state"),error:n.t0});case 11:case"end":return n.stop()}}),n,null,[[1,8]])})),function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){gr(i,r,a,o,s,"next",n)}function s(n){gr(i,r,a,o,s,"throw",n)}o(void 0)}))})()},handleResponse:function(n){var e=n.isProfileEnabled,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?(0,d.j8)("settings:profile-enabled:updated",e):((0,u.showError)(r),mn.error(r,a)),this.loading=!1}}},br=hr,yr=(0,$.Z)(br,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"checkbox-container"},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch",checked:n.isProfileEnabled,loading:n.loading},on:{"update:checked":[function(e){n.isProfileEnabled=e},n.saveEnableProfile]}},[n._v("\n\t\t"+n._s(n.t("settings","Enable Profile"))+"\n\t")])],1)}),[],!1,null,null,null).exports,Cr={name:"ProfilePreviewCard",components:{NcAvatar:A()},props:{displayName:{type:String,required:!0},organisation:{type:String,required:!0},profileEnabled:{type:Boolean,required:!0},userId:{type:String,required:!0}},computed:{disabled:function(){return!this.profileEnabled},profilePageLink:function(){return this.profileEnabled?(0,c.generateUrl)("/u/{userId}",{userId:(0,i.getCurrentUser)().uid}):null}}},xr=r(83467),wr={};wr.styleTagTransform=T(),wr.setAttributes=R(),wr.insert=k().bind(null,"head"),wr.domAPI=S(),wr.insertStyleElement=B(),_()(xr.Z,wr),xr.Z&&xr.Z.locals&&xr.Z.locals;var Er=(0,$.Z)(Cr,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("a",{staticClass:"preview-card",class:{disabled:n.disabled},attrs:{href:n.profilePageLink}},[t("NcAvatar",{staticClass:"preview-card__avatar",attrs:{user:n.userId,size:48,"show-user-status":!0,"show-user-status-compact":!1,"disable-menu":!0,"disable-tooltip":!0}}),n._v(" "),t("div",{staticClass:"preview-card__header"},[t("span",[n._v(n._s(n.displayName))])]),n._v(" "),t("div",{staticClass:"preview-card__footer"},[t("span",[n._v(n._s(n.organisation))])])],1)}),[],!1,null,"60a53e27",null).exports,Or=(0,o.loadState)("settings","personalInfoParameters",{}),Pr=Or.organisation.value,_r=Or.displayName.value,jr=Or.profileEnabled,Sr=Or.userId,Ir={name:"ProfileSection",components:{EditProfileAnchorLink:mr,HeaderBar:jn,ProfileCheckbox:yr,ProfilePreviewCard:Er},data:function(){return{propertyReadable:W.PROFILE_ENABLED,organisation:Pr,displayName:_r,profileEnabled:jr,userId:Sr}},mounted:function(){(0,d.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,d.Ld)("settings:organisation:updated",this.handleOrganisationUpdate)},beforeDestroy:function(){(0,d.r1)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,d.r1)("settings:organisation:updated",this.handleOrganisationUpdate)},methods:{handleDisplayNameUpdate:function(n){this.displayName=n},handleOrganisationUpdate:function(n){this.organisation=n}}},kr=Ir,Lr=r(67964),Rr={};Rr.styleTagTransform=T(),Rr.setAttributes=R(),Rr.insert=k().bind(null,"head"),Rr.domAPI=S(),Rr.insertStyleElement=B(),_()(Lr.Z,Rr),Lr.Z&&Lr.Z.locals&&Lr.Z.locals;var Dr=(0,$.Z)(kr,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{readable:n.propertyReadable}}),n._v(" "),t("ProfileCheckbox",{attrs:{"profile-enabled":n.profileEnabled},on:{"update:profileEnabled":function(e){n.profileEnabled=e},"update:profile-enabled":function(e){n.profileEnabled=e}}}),n._v(" "),t("ProfilePreviewCard",{attrs:{organisation:n.organisation,"display-name":n.displayName,"profile-enabled":n.profileEnabled,"user-id":n.userId}}),n._v(" "),t("EditProfileAnchorLink",{attrs:{"profile-enabled":n.profileEnabled}})],1)}),[],!1,null,"cf64d964",null).exports;function Br(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Nr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Br(Object(t),!0).forEach((function(e){Tr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Br(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Tr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Zr=(0,o.loadState)("settings","personalInfoParameters",{}).organisation,Ur={name:"OrganisationSection",components:{AccountPropertySection:Ae},data:function(){return{organisation:Nr(Nr({},Zr),{},{readable:K[Zr.name]})}}},Mr=(0,$.Z)(Ur,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your organisation")}},"AccountPropertySection",n.organisation,!1,!0))}),[],!1,null,null,null).exports;function Fr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Vr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Fr(Object(t),!0).forEach((function(e){zr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function zr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var $r=(0,o.loadState)("settings","personalInfoParameters",{}).role,qr={name:"RoleSection",components:{AccountPropertySection:Ae},data:function(){return{role:Vr(Vr({},$r),{},{readable:K[$r.name]})}}},Hr=(0,$.Z)(qr,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your role")}},"AccountPropertySection",n.role,!1,!0))}),[],!1,null,null,null).exports;function Gr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Yr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Gr(Object(t),!0).forEach((function(e){Wr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Wr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Kr=(0,o.loadState)("settings","personalInfoParameters",{}).headline,Qr={name:"HeadlineSection",components:{AccountPropertySection:Ae},data:function(){return{headline:Yr(Yr({},Kr),{},{readable:K[Kr.name]})}}},Jr=(0,$.Z)(Qr,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your headline")}},"AccountPropertySection",n.headline,!1,!0))}),[],!1,null,null,null).exports;function Xr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function na(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Xr(Object(t),!0).forEach((function(e){ea(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ea(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ta=(0,o.loadState)("settings","personalInfoParameters",{}).biography,ra={name:"BiographySection",components:{AccountPropertySection:Ae},data:function(){return{biography:na(na({},ta),{},{readable:K[ta.name]})}}},aa=(0,$.Z)(ra,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your biography"),"multi-line":!0}},"AccountPropertySection",n.biography,!1,!0))}),[],!1,null,null,null).exports,ia=r(98266),oa=r.n(ia);function sa(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}var la,ca=function(){var n,e=(n=regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("/profile/{userId}",{userId:r}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{paramId:e,visibility:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})),function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){sa(i,r,a,o,s,"next",n)}function s(n){sa(i,r,a,o,s,"throw",n)}o(void 0)}))});return function(n,t){return e.apply(this,arguments)}}();function ua(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var da=Object.freeze({SHOW:"show",SHOW_USERS_ONLY:"show_users_only",HIDE:"hide"}),pa=Object.freeze((ua(la={},da.SHOW,{name:da.SHOW,label:t("settings","Show to everyone")}),ua(la,da.SHOW_USERS_ONLY,{name:da.SHOW_USERS_ONLY,label:t("settings","Show to logged in users only")}),ua(la,da.HIDE,{name:da.HIDE,label:t("settings","Hide")}),la));function Aa(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function fa(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Aa(i,r,a,o,s,"next",n)}function s(n){Aa(i,r,a,o,s,"throw",n)}o(void 0)}))}}var ma=(0,o.loadState)("settings","personalInfoParameters",!1).profileEnabled,va={name:"VisibilityDropdown",components:{NcMultiselect:oa()},props:{paramId:{type:String,required:!0},displayId:{type:String,required:!0},visibility:{type:String,required:!0}},data:function(){return{initialVisibility:this.visibility,profileEnabled:ma}},computed:{disabled:function(){return!this.profileEnabled},inputId:function(){return"profile-visibility-".concat(this.paramId)},visibilityObject:function(){return pa[this.visibility]},visibilityOptions:function(){return Object.values(pa)}},mounted:function(){(0,d.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},beforeDestroy:function(){(0,d.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{onVisibilityChange:function(n){var e=this;return fa(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null===n){t.next=6;break}if(r=n.name,e.$emit("update:visibility",r),""===r){t.next=6;break}return t.next=6,e.updateVisibility(r);case 6:case"end":return t.stop()}}),t)})))()},updateVisibility:function(n){var e=this;return fa(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ca(e.paramId,n);case 3:o=r.sent,e.handleResponse({visibility:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update visibility of {displayId}",{displayId:e.displayId}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=n.visibility,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialVisibility=e:((0,u.showError)(r),mn.error(r,a))},handleProfileEnabledUpdate:function(n){this.profileEnabled=n}}},ga=va,ha=r(14930),ba={};ba.styleTagTransform=T(),ba.setAttributes=R(),ba.insert=k().bind(null,"head"),ba.domAPI=S(),ba.insertStyleElement=B(),_()(ha.Z,ba),ha.Z&&ha.Z.locals&&ha.Z.locals;var ya=(0,$.Z)(ga,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"visibility-container",class:{disabled:n.disabled}},[t("label",{attrs:{for:n.inputId}},[n._v("\n\t\t"+n._s(n.t("settings","{displayId}",{displayId:n.displayId}))+"\n\t")]),n._v(" "),t("NcMultiselect",{staticClass:"visibility-container__multiselect",attrs:{id:n.inputId,options:n.visibilityOptions,"track-by":"name",label:"label",value:n.visibilityObject},on:{change:n.onVisibilityChange}})],1)}),[],!1,null,"3cddb756",null).exports;function Ca(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var xa=(0,o.loadState)("settings","profileParameters",{}).profileConfig,wa=(0,o.loadState)("settings","personalInfoParameters",!1).profileEnabled,Ea=function(n,e){return n.appId===e.appId||"core"!==n.appId&&"core"!==e.appId?n.displayId.localeCompare(e.displayId):"core"===n.appId?1:-1},Oa={name:"ProfileVisibilitySection",components:{HeaderBar:jn,VisibilityDropdown:ya},data:function(){return{heading:Q.PROFILE_VISIBILITY,profileEnabled:wa,visibilityParams:Object.entries(xa).map((function(n){var e,t,r=(t=2,function(n){if(Array.isArray(n))return n}(e=n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,a,i=[],o=!0,s=!1;try{for(t=t.call(n);!(o=(r=t.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(n){s=!0,a=n}finally{try{o||null==t.return||t.return()}finally{if(s)throw a}}return i}}(e,t)||function(n,e){if(n){if("string"==typeof n)return Ca(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Ca(n,e):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0],i=r[1];return{id:a,appId:i.appId,displayId:i.displayId,visibility:i.visibility}})).sort(Ea),marginLeft:window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("personal-settings-avatar-container")).getPropertyValue("width").trim():"0px"}},computed:{disabled:function(){return!this.profileEnabled},rows:function(){return Math.ceil(this.visibilityParams.length/2)}},mounted:function(){var n=this;(0,d.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),window.onresize=function(){n.marginLeft=window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("personal-settings-avatar-container")).getPropertyValue("width").trim():"0px"}},beforeDestroy:function(){(0,d.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{handleProfileEnabledUpdate:function(n){this.profileEnabled=n}}},Pa=Oa,_a=r(38409),ja={};ja.styleTagTransform=T(),ja.setAttributes=R(),ja.insert=k().bind(null,"head"),ja.domAPI=S(),ja.insertStyleElement=B(),_()(_a.Z,ja),_a.Z&&_a.Z.locals&&_a.Z.locals;var Sa=(0,$.Z)(Pa,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",{style:{marginLeft:n.marginLeft},attrs:{id:"profile-visibility"}},[t("HeaderBar",{attrs:{readable:n.heading}}),n._v(" "),t("em",{class:{disabled:n.disabled}},[n._v("\n\t\t"+n._s(n.t("settings",'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to "Show to everyone" and scope is set to "Private", "Private" is respected.'))+"\n\t")]),n._v(" "),t("div",{staticClass:"visibility-dropdowns",style:{gridTemplateRows:"repeat("+n.rows+", 44px)"}},n._l(n.visibilityParams,(function(e){return t("VisibilityDropdown",{key:e.id,attrs:{"param-id":e.id,"display-id":e.displayId,visibility:e.visibility},on:{"update:visibility":function(t){return n.$set(e,"visibility",t)}}})})),1)],1)}),[],!1,null,"0d3fd040",null).exports;r.nc=btoa((0,i.getRequestToken)());var Ia=(0,o.loadState)("settings","profileEnabledGlobally",!0);a.ZP.mixin({methods:{t:s.translate}});var ka=a.ZP.extend(Vn),La=a.ZP.extend(te),Ra=a.ZP.extend(ye),Da=a.ZP.extend(Je),Ba=a.ZP.extend(it),Na=a.ZP.extend(dt),Ta=a.ZP.extend(gt),Za=a.ZP.extend(wt),Ua=a.ZP.extend(Vt),Ma=a.ZP.extend(cr);if((new ka).$mount("#vue-avatar-section"),(new La).$mount("#vue-details-section"),(new Ra).$mount("#vue-displayname-section"),(new Da).$mount("#vue-email-section"),(new Ba).$mount("#vue-phone-section"),(new Na).$mount("#vue-location-section"),(new Ta).$mount("#vue-website-section"),(new Za).$mount("#vue-twitter-section"),(new Ua).$mount("#vue-language-section"),(new Ma).$mount("#vue-locale-section"),Ia){var Fa=a.ZP.extend(Dr),Va=a.ZP.extend(Mr),za=a.ZP.extend(Hr),$a=a.ZP.extend(Jr),qa=a.ZP.extend(aa),Ha=a.ZP.extend(Sa);(new Fa).$mount("#vue-profile-section"),(new Va).$mount("#vue-organisation-section"),(new za).$mount("#vue-role-section"),(new $a).$mount("#vue-headline-section"),(new qa).$mount("#vue-biography-section"),(new Ha).$mount("#vue-profile-visibility-section")}},41300:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".avatar__container[data-v-17216d6a]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:300px}.avatar__container span[data-v-17216d6a]{color:var(--color-text-lighter)}.avatar__preview[data-v-17216d6a]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-17216d6a]{display:flex;gap:0 10px}.avatar__cropper[data-v-17216d6a]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-17216d6a]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-17216d6a] .cropper-view-box{border-radius:50%}input[type=file][data-v-17216d6a]{display:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue"],names:[],mappings:"AA6RC,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: 300px;\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type="file"] {\n\tdisplay: none;\n}\n'],sourceRoot:""}]),e.Z=o},75849:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".details[data-v-546e7ece]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-546e7ece],.details__quota[data-v-546e7ece]{display:flex;gap:0 10px}.details__groups-info[data-v-546e7ece],.details__quota-info[data-v-546e7ece]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-546e7ece],.details__quota-list[data-v-546e7ece]{font-weight:bold}.details__groups[data-v-546e7ece] .material-design-icon,.details__quota[data-v-546e7ece] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue"],names:[],mappings:"AA8FA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},34650:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".email[data-v-ad393090]{display:grid;align-items:center}.email input[data-v-ad393090]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-ad393090]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-ad393090]{opacity:.4 !important}.email .email__actions-container .email__actions[data-v-ad393090]:hover,.email .email__actions-container .email__actions[data-v-ad393090]:focus,.email .email__actions-container .email__actions[data-v-ad393090]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-ad393090] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.fade-enter[data-v-ad393090],.fade-leave-to[data-v-ad393090]{opacity:0}.fade-enter-active[data-v-ad393090]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-ad393090]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue"],names:[],mappings:"AAwWA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAEA,kEACC,qBAAA,CAEA,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAMJ,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\topacity: 0.4 !important;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n"],sourceRoot:""}]),e.Z=o},38793:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-3b8501a7]{padding:10px 10px}section[data-v-3b8501a7] button:disabled{cursor:default}section .additional-emails-label[data-v-3b8501a7]{display:block;margin-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue"],names:[],mappings:"AAyMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},79818:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".language[data-v-6e196b5c]{display:grid}.language select[data-v-6e196b5c]{width:100%}.language a[data-v-6e196b5c]{color:var(--color-main-text);text-decoration:none;width:max-content}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue"],names:[],mappings:"AAoJA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},14703:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue"],names:[],mappings:"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},59808:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".locale[data-v-545055d8]{display:grid}.locale select[data-v-545055d8]{width:100%}.example[data-v-545055d8]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-545055d8] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue"],names:[],mappings:"AAkLA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},78172:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue"],names:[],mappings:"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},61434:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AA0DA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},77467:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"a[data-v-1950be88]{display:block;height:44px;width:290px;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);opacity:.4;background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-1950be88]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-1950be88]:hover,a[data-v-1950be88]:focus,a[data-v-1950be88]:active{opacity:.8;background-color:rgba(127,127,127,.25)}a.disabled[data-v-1950be88]{pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AAoEA,mBACC,aAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,UAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,UAAA,CACA,sCAAA,CAGD,4BACC,mBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: 290px;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\topacity: 0.4;\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8;\n\t\tbackground-color: rgba(127, 127, 127, .25);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},83467:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".preview-card[data-v-60a53e27]{display:flex;flex-direction:column;position:relative;width:290px;height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:hover,.preview-card[data-v-60a53e27]:focus,.preview-card[data-v-60a53e27]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-60a53e27]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-60a53e27],.preview-card.disabled[data-v-60a53e27] *{cursor:default}.preview-card__avatar[data-v-60a53e27]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-60a53e27]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-60a53e27],.preview-card__footer[data-v-60a53e27]{position:relative;width:auto}.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-60a53e27]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-60a53e27]{bottom:0;color:var(--color-primary-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-60a53e27]{height:46px}.preview-card__footer span[data-v-60a53e27]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue"],names:[],mappings:"AA6FA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,oBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,qCAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,+BAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: 290px;\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tword-break: break-all;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},67964:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue"],names:[],mappings:"AAkGA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},38409:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-0d3fd040]{padding:30px;max-width:100vw}section em[data-v-0d3fd040]{display:block;margin:16px 0}section em.disabled[data-v-0d3fd040]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-0d3fd040],section em.disabled[data-v-0d3fd040] *{cursor:default;pointer-events:none}section .visibility-dropdowns[data-v-0d3fd040]{display:grid;gap:10px 40px}@media(min-width: 1200px){section[data-v-0d3fd040]{width:940px}section .visibility-dropdowns[data-v-0d3fd040]{grid-auto-flow:column}}@media(max-width: 1200px){section[data-v-0d3fd040]{width:470px}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue"],names:[],mappings:"AAyHA,yBACC,YAAA,CACA,eAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA,CAKH,+CACC,YAAA,CACA,aAAA,CAGD,0BA3BD,yBA4BE,WAAA,CAEA,+CACC,qBAAA,CAAA,CAIF,0BAnCD,yBAoCE,WAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 30px;\n\tmax-width: 100vw;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t.visibility-dropdowns {\n\t\tdisplay: grid;\n\t\tgap: 10px 40px;\n\t}\n\n\t@media (min-width: 1200px) {\n\t\twidth: 940px;\n\n\t\t.visibility-dropdowns {\n\t\t\tgrid-auto-flow: column;\n\t\t}\n\t}\n\n\t@media (max-width: 1200px) {\n\t\twidth: 470px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},14930:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".visibility-container[data-v-3cddb756]{display:flex;width:max-content}.visibility-container.disabled[data-v-3cddb756]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-3cddb756],.visibility-container.disabled[data-v-3cddb756] *{cursor:default;pointer-events:none}.visibility-container label[data-v-3cddb756]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__multiselect[data-v-3cddb756]{width:260px;max-width:40vw}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue"],names:[],mappings:"AAwJA,uCACC,YAAA,CACA,iBAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,oDACC,WAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.visibility-container {\n\tdisplay: flex;\n\twidth: max-content;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__multiselect {\n\t\twidth: 260px;\n\t\tmax-width: 40vw;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},71593:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-7c2c5fa4]{padding:10px 10px}section[data-v-7c2c5fa4] button:disabled{cursor:default}section .property[data-v-7c2c5fa4]{display:grid;align-items:center}section .property textarea[data-v-7c2c5fa4]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-7c2c5fa4]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-7c2c5fa4]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .fade-enter[data-v-7c2c5fa4],section .fade-leave-to[data-v-7c2c5fa4]{opacity:0}section .fade-enter-active[data-v-7c2c5fa4]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-7c2c5fa4]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue"],names:[],mappings:"AAgMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},77198:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".federation-actions[data-v-4c6905d9],.federation-actions--additional[data-v-4c6905d9]{opacity:.4 !important}.federation-actions[data-v-4c6905d9]:hover,.federation-actions[data-v-4c6905d9]:focus,.federation-actions[data-v-4c6905d9]:active,.federation-actions--additional[data-v-4c6905d9]:hover,.federation-actions--additional[data-v-4c6905d9]:focus,.federation-actions--additional[data-v-4c6905d9]:active{opacity:.8 !important}.federation-actions--additional[data-v-4c6905d9] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue"],names:[],mappings:"AA6LA,sFAEC,qBAAA,CAEA,wSAGC,qBAAA,CAKD,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.federation-actions,\n.federation-actions--additional {\n\topacity: 0.4 !important;\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8 !important;\n\t}\n}\n\n.federation-actions--additional {\n\t&::v-deep button {\n\t\t// TODO remove this hack\n\t\tpadding-bottom: 7px;\n\t\theight: 30px !important;\n\t\tmin-height: 30px !important;\n\t\twidth: 30px !important;\n\t\tmin-width: 30px !important;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},43058:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".federation-actions__btn[data-v-1249785e] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-1249785e]{background-color:var(--color-primary-light) !important;box-shadow:inset 2px 0 var(--color-primary) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue"],names:[],mappings:"AA0FC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,sDAAA,CACA,sDAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary) !important;\n}\n"],sourceRoot:""}]),e.Z=o},58728:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"h3[data-v-8094b2e6]{display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}h3.profile-property[data-v-8094b2e6]{height:38px}h3.setting-property[data-v-8094b2e6]{height:44px}h3 label[data-v-8094b2e6]{cursor:pointer}.federation-control[data-v-8094b2e6]{margin:0}.button-vue[data-v-8094b2e6]{margin:0 0 0 auto !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue"],names:[],mappings:"AA8HA,oBACC,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,qCACC,WAAA,CAGD,qCACC,WAAA,CAGD,0BACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nh3 {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\tmargin: 12px 0 0 0;\n\tgap: 8px;\n\talign-items: center;\n\tfont-size: 16px;\n\tcolor: var(--color-text-light);\n\n\t&.profile-property {\n\t\theight: 38px;\n\t}\n\n\t&.setting-property {\n\t\theight: 44px;\n\t}\n\n\tlabel {\n\t\tcursor: pointer;\n\t}\n}\n\n.federation-control {\n\tmargin: 0;\n}\n\n.button-vue {\n\tmargin: 0 0 0 auto !important;\n}\n"],sourceRoot:""}]),e.Z=o},8738:function(n){"use strict";n.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC"}},r={};function a(n){var t=r[n];if(void 0!==t)return t.exports;var i=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.m=e,a.amdD=function(){throw new Error("define cannot be used indirect")},a.amdO={},n=[],a.O=function(e,t,r,i){if(!t){var o=1/0;for(u=0;u<n.length;u++){t=n[u][0],r=n[u][1],i=n[u][2];for(var s=!0,l=0;l<t.length;l++)(!1&i||o>=i)&&Object.keys(a.O).every((function(n){return a.O[n](t[l])}))?t.splice(l--,1):(s=!1,i<o&&(o=i));if(s){n.splice(u--,1);var c=r();void 0!==c&&(e=c)}}return e}i=i||0;for(var u=n.length;u>0&&n[u-1][2]>i;u--)n[u]=n[u-1];n[u]=[t,r,i]},a.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return a.d(e,{a:e}),e},a.d=function(n,e){for(var t in e)a.o(e,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),a.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},a.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},a.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},a.j=4418,function(){a.b=document.baseURI||self.location.href;var n={4418:0};a.O.j=function(e){return 0===n[e]};var e=function(e,t){var r,i,o=t[0],s=t[1],l=t[2],c=0;if(o.some((function(e){return 0!==n[e]}))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(l)var u=l(a)}for(e&&e(t);c<o.length;c++)i=o[c],a.o(n,i)&&n[i]&&n[i][0](),n[i]=0;return a.O(u)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))}(),a.nc=void 0;var i=a.O(void 0,[7874],(function(){return a(56175)}));i=a.O(i)}(); -//# sourceMappingURL=settings-vue-settings-personal-info.js.map?v=fa9611c13168bae120fd
\ No newline at end of file +!function(){var n,e={93365:function(n,e,t){var r={"./af":36026,"./af.js":36026,"./ar":28093,"./ar-dz":41943,"./ar-dz.js":41943,"./ar-kw":23969,"./ar-kw.js":23969,"./ar-ly":40594,"./ar-ly.js":40594,"./ar-ma":18369,"./ar-ma.js":18369,"./ar-sa":32579,"./ar-sa.js":32579,"./ar-tn":76442,"./ar-tn.js":76442,"./ar.js":28093,"./az":86425,"./az.js":86425,"./be":22004,"./be.js":22004,"./bg":42982,"./bg.js":42982,"./bm":21067,"./bm.js":21067,"./bn":8366,"./bn-bd":63837,"./bn-bd.js":63837,"./bn.js":8366,"./bo":95040,"./bo.js":95040,"./br":521,"./br.js":521,"./bs":83242,"./bs.js":83242,"./ca":73046,"./ca.js":73046,"./cs":25794,"./cs.js":25794,"./cv":28231,"./cv.js":28231,"./cy":10927,"./cy.js":10927,"./da":42832,"./da.js":42832,"./de":29415,"./de-at":3331,"./de-at.js":3331,"./de-ch":45524,"./de-ch.js":45524,"./de.js":29415,"./dv":44700,"./dv.js":44700,"./el":88752,"./el.js":88752,"./en-au":90444,"./en-au.js":90444,"./en-ca":65959,"./en-ca.js":65959,"./en-gb":62762,"./en-gb.js":62762,"./en-ie":40909,"./en-ie.js":40909,"./en-il":79909,"./en-il.js":79909,"./en-in":87942,"./en-in.js":87942,"./en-nz":75200,"./en-nz.js":75200,"./en-sg":21415,"./en-sg.js":21415,"./eo":27447,"./eo.js":27447,"./es":86756,"./es-do":47049,"./es-do.js":47049,"./es-mx":15915,"./es-mx.js":15915,"./es-us":57133,"./es-us.js":57133,"./es.js":86756,"./et":72182,"./et.js":72182,"./eu":14419,"./eu.js":14419,"./fa":2916,"./fa.js":2916,"./fi":49964,"./fi.js":49964,"./fil":16448,"./fil.js":16448,"./fo":26094,"./fo.js":26094,"./fr":35833,"./fr-ca":56994,"./fr-ca.js":56994,"./fr-ch":2740,"./fr-ch.js":2740,"./fr.js":35833,"./fy":69542,"./fy.js":69542,"./ga":93264,"./ga.js":93264,"./gd":77457,"./gd.js":77457,"./gl":83043,"./gl.js":83043,"./gom-deva":24034,"./gom-deva.js":24034,"./gom-latn":28379,"./gom-latn.js":28379,"./gu":406,"./gu.js":406,"./he":73219,"./he.js":73219,"./hi":99834,"./hi.js":99834,"./hr":28754,"./hr.js":28754,"./hu":93945,"./hu.js":93945,"./hy-am":81319,"./hy-am.js":81319,"./id":24875,"./id.js":24875,"./is":23724,"./is.js":23724,"./it":79906,"./it-ch":34303,"./it-ch.js":34303,"./it.js":79906,"./ja":77105,"./ja.js":77105,"./jv":15026,"./jv.js":15026,"./ka":67416,"./ka.js":67416,"./kk":79734,"./kk.js":79734,"./km":60757,"./km.js":60757,"./kn":58369,"./kn.js":58369,"./ko":77687,"./ko.js":77687,"./ku":95544,"./ku.js":95544,"./ky":85431,"./ky.js":85431,"./lb":13613,"./lb.js":13613,"./lo":34252,"./lo.js":34252,"./lt":84619,"./lt.js":84619,"./lv":93760,"./lv.js":93760,"./me":93393,"./me.js":93393,"./mi":12369,"./mi.js":12369,"./mk":48664,"./mk.js":48664,"./ml":23099,"./ml.js":23099,"./mn":98539,"./mn.js":98539,"./mr":778,"./mr.js":778,"./ms":39970,"./ms-my":82625,"./ms-my.js":82625,"./ms.js":39970,"./mt":15714,"./mt.js":15714,"./my":53055,"./my.js":53055,"./nb":73945,"./nb.js":73945,"./ne":63645,"./ne.js":63645,"./nl":4829,"./nl-be":12823,"./nl-be.js":12823,"./nl.js":4829,"./nn":23756,"./nn.js":23756,"./oc-lnc":41228,"./oc-lnc.js":41228,"./pa-in":97877,"./pa-in.js":97877,"./pl":53066,"./pl.js":53066,"./pt":28677,"./pt-br":81592,"./pt-br.js":81592,"./pt.js":28677,"./ro":32722,"./ro.js":32722,"./ru":59138,"./ru.js":59138,"./sd":32568,"./sd.js":32568,"./se":49753,"./se.js":49753,"./si":58024,"./si.js":58024,"./sk":31058,"./sk.js":31058,"./sl":43452,"./sl.js":43452,"./sq":2795,"./sq.js":2795,"./sr":26976,"./sr-cyrl":38819,"./sr-cyrl.js":38819,"./sr.js":26976,"./ss":7467,"./ss.js":7467,"./sv":42787,"./sv.js":42787,"./sw":80298,"./sw.js":80298,"./ta":57532,"./ta.js":57532,"./te":76076,"./te.js":76076,"./tet":40452,"./tet.js":40452,"./tg":64794,"./tg.js":64794,"./th":48245,"./th.js":48245,"./tk":8870,"./tk.js":8870,"./tl-ph":36056,"./tl-ph.js":36056,"./tlh":15249,"./tlh.js":15249,"./tr":22053,"./tr.js":22053,"./tzl":39871,"./tzl.js":39871,"./tzm":39574,"./tzm-latn":19210,"./tzm-latn.js":19210,"./tzm.js":39574,"./ug-cn":91532,"./ug-cn.js":91532,"./uk":11432,"./uk.js":11432,"./ur":88523,"./ur.js":88523,"./uz":54958,"./uz-latn":68735,"./uz-latn.js":68735,"./uz.js":54958,"./vi":83398,"./vi.js":83398,"./x-pseudo":56665,"./x-pseudo.js":56665,"./yo":11642,"./yo.js":11642,"./zh-cn":5462,"./zh-cn.js":5462,"./zh-hk":92530,"./zh-hk.js":92530,"./zh-mo":41650,"./zh-mo.js":41650,"./zh-tw":97333,"./zh-tw.js":97333};function a(n){var e=i(n);return t(e)}function i(n){if(!t.o(r,n)){var e=new Error("Cannot find module '"+n+"'");throw e.code="MODULE_NOT_FOUND",e}return r[n]}a.keys=function(){return Object.keys(r)},a.resolve=i,n.exports=a,a.id=93365},923:function(n,e,r){"use strict";var a=r(20144),i=r(22200),o=r(16453),s=r(9944),l=(r(73317),r(4820)),c=r(79753),u=r(26932),d=r(74854),p=r(75925),A=r.n(p),f=r(10861),m=r.n(f),v=r(17652),g=(r(74063),r(75843)),h=r(74092),b=r(33691),y=r(40502),C=r(12945),x=r.n(C),w=r(45400),E=r.n(w),O={name:"FederationControlAction",components:{NcActionButton:E()},props:{activeScope:{type:String,required:!0},displayName:{type:String,required:!0},handleScopeChange:{type:Function,default:function(){}},iconClass:{type:String,required:!0},isSupportedScope:{type:Boolean,required:!0},name:{type:String,required:!0},tooltipDisabled:{type:String,default:""},tooltip:{type:String,required:!0}},methods:{updateScope:function(){this.handleScopeChange(this.name)}}},P=r(93379),_=r.n(P),j=r(7795),S=r.n(j),I=r(90569),k=r.n(I),L=r(3565),R=r.n(L),D=r(19216),B=r.n(D),N=r(44589),T=r.n(N),Z=r(43058),U={};U.styleTagTransform=T(),U.setAttributes=R(),U.insert=k().bind(null,"head"),U.domAPI=S(),U.insertStyleElement=B(),_()(Z.Z,U),Z.Z&&Z.Z.locals&&Z.Z.locals;var M,F,V,z,$=r(51900),q=(0,$.Z)(O,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("NcActionButton",{staticClass:"federation-actions__btn",class:{"federation-actions__btn--active":n.activeScope===n.name},attrs:{"aria-label":n.isSupportedScope?n.tooltip:n.tooltipDisabled,"close-after-click":!0,disabled:!n.isSupportedScope,icon:n.iconClass,title:n.displayName},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.updateScope.apply(null,arguments)}}},[n._v("\n\t"+n._s(n.isSupportedScope?n.tooltip:n.tooltipDisabled)+"\n")])}),[],!1,null,"1249785e",null),H=q.exports;function G(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Y=Object.freeze({ADDRESS:"address",AVATAR:"avatar",BIOGRAPHY:"biography",DISPLAYNAME:"displayname",EMAIL_COLLECTION:"additional_mail",EMAIL:"email",HEADLINE:"headline",NOTIFICATION_EMAIL:"notify_email",ORGANISATION:"organisation",PHONE:"phone",PROFILE_ENABLED:"profile_enabled",ROLE:"role",TWITTER:"twitter",WEBSITE:"website"}),W=Object.freeze({ADDRESS:(0,s.translate)("settings","Location"),AVATAR:(0,s.translate)("settings","Profile picture"),BIOGRAPHY:(0,s.translate)("settings","About"),DISPLAYNAME:(0,s.translate)("settings","Full name"),EMAIL_COLLECTION:(0,s.translate)("settings","Additional email"),EMAIL:(0,s.translate)("settings","Email"),HEADLINE:(0,s.translate)("settings","Headline"),ORGANISATION:(0,s.translate)("settings","Organisation"),PHONE:(0,s.translate)("settings","Phone number"),PROFILE_ENABLED:(0,s.translate)("settings","Profile"),ROLE:(0,s.translate)("settings","Role"),TWITTER:(0,s.translate)("settings","Twitter"),WEBSITE:(0,s.translate)("settings","Website")}),K=Object.freeze((G(M={},Y.ADDRESS,W.ADDRESS),G(M,Y.AVATAR,W.AVATAR),G(M,Y.BIOGRAPHY,W.BIOGRAPHY),G(M,Y.DISPLAYNAME,W.DISPLAYNAME),G(M,Y.EMAIL_COLLECTION,W.EMAIL_COLLECTION),G(M,Y.EMAIL,W.EMAIL),G(M,Y.HEADLINE,W.HEADLINE),G(M,Y.ORGANISATION,W.ORGANISATION),G(M,Y.PHONE,W.PHONE),G(M,Y.PROFILE_ENABLED,W.PROFILE_ENABLED),G(M,Y.ROLE,W.ROLE),G(M,Y.TWITTER,W.TWITTER),G(M,Y.WEBSITE,W.WEBSITE),M)),Q=Object.freeze({PROFILE_VISIBILITY:(0,s.translate)("settings","Profile visibility")}),J=Object.freeze((G(F={},W.ADDRESS,Y.ADDRESS),G(F,W.AVATAR,Y.AVATAR),G(F,W.BIOGRAPHY,Y.BIOGRAPHY),G(F,W.DISPLAYNAME,Y.DISPLAYNAME),G(F,W.EMAIL_COLLECTION,Y.EMAIL_COLLECTION),G(F,W.EMAIL,Y.EMAIL),G(F,W.HEADLINE,Y.HEADLINE),G(F,W.ORGANISATION,Y.ORGANISATION),G(F,W.PHONE,Y.PHONE),G(F,W.PROFILE_ENABLED,Y.PROFILE_ENABLED),G(F,W.ROLE,Y.ROLE),G(F,W.TWITTER,Y.TWITTER),G(F,W.WEBSITE,Y.WEBSITE),F)),X=Object.freeze({LANGUAGE:"language",LOCALE:"locale"}),nn=Object.freeze({LANGUAGE:(0,s.translate)("settings","Language"),LOCALE:(0,s.translate)("settings","Locale")}),en=Object.freeze({PRIVATE:"v2-private",LOCAL:"v2-local",FEDERATED:"v2-federated",PUBLISHED:"v2-published"}),tn=Object.freeze((G(V={},W.ADDRESS,[en.LOCAL,en.PRIVATE]),G(V,W.AVATAR,[en.LOCAL,en.PRIVATE]),G(V,W.BIOGRAPHY,[en.LOCAL,en.PRIVATE]),G(V,W.DISPLAYNAME,[en.LOCAL]),G(V,W.EMAIL_COLLECTION,[en.LOCAL]),G(V,W.EMAIL,[en.LOCAL]),G(V,W.HEADLINE,[en.LOCAL,en.PRIVATE]),G(V,W.ORGANISATION,[en.LOCAL,en.PRIVATE]),G(V,W.PHONE,[en.LOCAL,en.PRIVATE]),G(V,W.PROFILE_ENABLED,[en.LOCAL,en.PRIVATE]),G(V,W.ROLE,[en.LOCAL,en.PRIVATE]),G(V,W.TWITTER,[en.LOCAL,en.PRIVATE]),G(V,W.WEBSITE,[en.LOCAL,en.PRIVATE]),V)),rn=Object.freeze([W.BIOGRAPHY,W.HEADLINE,W.ORGANISATION,W.ROLE]),an="Scope",on=Object.freeze((G(z={},en.PRIVATE,{name:en.PRIVATE,displayName:(0,s.translate)("settings","Private"),tooltip:(0,s.translate)("settings","Only visible to people matched via phone number integration through Talk on mobile"),tooltipDisabled:(0,s.translate)("settings","Not available as this property is required for core functionality including file sharing and calendar invitations"),iconClass:"icon-phone"}),G(z,en.LOCAL,{name:en.LOCAL,displayName:(0,s.translate)("settings","Local"),tooltip:(0,s.translate)("settings","Only visible to people on this instance and guests"),iconClass:"icon-password"}),G(z,en.FEDERATED,{name:en.FEDERATED,displayName:(0,s.translate)("settings","Federated"),tooltip:(0,s.translate)("settings","Only synchronize to trusted servers"),tooltipDisabled:(0,s.translate)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-contacts-dark"}),G(z,en.PUBLISHED,{name:en.PUBLISHED,displayName:(0,s.translate)("settings","Published"),tooltip:(0,s.translate)("settings","Synchronize to trusted servers and the global and public address book"),tooltipDisabled:(0,s.translate)("settings","Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions"),iconClass:"icon-link"}),z)),sn=en.LOCAL,ln=Object.freeze({NOT_VERIFIED:0,VERIFICATION_IN_PROGRESS:1,VERIFIED:2}),cn=/^(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i,un=r(10128);function dn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function pn(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){dn(i,r,a,o,s,"next",n)}function s(n){dn(i,r,a,o,s,"throw",n)}o(void 0)}))}}r(65509);var An=function(){var n=pn(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return"boolean"==typeof t&&(t=t?"1":"0"),r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),n.next=5,(0,un.confirmPassword)();case 5:return n.next=7,l.default.put(a,{key:e,value:t});case 7:return o=n.sent,n.abrupt("return",o.data);case 9:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),fn=function(){var n=pn(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:r}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:"".concat(e).concat(an),value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),mn=(0,r(17499).IY)().setApp("settings").detectUser().build();function vn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function gn(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){vn(i,r,a,o,s,"next",n)}function s(n){vn(i,r,a,o,s,"throw",n)}o(void 0)}))}}function hn(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var bn=(0,o.loadState)("settings","accountParameters",{}).lookupServerUploadEnabled,yn={name:"FederationControl",components:{NcActions:x(),FederationControlAction:H},props:{readable:{type:String,required:!0,validator:function(n){return Object.values(W).includes(n)||Object.values(nn).includes(n)||n===Q.PROFILE_VISIBILITY}},additional:{type:Boolean,default:!1},additionalValue:{type:String,default:""},disabled:{type:Boolean,default:!1},handleAdditionalScopeChange:{type:Function,default:null},scope:{type:String,required:!0}},data:function(){return{readableLowerCase:this.readable.toLocaleLowerCase(),initialScope:this.scope}},computed:{ariaLabel:function(){return t("settings","Change scope level of {property}, current scope is {scope}",{property:this.readableLowerCase,scope:this.scopeDisplayNameLowerCase})},scopeDisplayNameLowerCase:function(){return on[this.scope].displayName.toLocaleLowerCase()},scopeIcon:function(){return on[this.scope].iconClass},federationScopes:function(){return Object.values(on)},supportedScopes:function(){return bn&&!rn.includes(this.readable)?[].concat(function(n){if(Array.isArray(n))return hn(n)}(n=tn[this.readable])||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return hn(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?hn(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),[en.FEDERATED,en.PUBLISHED]):tn[this.readable];var n}},methods:{changeScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.$emit("update:scope",n),e.additional){t.next=6;break}return t.next=4,e.updatePrimaryScope(n);case 4:t.next=8;break;case 6:return t.next=8,e.updateAdditionalScope(n);case 8:case"end":return t.stop()}}),t)})))()},updatePrimaryScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,fn(J[e.readable],n);case 3:o=r.sent,e.handleResponse({scope:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update federation scope of the primary {property}",{property:e.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},updateAdditionalScope:function(n){var e=this;return gn(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,e.handleAdditionalScopeChange(e.additionalValue,n);case 3:o=r.sent,e.handleResponse({scope:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update federation scope of additional {property}",{property:e.readableLowerCase}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=n.scope,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialScope=e:(this.$emit("update:scope",this.initialScope),(0,u.showError)(r),mn.error(r,a))}}},Cn=r(77198),xn={};xn.styleTagTransform=T(),xn.setAttributes=R(),xn.insert=k().bind(null,"head"),xn.domAPI=S(),xn.insertStyleElement=B(),_()(Cn.Z,xn),Cn.Z&&Cn.Z.locals&&Cn.Z.locals;var wn=(0,$.Z)(yn,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("NcActions",{class:{"federation-actions":!n.additional,"federation-actions--additional":n.additional},attrs:{"aria-label":n.ariaLabel,"default-icon":n.scopeIcon,disabled:n.disabled}},n._l(n.federationScopes,(function(e){return t("FederationControlAction",{key:e.name,attrs:{"active-scope":n.scope,"display-name":e.displayName,"handle-scope-change":n.changeScope,"icon-class":e.iconClass,"is-supported-scope":n.supportedScopes.includes(e.name),name:e.name,"tooltip-disabled":e.tooltipDisabled,tooltip:e.tooltip}})})),1)}),[],!1,null,"4c6905d9",null).exports,En={name:"HeaderBar",components:{FederationControl:wn,NcButton:m(),Plus:y.Z},props:{scope:{type:String,default:null},readable:{type:String,required:!0},inputId:{type:String,default:null},isEditable:{type:Boolean,default:!0},isMultiValueSupported:{type:Boolean,default:!1},isValidSection:{type:Boolean,default:!0}},data:function(){return{localScope:this.scope}},computed:{isProfileProperty:function(){return this.readable===W.PROFILE_ENABLED},isSettingProperty:function(){return!Object.values(W).includes(this.readable)&&!Object.values(Q).includes(this.readable)}},methods:{onAddAdditional:function(){this.$emit("add-additional")},onScopeChange:function(n){this.$emit("update:scope",n)}}},On=r(58728),Pn={};Pn.styleTagTransform=T(),Pn.setAttributes=R(),Pn.insert=k().bind(null,"head"),Pn.domAPI=S(),Pn.insertStyleElement=B(),_()(On.Z,Pn),On.Z&&On.Z.locals&&On.Z.locals;var _n=(0,$.Z)(En,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("h3",{class:{"setting-property":n.isSettingProperty,"profile-property":n.isProfileProperty}},[t("label",{attrs:{for:n.inputId}},[n._v("\n\t\t"+n._s(n.readable)+"\n\t")]),n._v(" "),n.scope?[t("FederationControl",{staticClass:"federation-control",attrs:{readable:n.readable,scope:n.localScope},on:{"update:scope":[function(e){n.localScope=e},n.onScopeChange]}})]:n._e(),n._v(" "),n.isEditable&&n.isMultiValueSupported?[t("NcButton",{attrs:{type:"tertiary",disabled:!n.isValidSection,"aria-label":n.t("settings","Add additional email")},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.onAddAdditional.apply(null,arguments)}},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Plus",{attrs:{size:20}})]},proxy:!0}],null,!1,32235154)},[n._v("\n\t\t\t"+n._s(n.t("settings","Add"))+"\n\t\t")])]:n._e()],2)}),[],!1,null,"8094b2e6",null),jn=_n.exports;function Sn(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function In(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Sn(i,r,a,o,s,"next",n)}function s(n){Sn(i,r,a,o,s,"throw",n)}o(void 0)}))}}function kn(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Ln(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?kn(Object(t),!0).forEach((function(e){Rn(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):kn(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Rn(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Dn=(0,o.loadState)("settings","personalInfoParameters",{}).avatar,Bn=(0,o.loadState)("settings","accountParameters",{}).avatarChangeSupported,Nn=["image/png","image/jpeg"],Tn=(0,u.getFilePickerBuilder)(t("settings","Choose your profile picture")).setMultiSelect(!1).setMimeTypeFilter(Nn).setModal(!0).setType(1).allowDirectories(!1).build(),Zn={name:"AvatarSection",components:{Delete:b.Z,Folder:h.default,HeaderBar:jn,NcAvatar:A(),NcButton:m(),Upload:g.Z,VueCropper:v.Z},data:function(){return{avatar:Ln(Ln({},Dn),{},{readable:K[Dn.name]}),avatarChangeSupported:Bn,showCropper:!1,loading:!1,userId:(0,i.getCurrentUser)().uid,displayName:(0,i.getCurrentUser)().displayName,version:oc_userconfig.avatar.version,isGenerated:oc_userconfig.avatar.generated,validMimeTypes:Nn,cropperOptions:{aspectRatio:1,viewMode:1,guides:!1,center:!1,highlight:!1,autoCropArea:1,minContainerWidth:300,minContainerHeight:300}}},created:function(){(0,d.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate)},beforeDestroy:function(){(0,d.r1)("settings:display-name:updated",this.handleDisplayNameUpdate)},computed:{inputId:function(){return"account-property-".concat(this.avatar.name)}},methods:{activateLocalFilePicker:function(){this.$refs.input.value=null,this.$refs.input.click()},onChange:function(n){var e=this;this.loading=!0;var r=n.target.files[0];if(!this.validMimeTypes.includes(r.type))return(0,u.showError)(t("settings","Please select a valid png or jpg file")),void this.cancel();var a=new FileReader;a.onload=function(n){e.$refs.cropper.replace(n.target.result),e.showCropper=!0},a.readAsDataURL(r)},openFilePicker:function(){var n=this;return In(regeneratorRuntime.mark((function e(){var r,a,i,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Tn.pick();case 2:return r=e.sent,n.loading=!0,e.prev=4,e.next=7,l.default.post((0,c.generateUrl)("/avatar"),{path:r});case 7:a=e.sent,"success"===(i=a.data).status?n.handleAvatarUpdate(!1):"notsquare"===i.data?(o=(0,c.generateUrl)("/avatar/tmp")+"?requesttoken="+encodeURIComponent(OC.requestToken)+"#"+Math.floor(1e3*Math.random()),n.$refs.cropper.replace(o),n.showCropper=!0):((0,u.showError)(i.data.message),n.cancel()),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(4),(0,u.showError)(t("settings","Error setting profile picture")),n.cancel();case 16:case"end":return e.stop()}}),e,null,[[4,12]])})))()},saveAvatar:function(){var n=this;this.showCropper=!1,this.loading=!0,this.$refs.cropper.getCroppedCanvas().toBlob(function(){var e=In(regeneratorRuntime.mark((function e(r){var a;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==r){e.next=4;break}return(0,u.showError)(t("settings","Error cropping profile picture")),n.cancel(),e.abrupt("return");case 4:return(a=new FormData).append("files[]",r),e.prev=6,e.next=9,l.default.post((0,c.generateUrl)("/avatar"),a);case 9:n.handleAvatarUpdate(!1),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(6),(0,u.showError)(t("settings","Error saving profile picture")),n.handleAvatarUpdate(n.isGenerated);case 16:case"end":return e.stop()}}),e,null,[[6,12]])})));return function(n){return e.apply(this,arguments)}}())},removeAvatar:function(){var n=this;return In(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.loading=!0,e.prev=1,e.next=4,l.default.delete((0,c.generateUrl)("/avatar"));case 4:n.handleAvatarUpdate(!0),e.next=11;break;case 7:e.prev=7,e.t0=e.catch(1),(0,u.showError)(t("settings","Error removing profile picture")),n.handleAvatarUpdate(n.isGenerated);case 11:case"end":return e.stop()}}),e,null,[[1,7]])})))()},cancel:function(){this.showCropper=!1,this.loading=!1},handleAvatarUpdate:function(n){this.version=oc_userconfig.avatar.version=Date.now(),this.isGenerated=oc_userconfig.avatar.generated=n,this.loading=!1,(0,d.j8)("settings:avatar:updated",oc_userconfig.avatar.version)},handleDisplayNameUpdate:function(){this.version=oc_userconfig.avatar.version}}},Un=Zn,Mn=r(71011),Fn={};Fn.styleTagTransform=T(),Fn.setAttributes=R(),Fn.insert=k().bind(null,"head"),Fn.domAPI=S(),Fn.insertStyleElement=B(),_()(Mn.Z,Fn),Mn.Z&&Mn.Z.locals&&Mn.Z.locals;var Vn=(0,$.Z)(Un,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.avatarChangeSupported?n.inputId:null,readable:n.avatar.readable,scope:n.avatar.scope},on:{"update:scope":function(e){return n.$set(n.avatar,"scope",e)}}}),n._v(" "),n.showCropper?n._e():t("div",{staticClass:"avatar__container"},[t("div",{staticClass:"avatar__preview"},[n.loading?t("div",{staticClass:"icon-loading"}):t("NcAvatar",{key:n.version,attrs:{user:n.userId,"aria-label":n.t("settings","Your profile picture"),"disabled-menu":!0,"disabled-tooltip":!0,"show-user-status":!1,size:180}})],1),n._v(" "),n.avatarChangeSupported?[t("div",{staticClass:"avatar__buttons"},[t("NcButton",{attrs:{"aria-label":n.t("settings","Upload profile picture")},on:{click:n.activateLocalFilePicker},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Upload",{attrs:{size:20}})]},proxy:!0}],null,!1,1329850251)}),n._v(" "),t("NcButton",{attrs:{"aria-label":n.t("settings","Choose profile picture from files")},on:{click:n.openFilePicker},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Folder",{attrs:{size:20}})]},proxy:!0}],null,!1,4270628382)}),n._v(" "),n.isGenerated?n._e():t("NcButton",{attrs:{"aria-label":n.t("settings","Remove profile picture")},on:{click:n.removeAvatar},scopedSlots:n._u([{key:"icon",fn:function(){return[t("Delete",{attrs:{size:20}})]},proxy:!0}],null,!1,2705356561)})],1),n._v(" "),t("span",[n._v(n._s(n.t("settings","png or jpg, max. 20 MB")))]),n._v(" "),t("input",{ref:"input",attrs:{id:n.inputId,type:"file",accept:n.validMimeTypes.join(",")},on:{change:n.onChange}})]:t("span",[n._v("\n\t\t\t"+n._s(n.t("settings","Picture provided by original account"))+"\n\t\t")])],2),n._v(" "),t("div",{directives:[{name:"show",rawName:"v-show",value:n.showCropper,expression:"showCropper"}],staticClass:"avatar__container"},[t("VueCropper",n._b({ref:"cropper",staticClass:"avatar__cropper"},"VueCropper",n.cropperOptions,!1)),n._v(" "),t("div",{staticClass:"avatar__cropper-buttons"},[t("NcButton",{on:{click:n.cancel}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Cancel"))+"\n\t\t\t")]),n._v(" "),t("NcButton",{attrs:{type:"primary"},on:{click:n.saveAvatar}},[n._v("\n\t\t\t\t"+n._s(n.t("settings","Set as profile picture"))+"\n\t\t\t")])],1),n._v(" "),t("span",[n._v(n._s(n.t("settings","Please note that it can take up to 24 hours for your profile picture to be updated everywhere.")))])],1)],1)}),[],!1,null,"56196c5c",null).exports,zn=r(48959),$n=r.n(zn),qn=r(1203),Hn=r(8599),Gn=(0,o.loadState)("settings","personalInfoParameters",{}),Yn=Gn.groups,Wn=Gn.quota,Kn=Gn.totalSpace,Qn=Gn.usage,Jn=Gn.usageRelative,Xn={name:"DetailsSection",components:{Account:qn.Z,CircleSlice:Hn.Z,HeaderBar:jn,NcProgressBar:$n()},computed:{quotaText:function(){return-3===Wn?t("settings","You are using <strong>{usage}</strong>",{usage:Qn}):t("settings","You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",{usage:Qn,totalSpace:Kn,usageRelative:Jn})}},data:function(){return{groups:Yn,usageRelative:Jn}}},ne=r(75849),ee={};ee.styleTagTransform=T(),ee.setAttributes=R(),ee.insert=k().bind(null,"head"),ee.domAPI=S(),ee.insertStyleElement=B(),_()(ne.Z,ee),ne.Z&&ne.Z.locals&&ne.Z.locals;var te=(0,$.Z)(Xn,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{readable:n.t("settings","Details")}}),n._v(" "),t("div",{staticClass:"details"},[t("div",{staticClass:"details__groups"},[t("Account",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"details__groups-info"},[t("p",[n._v(n._s(n.t("settings","You are a member of the following groups:")))]),n._v(" "),t("p",{staticClass:"details__groups-list"},[n._v(n._s(n.groups.join(", ")))])])],1),n._v(" "),t("div",{staticClass:"details__quota"},[t("CircleSlice",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"details__quota-info"},[t("p",{staticClass:"details__quota-text",domProps:{innerHTML:n._s(n.quotaText)}}),n._v(" "),t("NcProgressBar",{attrs:{size:"medium",value:n.usageRelative,error:n.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"546e7ece",null).exports,re=r(20296),ae=r.n(re),ie=r(14625),oe=r(89897);function se(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function le(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){se(i,r,a,o,s,"next",n)}function s(n){se(i,r,a,o,s,"throw",n)}o(void 0)}))}}var ce={name:"AccountPropertySection",components:{AlertOctagon:oe.Z,Check:ie.default,HeaderBar:jn},props:{name:{type:String,required:!0},value:{type:String,required:!0},scope:{type:String,required:!0},readable:{type:String,required:!0},placeholder:{type:String,required:!0},type:{type:String,default:"text"},isEditable:{type:Boolean,default:!0},multiLine:{type:Boolean,default:!1},onValidate:{type:Function,default:null},onSave:{type:Function,default:null}},data:function(){return{initialValue:this.value,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(n){this.$emit("update:value",n.target.value),this.debouncePropertyChange(n.target.value.trim())},debouncePropertyChange:ae()(function(){var n=le(regeneratorRuntime.mark((function n(e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!this.onValidate||this.onValidate(e)){n.next=2;break}return n.abrupt("return");case 2:return n.next=4,this.updateProperty(e);case 4:case"end":return n.stop()}}),n,this)})));return function(e){return n.apply(this,arguments)}}(),500),updateProperty:function(n){var e=this;return le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(e.name,n);case 3:o=r.sent,e.handleResponse({value:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:e.readable.toLocaleLowerCase()}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=this,t=n.value,r=n.status,a=n.errorMessage,i=n.error;"ok"===r?(this.initialValue=t,this.onSave&&this.onSave(t),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),(0,u.showError)(a),mn.error(a,i),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))}}},ue=ce,de=r(71593),pe={};pe.styleTagTransform=T(),pe.setAttributes=R(),pe.insert=k().bind(null,"head"),pe.domAPI=S(),pe.insertStyleElement=B(),_()(de.Z,pe),de.Z&&de.Z.locals&&de.Z.locals;var Ae=(0,$.Z)(ue,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{scope:n.scope,readable:n.readable,"input-id":n.inputId,"is-editable":n.isEditable},on:{"update:scope":function(e){n.scope=e},"update:readable":function(e){n.readable=e}}}),n._v(" "),n.isEditable?t("div",{staticClass:"property"},[n.multiLine?t("textarea",{attrs:{id:n.inputId,placeholder:n.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",autocorrect:"off"},domProps:{value:n.value},on:{input:n.onPropertyChange}}):t("input",{attrs:{id:n.inputId,placeholder:n.placeholder,type:n.type,autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:n.value},on:{input:n.onPropertyChange}}),n._v(" "),t("div",{staticClass:"property__actions-container"},[t("transition",{attrs:{name:"fade"}},[n.showCheckmarkIcon?t("Check",{attrs:{size:20}}):n.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):n._e()],1)],1)]):t("span",[n._v("\n\t\t"+n._s(n.value||n.t("settings","No {property} set",{property:n.readable.toLocaleLowerCase()}))+"\n\t")])],1)}),[],!1,null,"7c2c5fa4",null).exports;function fe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function me(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?fe(Object(t),!0).forEach((function(e){ve(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):fe(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ve(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ge=(0,o.loadState)("settings","personalInfoParameters",{}).displayName,he=(0,o.loadState)("settings","accountParameters",{}).displayNameChangeSupported,be={name:"DisplayNameSection",components:{AccountPropertySection:Ae},data:function(){return{displayName:me(me({},ge),{},{readable:K[ge.name]}),displayNameChangeSupported:he}},methods:{onValidate:function(n){return""!==n},onSave:function(n){oc_userconfig.avatar.generated&&(oc_userconfig.avatar.version=Date.now()),(0,d.j8)("settings:display-name:updated",n)}}},ye=(0,$.Z)(be,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your full name"),"is-editable":n.displayNameChangeSupported,"on-validate":n.onValidate,"on-save":n.onSave}},"AccountPropertySection",n.displayName,!1,!0))}),[],!1,null,null,null).exports;function Ce(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function xe(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Ce(i,r,a,o,s,"next",n)}function s(n){Ce(i,r,a,o,s,"throw",n)}o(void 0)}))}}var we=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.EMAIL,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Ee=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.EMAIL_COLLECTION,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Oe=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:Y.NOTIFICATION_EMAIL,value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Pe=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:t,collection:Y.EMAIL_COLLECTION}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:e,value:""});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),_e=function(){var n=xe(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}/{collection}",{userId:r,collection:Y.EMAIL_COLLECTION}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:e,value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}(),je=function(){var n=xe(regeneratorRuntime.mark((function n(e){var t,r,a;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:t}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(r,{key:"".concat(Y.EMAIL).concat(an),value:e});case 6:return a=n.sent,n.abrupt("return",a.data);case 8:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}(),Se=function(){var n=xe(regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("cloud/users/{userId}/{collectionScope}",{userId:r,collectionScope:"".concat(Y.EMAIL_COLLECTION).concat(an)}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{key:e,value:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})));return function(e,t){return n.apply(this,arguments)}}();function Ie(n){return"string"==typeof n&&cn.test(n)&&"\n"!==n.slice(-1)&&n.length<=320&&encodeURIComponent(n).replace(/%../g,"x").length<=320}function ke(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Le(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){ke(i,r,a,o,s,"next",n)}function s(n){ke(i,r,a,o,s,"throw",n)}o(void 0)}))}}var Re={name:"Email",components:{NcActions:x(),NcActionButton:E(),AlertOctagon:oe.Z,Check:ie.default,FederationControl:wn},props:{email:{type:String,required:!0},index:{type:Number,default:0},primary:{type:Boolean,default:!1},scope:{type:String,required:!0},activeNotificationEmail:{type:String,default:""},localVerificationState:{type:Number,default:ln.NOT_VERIFIED}},data:function(){return{propertyReadable:W.EMAIL,initialEmail:this.email,localScope:this.scope,saveAdditionalEmailScope:Se,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{deleteDisabled:function(){return this.primary?""===this.email||this.initialEmail!==this.email:""!==this.initialEmail&&this.initialEmail!==this.email},deleteEmailLabel:function(){return this.primary?t("settings","Remove primary email"):t("settings","Delete email")},setNotificationMailDisabled:function(){return!this.primary&&this.localVerificationState!==ln.VERIFIED},setNotificationMailLabel:function(){return this.isNotificationEmail?t("settings","Unset as primary email"):this.primary||this.localVerificationState===ln.VERIFIED?t("settings","Set as primary email"):t("settings","This address is not confirmed")},federationDisabled:function(){return!this.initialEmail},inputId:function(){return this.primary?"email":"email-".concat(this.index)},inputPlaceholder:function(){return this.primary?t("settings","Your email address"):t("settings","Additional email address {index}",{index:this.index+1})},isNotificationEmail:function(){return this.email&&this.email===this.activeNotificationEmail||this.primary&&""===this.activeNotificationEmail}},mounted:function(){var n=this;this.primary||""!==this.initialEmail||this.$nextTick((function(){var e;return null===(e=n.$refs.email)||void 0===e?void 0:e.focus()}))},methods:{onEmailChange:function(n){this.$emit("update:email",n.target.value),this.debounceEmailChange(n.target.value.trim())},debounceEmailChange:ae()(function(){var n=Le(regeneratorRuntime.mark((function n(e){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!Ie(e)&&""!==e){n.next=14;break}if(!this.primary){n.next=6;break}return n.next=4,this.updatePrimaryEmail(e);case 4:case 10:n.next=14;break;case 6:if(!e){n.next=14;break}if(""!==this.initialEmail){n.next=12;break}return n.next=10,this.addAdditionalEmail(e);case 12:return n.next=14,this.updateAdditionalEmail(e);case 14:case"end":return n.stop()}}),n,this)})));return function(e){return n.apply(this,arguments)}}(),500),deleteEmail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n.primary){e.next=6;break}return n.$emit("update:email",""),e.next=4,n.updatePrimaryEmail("");case 4:e.next=8;break;case 6:return e.next=8,n.deleteAdditionalEmail();case 8:case"end":return e.stop()}}),e)})))()},updatePrimaryEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,we(n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),""===n?e.handleResponse({errorMessage:t("settings","Unable to delete primary email address"),error:r.t0}):e.handleResponse({errorMessage:t("settings","Unable to update primary email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},addAdditionalEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,Ee(n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to add additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},setNotificationMail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){var t,r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,a=n.primary||n.isNotificationEmail?"":n.initialEmail,e.next=4,Oe(a);case 4:i=e.sent,n.handleResponse({notificationEmail:a,status:null===(t=i.ocs)||void 0===t||null===(r=t.meta)||void 0===r?void 0:r.status}),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),n.handleResponse({errorMessage:"Unable to choose this email for notifications",error:e.t0});case 11:case"end":return e.stop()}}),e,null,[[0,8]])})))()},updateAdditionalEmail:function(n){var e=this;return Le(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,_e(e.initialEmail,n);case 3:o=r.sent,e.handleResponse({email:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update additional email address"),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},deleteAdditionalEmail:function(){var n=this;return Le(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Pe(n.initialEmail);case 3:i=e.sent,n.handleDeleteAdditionalEmail(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse({errorMessage:t("settings","Unable to delete additional email address"),error:e.t0});case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},handleDeleteAdditionalEmail:function(n){"ok"===n?this.$emit("delete-additional-email"):this.handleResponse({errorMessage:t("settings","Unable to delete additional email address")})},handleResponse:function(n){var e=this,t=n.email,r=n.notificationEmail,a=n.status,i=n.errorMessage,o=n.error;"ok"===a?(t?this.initialEmail=t:void 0!==r&&this.$emit("update:notification-email",r),this.showCheckmarkIcon=!0,setTimeout((function(){e.showCheckmarkIcon=!1}),2e3)):((0,u.showError)(i),mn.error(i,o),this.showErrorIcon=!0,setTimeout((function(){e.showErrorIcon=!1}),2e3))},onScopeChange:function(n){this.$emit("update:scope",n)}}},De=Re,Be=r(34650),Ne={};Ne.styleTagTransform=T(),Ne.setAttributes=R(),Ne.insert=k().bind(null,"head"),Ne.domAPI=S(),Ne.insertStyleElement=B(),_()(Be.Z,Ne),Be.Z&&Be.Z.locals&&Be.Z.locals;var Te=(0,$.Z)(De,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",[t("div",{staticClass:"email"},[t("input",{ref:"email",attrs:{id:n.inputId,type:"email",placeholder:n.inputPlaceholder,autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:n.email},on:{input:n.onEmailChange}}),n._v(" "),t("div",{staticClass:"email__actions-container"},[t("transition",{attrs:{name:"fade"}},[n.showCheckmarkIcon?t("Check",{attrs:{size:20}}):n.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):n._e()],1),n._v(" "),n.primary?n._e():[t("FederationControl",{attrs:{readable:n.propertyReadable,additional:!0,"additional-value":n.email,disabled:n.federationDisabled,"handle-additional-scope-change":n.saveAdditionalEmailScope,scope:n.localScope},on:{"update:scope":[function(e){n.localScope=e},n.onScopeChange]}})],n._v(" "),t("NcActions",{staticClass:"email__actions",attrs:{"aria-label":n.t("settings","Email options"),"force-menu":!0}},[t("NcActionButton",{attrs:{"aria-label":n.deleteEmailLabel,"close-after-click":!0,disabled:n.deleteDisabled,icon:"icon-delete"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.deleteEmail.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.deleteEmailLabel)+"\n\t\t\t\t")]),n._v(" "),n.primary&&n.isNotificationEmail?n._e():t("NcActionButton",{attrs:{"aria-label":n.setNotificationMailLabel,"close-after-click":!0,disabled:n.setNotificationMailDisabled,icon:"icon-favorite"},on:{click:function(e){return e.stopPropagation(),e.preventDefault(),n.setNotificationMail.apply(null,arguments)}}},[n._v("\n\t\t\t\t\t"+n._s(n.setNotificationMailLabel)+"\n\t\t\t\t")])],1)],2)]),n._v(" "),n.isNotificationEmail?t("em",[n._v("\n\t\t"+n._s(n.t("settings","Primary email for password reset and notifications"))+"\n\t")]):n._e()])}),[],!1,null,"ad393090",null),Ze=Te.exports;function Ue(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Me(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Ue(i,r,a,o,s,"next",n)}function s(n){Ue(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Fe(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Ve(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Fe(Object(t),!0).forEach((function(e){ze(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fe(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ze(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var $e=(0,o.loadState)("settings","personalInfoParameters",{}).emailMap,qe=$e.additionalEmails,He=$e.primaryEmail,Ge=$e.notificationEmail,Ye=(0,o.loadState)("settings","accountParameters",{}).displayNameChangeSupported,We={name:"EmailSection",components:{HeaderBar:jn,Email:Ze},data:function(){var n=this;return{accountProperty:W.EMAIL,additionalEmails:qe.map((function(e){return Ve(Ve({},e),{},{key:n.generateUniqueKey()})})),displayNameChangeSupported:Ye,primaryEmail:Ve(Ve({},He),{},{readable:K[He.name]}),savePrimaryEmailScope:je,notificationEmail:Ge}},computed:{firstAdditionalEmail:function(){return this.additionalEmails.length?this.additionalEmails[0].value:null},inputId:function(){return"account-property-".concat(this.primaryEmail.name)},isValidSection:function(){return Ie(this.primaryEmail.value)&&this.additionalEmails.map((function(n){return n.value})).every(Ie)},primaryEmailValue:{get:function(){return this.primaryEmail.value},set:function(n){this.primaryEmail.value=n}}},methods:{onAddAdditionalEmail:function(){this.isValidSection&&this.additionalEmails.push({value:"",scope:sn,key:this.generateUniqueKey()})},onDeleteAdditionalEmail:function(n){this.$delete(this.additionalEmails,n)},onUpdateEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var t;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!==n.primaryEmailValue||!n.firstAdditionalEmail){e.next=7;break}return t=n.firstAdditionalEmail,e.next=4,n.deleteFirstAdditionalEmail();case 4:return n.primaryEmailValue=t,e.next=7,n.updatePrimaryEmail();case 7:case"end":return e.stop()}}),e)})))()},onUpdateNotificationEmail:function(n){var e=this;return Me(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.notificationEmail=n;case 1:case"end":return t.stop()}}),t)})))()},updatePrimaryEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,we(n.primaryEmailValue);case 3:i=e.sent,n.handleResponse(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse("error",t("settings","Unable to update primary email address"),e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},deleteFirstAdditionalEmail:function(){var n=this;return Me(regeneratorRuntime.mark((function e(){var r,a,i;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Pe(n.firstAdditionalEmail);case 3:i=e.sent,n.handleDeleteFirstAdditionalEmail(null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),n.handleResponse("error",t("settings","Unable to delete additional email address"),e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])})))()},handleDeleteFirstAdditionalEmail:function(n){"ok"===n?this.$delete(this.additionalEmails,0):this.handleResponse("error",t("settings","Unable to delete additional email address"),{})},handleResponse:function(n,e,t){"ok"!==n&&((0,u.showError)(e),mn.error(e,t))},generateUniqueKey:function(){return Math.random().toString(36).substring(2)}}},Ke=r(38793),Qe={};Qe.styleTagTransform=T(),Qe.setAttributes=R(),Qe.insert=k().bind(null,"head"),Qe.domAPI=S(),Qe.insertStyleElement=B(),_()(Ke.Z,Qe),Ke.Z&&Ke.Z.locals&&Ke.Z.locals;var Je=(0,$.Z)(We,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.primaryEmail.readable,"handle-scope-change":n.savePrimaryEmailScope,"is-editable":!0,"is-multi-value-supported":!0,"is-valid-section":n.isValidSection,scope:n.primaryEmail.scope},on:{"update:scope":function(e){return n.$set(n.primaryEmail,"scope",e)},"add-additional":n.onAddAdditionalEmail}}),n._v(" "),n.displayNameChangeSupported?[t("Email",{attrs:{primary:!0,scope:n.primaryEmail.scope,email:n.primaryEmail.value,"active-notification-email":n.notificationEmail},on:{"update:scope":function(e){return n.$set(n.primaryEmail,"scope",e)},"update:email":[function(e){return n.$set(n.primaryEmail,"value",e)},n.onUpdateEmail],"update:activeNotificationEmail":function(e){n.notificationEmail=e},"update:active-notification-email":function(e){n.notificationEmail=e},"update:notification-email":n.onUpdateNotificationEmail}})]:t("span",[n._v("\n\t\t"+n._s(n.primaryEmail.value||n.t("settings","No email address set"))+"\n\t")]),n._v(" "),n.additionalEmails.length?[t("em",{staticClass:"additional-emails-label"},[n._v(n._s(n.t("settings","Additional emails")))]),n._v(" "),n._l(n.additionalEmails,(function(e,r){return t("Email",{key:e.key,attrs:{index:r,scope:e.scope,email:e.value,"local-verification-state":parseInt(e.locallyVerified,10),"active-notification-email":n.notificationEmail},on:{"update:scope":function(t){return n.$set(e,"scope",t)},"update:email":[function(t){return n.$set(e,"value",t)},n.onUpdateEmail],"update:activeNotificationEmail":function(e){n.notificationEmail=e},"update:active-notification-email":function(e){n.notificationEmail=e},"update:notification-email":n.onUpdateNotificationEmail,"delete-additional-email":function(e){return n.onDeleteAdditionalEmail(r)}}})}))]:n._e()],2)}),[],!1,null,"3b8501a7",null).exports,Xe=r(45004);function nt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function et(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?nt(Object(t),!0).forEach((function(e){tt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):nt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function tt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var rt=(0,o.loadState)("settings","personalInfoParameters",{}).phone,at={name:"PhoneSection",components:{AccountPropertySection:Ae},data:function(){return{phone:et(et({},rt),{},{readable:K[rt.name]})}},methods:{onValidate:function(n){return(0,Xe.y)(n)}}},it=(0,$.Z)(at,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your phone number"),type:"tel","on-validate":n.onValidate}},"AccountPropertySection",n.phone,!1,!0))}),[],!1,null,null,null).exports;function ot(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function st(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ot(Object(t),!0).forEach((function(e){lt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ot(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function lt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ct=(0,o.loadState)("settings","personalInfoParameters",{}).location,ut={name:"LocationSection",components:{AccountPropertySection:Ae},data:function(){return{location:st(st({},ct),{},{readable:K[ct.name]})}}},dt=(0,$.Z)(ut,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your location")}},"AccountPropertySection",n.location,!1,!0))}),[],!1,null,null,null).exports;function pt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function At(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?pt(Object(t),!0).forEach((function(e){ft(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):pt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ft(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var mt=(0,o.loadState)("settings","personalInfoParameters",{}).website,vt={name:"WebsiteSection",components:{AccountPropertySection:Ae},data:function(){return{website:At(At({},mt),{},{readable:K[mt.name]})}},methods:{onValidate:function(n){return function(n){try{return new URL(n),!0}catch(n){return!1}}(n)}}},gt=(0,$.Z)(vt,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your website"),type:"url","on-validate":n.onValidate}},"AccountPropertySection",n.website,!1,!0))}),[],!1,null,null,null).exports;function ht(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function bt(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?ht(Object(t),!0).forEach((function(e){yt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):ht(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function yt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Ct=(0,o.loadState)("settings","personalInfoParameters",{}).twitter,xt={name:"TwitterSection",components:{AccountPropertySection:Ae},data:function(){return{twitter:bt(bt({},Ct),{},{readable:K[Ct.name]})}}},wt=(0,$.Z)(xt,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your Twitter handle")}},"AccountPropertySection",n.twitter,!1,!0))}),[],!1,null,null,null).exports;function Et(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Ot(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Et(i,r,a,o,s,"next",n)}function s(n){Et(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Pt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function _t(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Pt(Object(t),!0).forEach((function(e){jt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Pt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function jt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function St(n){return function(n){if(Array.isArray(n))return It(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return It(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?It(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function It(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var kt={name:"Language",props:{inputId:{type:String,default:null},commonLanguages:{type:Array,required:!0},otherLanguages:{type:Array,required:!0},language:{type:Object,required:!0}},data:function(){return{initialLanguage:this.language}},computed:{allLanguages:function(){return Object.freeze([].concat(St(this.commonLanguages),St(this.otherLanguages)).reduce((function(n,e){var t=e.code,r=e.name;return _t(_t({},n),{},jt({},t,r))}),{}))}},methods:{onLanguageChange:function(n){var e=this;return Ot(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.constructLanguage(n.target.value),e.$emit("update:language",r),""===(a=r).code||""===a.name||void 0===a.name){t.next=5;break}return t.next=5,e.updateLanguage(r);case 5:case"end":return t.stop()}var a}),t)})))()},updateLanguage:function(n){var e=this;return Ot(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(X.LANGUAGE,n.code);case 3:o=r.sent,e.handleResponse({language:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),e.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update language"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLanguage:function(n){return{code:n,name:this.allLanguages[n]}},handleResponse:function(n){var e=n.language,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialLanguage=e:((0,u.showError)(r),mn.error(r,a))},reloadPage:function(){location.reload()}}},Lt=r(79818),Rt={};Rt.styleTagTransform=T(),Rt.setAttributes=R(),Rt.insert=k().bind(null,"head"),Rt.domAPI=S(),Rt.insertStyleElement=B(),_()(Lt.Z,Rt),Lt.Z&&Lt.Z.locals&&Lt.Z.locals;var Dt=(0,$.Z)(kt,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"language"},[t("select",{attrs:{id:n.inputId,placeholder:n.t("settings","Language")},on:{change:n.onLanguageChange}},[n._l(n.commonLanguages,(function(e){return t("option",{key:e.code,domProps:{selected:n.language.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])})),n._v(" "),t("option",{attrs:{disabled:""}},[n._v("\n\t\t\t──────────\n\t\t")]),n._v(" "),n._l(n.otherLanguages,(function(e){return t("option",{key:e.code,domProps:{selected:n.language.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])}))],2),n._v(" "),t("a",{attrs:{href:"https://www.transifex.com/nextcloud/nextcloud/",target:"_blank",rel:"noreferrer noopener"}},[t("em",[n._v(n._s(n.t("settings","Help translate")))])])])}),[],!1,null,"6e196b5c",null).exports,Bt=(0,o.loadState)("settings","personalInfoParameters",{}).languageMap,Nt=Bt.activeLanguage,Tt=Bt.commonLanguages,Zt=Bt.otherLanguages,Ut={name:"LanguageSection",components:{Language:Dt,HeaderBar:jn},data:function(){return{propertyReadable:nn.LANGUAGE,commonLanguages:Tt,otherLanguages:Zt,language:Nt}},computed:{inputId:function(){return"account-setting-".concat(X.LANGUAGE)},isEditable:function(){return Boolean(this.language)}}},Mt=r(14703),Ft={};Ft.styleTagTransform=T(),Ft.setAttributes=R(),Ft.insert=k().bind(null,"head"),Ft.domAPI=S(),Ft.insertStyleElement=B(),_()(Mt.Z,Ft),Mt.Z&&Mt.Z.locals&&Mt.Z.locals;var Vt=(0,$.Z)(Ut,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.propertyReadable}}),n._v(" "),n.isEditable?[t("Language",{attrs:{"input-id":n.inputId,"common-languages":n.commonLanguages,"other-languages":n.otherLanguages,language:n.language},on:{"update:language":function(e){n.language=e}}})]:t("span",[n._v("\n\t\t"+n._s(n.t("settings","No language set"))+"\n\t")])],2)}),[],!1,null,"92685b76",null).exports,zt=r(80351),$t=r.n(zt);function qt(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function Ht(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){qt(i,r,a,o,s,"next",n)}function s(n){qt(i,r,a,o,s,"throw",n)}o(void 0)}))}}function Gt(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Yt(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Gt(Object(t),!0).forEach((function(e){Wt(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gt(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Wt(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}function Kt(n){return function(n){if(Array.isArray(n))return Qt(n)}(n)||function(n){if("undefined"!=typeof Symbol&&null!=n[Symbol.iterator]||null!=n["@@iterator"])return Array.from(n)}(n)||function(n,e){if(n){if("string"==typeof n)return Qt(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Qt(n,e):void 0}}(n)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Qt(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var Jt={name:"Locale",components:{Web:r(49298).Z},props:{inputId:{type:String,default:null},locale:{type:Object,required:!0},localesForLanguage:{type:Array,required:!0},otherLocales:{type:Array,required:!0}},data:function(){return{initialLocale:this.locale,example:{date:$t()().format("L"),time:$t()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}}},computed:{allLocales:function(){return Object.freeze([].concat(Kt(this.localesForLanguage),Kt(this.otherLocales)).reduce((function(n,e){var t=e.code,r=e.name;return Yt(Yt({},n),{},Wt({},t,r))}),{}))}},created:function(){setInterval(this.refreshExample,1e3)},methods:{onLocaleChange:function(n){var e=this;return Ht(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.constructLocale(n.target.value),e.$emit("update:locale",r),""===(a=r).code||""===a.name||void 0===a.name){t.next=5;break}return t.next=5,e.updateLocale(r);case 5:case"end":return t.stop()}var a}),t)})))()},updateLocale:function(n){var e=this;return Ht(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,An(X.LOCALE,n.code);case 3:o=r.sent,e.handleResponse({locale:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),e.reloadPage(),r.next=11;break;case 8:r.prev=8,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update locale"),error:r.t0});case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()},constructLocale:function(n){return{code:n,name:this.allLocales[n]}},handleResponse:function(n){var e=n.locale,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialLocale=e:(this.$emit("update:locale",this.initialLocale),(0,u.showError)(r),mn.error(r,a))},refreshExample:function(){this.example={date:$t()().format("L"),time:$t()().format("LTS"),firstDayOfWeek:window.dayNames[window.firstDay]}},reloadPage:function(){location.reload()}}},Xt=r(59808),nr={};nr.styleTagTransform=T(),nr.setAttributes=R(),nr.insert=k().bind(null,"head"),nr.domAPI=S(),nr.insertStyleElement=B(),_()(Xt.Z,nr),Xt.Z&&Xt.Z.locals&&Xt.Z.locals;var er=(0,$.Z)(Jt,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"locale"},[t("select",{attrs:{id:n.inputId,placeholder:n.t("settings","Locale")},on:{change:n.onLocaleChange}},[n._l(n.localesForLanguage,(function(e){return t("option",{key:e.code,domProps:{selected:n.locale.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])})),n._v(" "),t("option",{attrs:{disabled:""}},[n._v("\n\t\t\t──────────\n\t\t")]),n._v(" "),n._l(n.otherLocales,(function(e){return t("option",{key:e.code,domProps:{selected:n.locale.code===e.code,value:e.code}},[n._v("\n\t\t\t"+n._s(e.name)+"\n\t\t")])}))],2),n._v(" "),t("div",{staticClass:"example"},[t("Web",{attrs:{size:20}}),n._v(" "),t("div",{staticClass:"example__text"},[t("p",[t("span",[n._v(n._s(n.example.date))]),n._v(" "),t("span",[n._v(n._s(n.example.time))])]),n._v(" "),t("p",[n._v("\n\t\t\t\t"+n._s(n.t("settings","Week starts on {firstDayOfWeek}",{firstDayOfWeek:this.example.firstDayOfWeek}))+"\n\t\t\t")])])],1)])}),[],!1,null,"545055d8",null).exports,tr=(0,o.loadState)("settings","personalInfoParameters",{}).localeMap,rr=tr.activeLocale,ar=tr.localesForLanguage,ir=tr.otherLocales,or={name:"LocaleSection",components:{Locale:er,HeaderBar:jn},data:function(){return{propertyReadable:nn.LOCALE,localesForLanguage:ar,otherLocales:ir,locale:rr}},computed:{inputId:function(){return"account-setting-".concat(X.LOCALE)},isEditable:function(){return Boolean(this.locale)}}},sr=r(78172),lr={};lr.styleTagTransform=T(),lr.setAttributes=R(),lr.insert=k().bind(null,"head"),lr.domAPI=S(),lr.insertStyleElement=B(),_()(sr.Z,lr),sr.Z&&sr.Z.locals&&sr.Z.locals;var cr=(0,$.Z)(or,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{"input-id":n.inputId,readable:n.propertyReadable}}),n._v(" "),n.isEditable?[t("Locale",{attrs:{"input-id":n.inputId,"locales-for-language":n.localesForLanguage,"other-locales":n.otherLocales,locale:n.locale},on:{"update:locale":function(e){n.locale=e}}})]:t("span",[n._v("\n\t\t"+n._s(n.t("settings","No locale set"))+"\n\t")])],2)}),[],!1,null,"84fca724",null).exports,ur={name:"EditProfileAnchorLink",components:{ChevronDownIcon:r(60604).default},props:{profileEnabled:{type:Boolean,required:!0}},computed:{disabled:function(){return!this.profileEnabled}}},dr=r(61434),pr={};pr.styleTagTransform=T(),pr.setAttributes=R(),pr.insert=k().bind(null,"head"),pr.domAPI=S(),pr.insertStyleElement=B(),_()(dr.Z,pr),dr.Z&&dr.Z.locals&&dr.Z.locals;var Ar=r(77467),fr={};fr.styleTagTransform=T(),fr.setAttributes=R(),fr.insert=k().bind(null,"head"),fr.domAPI=S(),fr.insertStyleElement=B(),_()(Ar.Z,fr),Ar.Z&&Ar.Z.locals&&Ar.Z.locals;var mr=(0,$.Z)(ur,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("a",n._g({class:{disabled:n.disabled},attrs:{href:"#profile-visibility"}},n.$listeners),[t("ChevronDownIcon",{staticClass:"anchor-icon",attrs:{size:22}}),n._v("\n\t"+n._s(n.t("settings","Edit your Profile visibility"))+"\n")],1)}),[],!1,null,"1950be88",null).exports,vr=r(20571);function gr(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}var hr={name:"ProfileCheckbox",components:{NcCheckboxRadioSwitch:r.n(vr)()},props:{profileEnabled:{type:Boolean,required:!0}},data:function(){return{isProfileEnabled:this.profileEnabled,loading:!1}},methods:{saveEnableProfile:function(){var n,e=this;return(n=regeneratorRuntime.mark((function n(){var r,a,i;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return e.loading=!0,n.prev=1,n.next=4,An(Y.PROFILE_ENABLED,e.isProfileEnabled);case 4:i=n.sent,e.handleResponse({isProfileEnabled:e.isProfileEnabled,status:null===(r=i.ocs)||void 0===r||null===(a=r.meta)||void 0===a?void 0:a.status}),n.next=11;break;case 8:n.prev=8,n.t0=n.catch(1),e.handleResponse({errorMessage:t("settings","Unable to update profile enabled state"),error:n.t0});case 11:case"end":return n.stop()}}),n,null,[[1,8]])})),function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){gr(i,r,a,o,s,"next",n)}function s(n){gr(i,r,a,o,s,"throw",n)}o(void 0)}))})()},handleResponse:function(n){var e=n.isProfileEnabled,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?(0,d.j8)("settings:profile-enabled:updated",e):((0,u.showError)(r),mn.error(r,a)),this.loading=!1}}},br=hr,yr=(0,$.Z)(br,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"checkbox-container"},[t("NcCheckboxRadioSwitch",{attrs:{type:"switch",checked:n.isProfileEnabled,loading:n.loading},on:{"update:checked":[function(e){n.isProfileEnabled=e},n.saveEnableProfile]}},[n._v("\n\t\t"+n._s(n.t("settings","Enable Profile"))+"\n\t")])],1)}),[],!1,null,null,null).exports,Cr={name:"ProfilePreviewCard",components:{NcAvatar:A()},props:{displayName:{type:String,required:!0},organisation:{type:String,required:!0},profileEnabled:{type:Boolean,required:!0},userId:{type:String,required:!0}},computed:{disabled:function(){return!this.profileEnabled},profilePageLink:function(){return this.profileEnabled?(0,c.generateUrl)("/u/{userId}",{userId:(0,i.getCurrentUser)().uid}):null}}},xr=r(83467),wr={};wr.styleTagTransform=T(),wr.setAttributes=R(),wr.insert=k().bind(null,"head"),wr.domAPI=S(),wr.insertStyleElement=B(),_()(xr.Z,wr),xr.Z&&xr.Z.locals&&xr.Z.locals;var Er=(0,$.Z)(Cr,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("a",{staticClass:"preview-card",class:{disabled:n.disabled},attrs:{href:n.profilePageLink}},[t("NcAvatar",{staticClass:"preview-card__avatar",attrs:{user:n.userId,size:48,"show-user-status":!0,"show-user-status-compact":!1,"disable-menu":!0,"disable-tooltip":!0}}),n._v(" "),t("div",{staticClass:"preview-card__header"},[t("span",[n._v(n._s(n.displayName))])]),n._v(" "),t("div",{staticClass:"preview-card__footer"},[t("span",[n._v(n._s(n.organisation))])])],1)}),[],!1,null,"60a53e27",null).exports,Or=(0,o.loadState)("settings","personalInfoParameters",{}),Pr=Or.organisation.value,_r=Or.displayName.value,jr=Or.profileEnabled,Sr=Or.userId,Ir={name:"ProfileSection",components:{EditProfileAnchorLink:mr,HeaderBar:jn,ProfileCheckbox:yr,ProfilePreviewCard:Er},data:function(){return{propertyReadable:W.PROFILE_ENABLED,organisation:Pr,displayName:_r,profileEnabled:jr,userId:Sr}},mounted:function(){(0,d.Ld)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,d.Ld)("settings:organisation:updated",this.handleOrganisationUpdate)},beforeDestroy:function(){(0,d.r1)("settings:display-name:updated",this.handleDisplayNameUpdate),(0,d.r1)("settings:organisation:updated",this.handleOrganisationUpdate)},methods:{handleDisplayNameUpdate:function(n){this.displayName=n},handleOrganisationUpdate:function(n){this.organisation=n}}},kr=Ir,Lr=r(67964),Rr={};Rr.styleTagTransform=T(),Rr.setAttributes=R(),Rr.insert=k().bind(null,"head"),Rr.domAPI=S(),Rr.insertStyleElement=B(),_()(Lr.Z,Rr),Lr.Z&&Lr.Z.locals&&Lr.Z.locals;var Dr=(0,$.Z)(kr,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",[t("HeaderBar",{attrs:{readable:n.propertyReadable}}),n._v(" "),t("ProfileCheckbox",{attrs:{"profile-enabled":n.profileEnabled},on:{"update:profileEnabled":function(e){n.profileEnabled=e},"update:profile-enabled":function(e){n.profileEnabled=e}}}),n._v(" "),t("ProfilePreviewCard",{attrs:{organisation:n.organisation,"display-name":n.displayName,"profile-enabled":n.profileEnabled,"user-id":n.userId}}),n._v(" "),t("EditProfileAnchorLink",{attrs:{"profile-enabled":n.profileEnabled}})],1)}),[],!1,null,"cf64d964",null).exports;function Br(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Nr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Br(Object(t),!0).forEach((function(e){Tr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Br(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Tr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Zr=(0,o.loadState)("settings","personalInfoParameters",{}).organisation,Ur={name:"OrganisationSection",components:{AccountPropertySection:Ae},data:function(){return{organisation:Nr(Nr({},Zr),{},{readable:K[Zr.name]})}}},Mr=(0,$.Z)(Ur,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your organisation")}},"AccountPropertySection",n.organisation,!1,!0))}),[],!1,null,null,null).exports;function Fr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Vr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Fr(Object(t),!0).forEach((function(e){zr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Fr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function zr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var $r=(0,o.loadState)("settings","personalInfoParameters",{}).role,qr={name:"RoleSection",components:{AccountPropertySection:Ae},data:function(){return{role:Vr(Vr({},$r),{},{readable:K[$r.name]})}}},Hr=(0,$.Z)(qr,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your role")}},"AccountPropertySection",n.role,!1,!0))}),[],!1,null,null,null).exports;function Gr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function Yr(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Gr(Object(t),!0).forEach((function(e){Wr(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Gr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function Wr(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var Kr=(0,o.loadState)("settings","personalInfoParameters",{}).headline,Qr={name:"HeadlineSection",components:{AccountPropertySection:Ae},data:function(){return{headline:Yr(Yr({},Kr),{},{readable:K[Kr.name]})}}},Jr=(0,$.Z)(Qr,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your headline")}},"AccountPropertySection",n.headline,!1,!0))}),[],!1,null,null,null).exports;function Xr(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(n);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,r)}return t}function na(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?Xr(Object(t),!0).forEach((function(e){ea(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):Xr(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function ea(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var ta=(0,o.loadState)("settings","personalInfoParameters",{}).biography,ra={name:"BiographySection",components:{AccountPropertySection:Ae},data:function(){return{biography:na(na({},ta),{},{readable:K[ta.name]})}}},aa=(0,$.Z)(ra,(function(){var n=this,e=n.$createElement;return(n._self._c||e)("AccountPropertySection",n._b({attrs:{placeholder:n.t("settings","Your biography"),"multi-line":!0}},"AccountPropertySection",n.biography,!1,!0))}),[],!1,null,null,null).exports,ia=r(98266),oa=r.n(ia);function sa(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}var la,ca=function(){var n,e=(n=regeneratorRuntime.mark((function n(e,t){var r,a,o;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return r=(0,i.getCurrentUser)().uid,a=(0,c.generateOcsUrl)("/profile/{userId}",{userId:r}),n.next=4,(0,un.confirmPassword)();case 4:return n.next=6,l.default.put(a,{paramId:e,visibility:t});case 6:return o=n.sent,n.abrupt("return",o.data);case 8:case"end":return n.stop()}}),n)})),function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){sa(i,r,a,o,s,"next",n)}function s(n){sa(i,r,a,o,s,"throw",n)}o(void 0)}))});return function(n,t){return e.apply(this,arguments)}}();function ua(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var da=Object.freeze({SHOW:"show",SHOW_USERS_ONLY:"show_users_only",HIDE:"hide"}),pa=Object.freeze((ua(la={},da.SHOW,{name:da.SHOW,label:t("settings","Show to everyone")}),ua(la,da.SHOW_USERS_ONLY,{name:da.SHOW_USERS_ONLY,label:t("settings","Show to logged in users only")}),ua(la,da.HIDE,{name:da.HIDE,label:t("settings","Hide")}),la));function Aa(n,e,t,r,a,i,o){try{var s=n[i](o),l=s.value}catch(n){return void t(n)}s.done?e(l):Promise.resolve(l).then(r,a)}function fa(n){return function(){var e=this,t=arguments;return new Promise((function(r,a){var i=n.apply(e,t);function o(n){Aa(i,r,a,o,s,"next",n)}function s(n){Aa(i,r,a,o,s,"throw",n)}o(void 0)}))}}var ma=(0,o.loadState)("settings","personalInfoParameters",!1).profileEnabled,va={name:"VisibilityDropdown",components:{NcMultiselect:oa()},props:{paramId:{type:String,required:!0},displayId:{type:String,required:!0},visibility:{type:String,required:!0}},data:function(){return{initialVisibility:this.visibility,profileEnabled:ma}},computed:{disabled:function(){return!this.profileEnabled},inputId:function(){return"profile-visibility-".concat(this.paramId)},visibilityObject:function(){return pa[this.visibility]},visibilityOptions:function(){return Object.values(pa)}},mounted:function(){(0,d.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},beforeDestroy:function(){(0,d.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{onVisibilityChange:function(n){var e=this;return fa(regeneratorRuntime.mark((function t(){var r;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null===n){t.next=6;break}if(r=n.name,e.$emit("update:visibility",r),""===r){t.next=6;break}return t.next=6,e.updateVisibility(r);case 6:case"end":return t.stop()}}),t)})))()},updateVisibility:function(n){var e=this;return fa(regeneratorRuntime.mark((function r(){var a,i,o;return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,ca(e.paramId,n);case 3:o=r.sent,e.handleResponse({visibility:n,status:null===(a=o.ocs)||void 0===a||null===(i=a.meta)||void 0===i?void 0:i.status}),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),e.handleResponse({errorMessage:t("settings","Unable to update visibility of {displayId}",{displayId:e.displayId}),error:r.t0});case 10:case"end":return r.stop()}}),r,null,[[0,7]])})))()},handleResponse:function(n){var e=n.visibility,t=n.status,r=n.errorMessage,a=n.error;"ok"===t?this.initialVisibility=e:((0,u.showError)(r),mn.error(r,a))},handleProfileEnabledUpdate:function(n){this.profileEnabled=n}}},ga=va,ha=r(14930),ba={};ba.styleTagTransform=T(),ba.setAttributes=R(),ba.insert=k().bind(null,"head"),ba.domAPI=S(),ba.insertStyleElement=B(),_()(ha.Z,ba),ha.Z&&ha.Z.locals&&ha.Z.locals;var ya=(0,$.Z)(ga,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("div",{staticClass:"visibility-container",class:{disabled:n.disabled}},[t("label",{attrs:{for:n.inputId}},[n._v("\n\t\t"+n._s(n.t("settings","{displayId}",{displayId:n.displayId}))+"\n\t")]),n._v(" "),t("NcMultiselect",{staticClass:"visibility-container__multiselect",attrs:{id:n.inputId,options:n.visibilityOptions,"track-by":"name",label:"label",value:n.visibilityObject},on:{change:n.onVisibilityChange}})],1)}),[],!1,null,"3cddb756",null).exports;function Ca(n,e){(null==e||e>n.length)&&(e=n.length);for(var t=0,r=new Array(e);t<e;t++)r[t]=n[t];return r}var xa=(0,o.loadState)("settings","profileParameters",{}).profileConfig,wa=(0,o.loadState)("settings","personalInfoParameters",!1).profileEnabled,Ea=function(n,e){return n.appId===e.appId||"core"!==n.appId&&"core"!==e.appId?n.displayId.localeCompare(e.displayId):"core"===n.appId?1:-1},Oa={name:"ProfileVisibilitySection",components:{HeaderBar:jn,VisibilityDropdown:ya},data:function(){return{heading:Q.PROFILE_VISIBILITY,profileEnabled:wa,visibilityParams:Object.entries(xa).map((function(n){var e,t,r=(t=2,function(n){if(Array.isArray(n))return n}(e=n)||function(n,e){var t=null==n?null:"undefined"!=typeof Symbol&&n[Symbol.iterator]||n["@@iterator"];if(null!=t){var r,a,i=[],o=!0,s=!1;try{for(t=t.call(n);!(o=(r=t.next()).done)&&(i.push(r.value),!e||i.length!==e);o=!0);}catch(n){s=!0,a=n}finally{try{o||null==t.return||t.return()}finally{if(s)throw a}}return i}}(e,t)||function(n,e){if(n){if("string"==typeof n)return Ca(n,e);var t=Object.prototype.toString.call(n).slice(8,-1);return"Object"===t&&n.constructor&&(t=n.constructor.name),"Map"===t||"Set"===t?Array.from(n):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Ca(n,e):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),a=r[0],i=r[1];return{id:a,appId:i.appId,displayId:i.displayId,visibility:i.visibility}})).sort(Ea),marginLeft:window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("personal-settings-avatar-container")).getPropertyValue("width").trim():"0px"}},computed:{disabled:function(){return!this.profileEnabled},rows:function(){return Math.ceil(this.visibilityParams.length/2)}},mounted:function(){var n=this;(0,d.Ld)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate),window.onresize=function(){n.marginLeft=window.matchMedia("(min-width: 1600px)").matches?window.getComputedStyle(document.getElementById("personal-settings-avatar-container")).getPropertyValue("width").trim():"0px"}},beforeDestroy:function(){(0,d.r1)("settings:profile-enabled:updated",this.handleProfileEnabledUpdate)},methods:{handleProfileEnabledUpdate:function(n){this.profileEnabled=n}}},Pa=Oa,_a=r(38409),ja={};ja.styleTagTransform=T(),ja.setAttributes=R(),ja.insert=k().bind(null,"head"),ja.domAPI=S(),ja.insertStyleElement=B(),_()(_a.Z,ja),_a.Z&&_a.Z.locals&&_a.Z.locals;var Sa=(0,$.Z)(Pa,(function(){var n=this,e=n.$createElement,t=n._self._c||e;return t("section",{style:{marginLeft:n.marginLeft},attrs:{id:"profile-visibility"}},[t("HeaderBar",{attrs:{readable:n.heading}}),n._v(" "),t("em",{class:{disabled:n.disabled}},[n._v("\n\t\t"+n._s(n.t("settings",'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to "Show to everyone" and scope is set to "Private", "Private" is respected.'))+"\n\t")]),n._v(" "),t("div",{staticClass:"visibility-dropdowns",style:{gridTemplateRows:"repeat("+n.rows+", 44px)"}},n._l(n.visibilityParams,(function(e){return t("VisibilityDropdown",{key:e.id,attrs:{"param-id":e.id,"display-id":e.displayId,visibility:e.visibility},on:{"update:visibility":function(t){return n.$set(e,"visibility",t)}}})})),1)],1)}),[],!1,null,"0d3fd040",null).exports;r.nc=btoa((0,i.getRequestToken)());var Ia=(0,o.loadState)("settings","profileEnabledGlobally",!0);a.ZP.mixin({methods:{t:s.translate}});var ka=a.ZP.extend(Vn),La=a.ZP.extend(te),Ra=a.ZP.extend(ye),Da=a.ZP.extend(Je),Ba=a.ZP.extend(it),Na=a.ZP.extend(dt),Ta=a.ZP.extend(gt),Za=a.ZP.extend(wt),Ua=a.ZP.extend(Vt),Ma=a.ZP.extend(cr);if((new ka).$mount("#vue-avatar-section"),(new La).$mount("#vue-details-section"),(new Ra).$mount("#vue-displayname-section"),(new Da).$mount("#vue-email-section"),(new Ba).$mount("#vue-phone-section"),(new Na).$mount("#vue-location-section"),(new Ta).$mount("#vue-website-section"),(new Za).$mount("#vue-twitter-section"),(new Ua).$mount("#vue-language-section"),(new Ma).$mount("#vue-locale-section"),Ia){var Fa=a.ZP.extend(Dr),Va=a.ZP.extend(Mr),za=a.ZP.extend(Hr),$a=a.ZP.extend(Jr),qa=a.ZP.extend(aa),Ha=a.ZP.extend(Sa);(new Fa).$mount("#vue-profile-section"),(new Va).$mount("#vue-organisation-section"),(new za).$mount("#vue-role-section"),(new $a).$mount("#vue-headline-section"),(new qa).$mount("#vue-biography-section"),(new Ha).$mount("#vue-profile-visibility-section")}},71011:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".avatar__container[data-v-56196c5c]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:300px}.avatar__container span[data-v-56196c5c]{color:var(--color-text-lighter)}.avatar__preview[data-v-56196c5c]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-56196c5c]{display:flex;gap:0 10px}.avatar__cropper[data-v-56196c5c]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-56196c5c]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-56196c5c] .cropper-view-box{border-radius:50%}input[type=file][data-v-56196c5c]{display:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue"],names:[],mappings:"AAuRC,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA",sourcesContent:['\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: 300px;\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type="file"] {\n\tdisplay: none;\n}\n'],sourceRoot:""}]),e.Z=o},75849:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".details[data-v-546e7ece]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-546e7ece],.details__quota[data-v-546e7ece]{display:flex;gap:0 10px}.details__groups-info[data-v-546e7ece],.details__quota-info[data-v-546e7ece]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-546e7ece],.details__quota-list[data-v-546e7ece]{font-weight:bold}.details__groups[data-v-546e7ece] .material-design-icon,.details__quota[data-v-546e7ece] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue"],names:[],mappings:"AA8FA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},34650:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".email[data-v-ad393090]{display:grid;align-items:center}.email input[data-v-ad393090]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-ad393090]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-ad393090]{opacity:.4 !important}.email .email__actions-container .email__actions[data-v-ad393090]:hover,.email .email__actions-container .email__actions[data-v-ad393090]:focus,.email .email__actions-container .email__actions[data-v-ad393090]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-ad393090] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.fade-enter[data-v-ad393090],.fade-leave-to[data-v-ad393090]{opacity:0}.fade-enter-active[data-v-ad393090]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-ad393090]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue"],names:[],mappings:"AAwWA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAEA,kEACC,qBAAA,CAEA,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAMJ,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\topacity: 0.4 !important;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n"],sourceRoot:""}]),e.Z=o},38793:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-3b8501a7]{padding:10px 10px}section[data-v-3b8501a7] button:disabled{cursor:default}section .additional-emails-label[data-v-3b8501a7]{display:block;margin-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue"],names:[],mappings:"AAyMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},79818:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".language[data-v-6e196b5c]{display:grid}.language select[data-v-6e196b5c]{width:100%}.language a[data-v-6e196b5c]{color:var(--color-main-text);text-decoration:none;width:max-content}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue"],names:[],mappings:"AAoJA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},14703:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue"],names:[],mappings:"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},59808:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".locale[data-v-545055d8]{display:grid}.locale select[data-v-545055d8]{width:100%}.example[data-v-545055d8]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-545055d8] .material-design-icon{align-self:flex-start;margin-top:2px}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue"],names:[],mappings:"AAkLA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},78172:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue"],names:[],mappings:"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},61434:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AA0DA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},77467:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"a[data-v-1950be88]{display:block;height:44px;width:290px;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);opacity:.4;background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-1950be88]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-1950be88]:hover,a[data-v-1950be88]:focus,a[data-v-1950be88]:active{opacity:.8;background-color:rgba(127,127,127,.25)}a.disabled[data-v-1950be88]{pointer-events:none}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue"],names:[],mappings:"AAoEA,mBACC,aAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,UAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,UAAA,CACA,sCAAA,CAGD,4BACC,mBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: 290px;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\topacity: 0.4;\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8;\n\t\tbackground-color: rgba(127, 127, 127, .25);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},83467:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".preview-card[data-v-60a53e27]{display:flex;flex-direction:column;position:relative;width:290px;height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:hover,.preview-card[data-v-60a53e27]:focus,.preview-card[data-v-60a53e27]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-60a53e27]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-60a53e27],.preview-card.disabled[data-v-60a53e27] *{cursor:default}.preview-card__avatar[data-v-60a53e27]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-60a53e27]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-60a53e27],.preview-card__footer[data-v-60a53e27]{position:relative;width:auto}.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-60a53e27]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-60a53e27]{bottom:0;color:var(--color-primary-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-60a53e27]{height:46px}.preview-card__footer span[data-v-60a53e27]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue"],names:[],mappings:"AA6FA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,oBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,qCAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,+BAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: 290px;\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tword-break: break-all;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},67964:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue"],names:[],mappings:"AAkGA,yBACC,iBAAA,CAEA,yCACC,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},38409:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-0d3fd040]{padding:30px;max-width:100vw}section em[data-v-0d3fd040]{display:block;margin:16px 0}section em.disabled[data-v-0d3fd040]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-0d3fd040],section em.disabled[data-v-0d3fd040] *{cursor:default;pointer-events:none}section .visibility-dropdowns[data-v-0d3fd040]{display:grid;gap:10px 40px}@media(min-width: 1200px){section[data-v-0d3fd040]{width:940px}section .visibility-dropdowns[data-v-0d3fd040]{grid-auto-flow:column}}@media(max-width: 1200px){section[data-v-0d3fd040]{width:470px}}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue"],names:[],mappings:"AAyHA,yBACC,YAAA,CACA,eAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA,CAKH,+CACC,YAAA,CACA,aAAA,CAGD,0BA3BD,yBA4BE,WAAA,CAEA,+CACC,qBAAA,CAAA,CAIF,0BAnCD,yBAoCE,WAAA,CAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 30px;\n\tmax-width: 100vw;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t.visibility-dropdowns {\n\t\tdisplay: grid;\n\t\tgap: 10px 40px;\n\t}\n\n\t@media (min-width: 1200px) {\n\t\twidth: 940px;\n\n\t\t.visibility-dropdowns {\n\t\t\tgrid-auto-flow: column;\n\t\t}\n\t}\n\n\t@media (max-width: 1200px) {\n\t\twidth: 470px;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},14930:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".visibility-container[data-v-3cddb756]{display:flex;width:max-content}.visibility-container.disabled[data-v-3cddb756]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-3cddb756],.visibility-container.disabled[data-v-3cddb756] *{cursor:default;pointer-events:none}.visibility-container label[data-v-3cddb756]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__multiselect[data-v-3cddb756]{width:260px;max-width:40vw}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue"],names:[],mappings:"AAwJA,uCACC,YAAA,CACA,iBAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,oDACC,WAAA,CACA,cAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.visibility-container {\n\tdisplay: flex;\n\twidth: max-content;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__multiselect {\n\t\twidth: 260px;\n\t\tmax-width: 40vw;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},71593:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"section[data-v-7c2c5fa4]{padding:10px 10px}section[data-v-7c2c5fa4] button:disabled{cursor:default}section .property[data-v-7c2c5fa4]{display:grid;align-items:center}section .property textarea[data-v-7c2c5fa4]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-7c2c5fa4]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-7c2c5fa4]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .fade-enter[data-v-7c2c5fa4],section .fade-leave-to[data-v-7c2c5fa4]{opacity:0}section .fade-enter-active[data-v-7c2c5fa4]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-7c2c5fa4]{transition:opacity 300ms ease-out}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue"],names:[],mappings:"AAgMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},77198:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".federation-actions[data-v-4c6905d9],.federation-actions--additional[data-v-4c6905d9]{opacity:.4 !important}.federation-actions[data-v-4c6905d9]:hover,.federation-actions[data-v-4c6905d9]:focus,.federation-actions[data-v-4c6905d9]:active,.federation-actions--additional[data-v-4c6905d9]:hover,.federation-actions--additional[data-v-4c6905d9]:focus,.federation-actions--additional[data-v-4c6905d9]:active{opacity:.8 !important}.federation-actions--additional[data-v-4c6905d9] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue"],names:[],mappings:"AA6LA,sFAEC,qBAAA,CAEA,wSAGC,qBAAA,CAKD,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.federation-actions,\n.federation-actions--additional {\n\topacity: 0.4 !important;\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8 !important;\n\t}\n}\n\n.federation-actions--additional {\n\t&::v-deep button {\n\t\t// TODO remove this hack\n\t\tpadding-bottom: 7px;\n\t\theight: 30px !important;\n\t\tmin-height: 30px !important;\n\t\twidth: 30px !important;\n\t\tmin-width: 30px !important;\n\t}\n}\n"],sourceRoot:""}]),e.Z=o},43058:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,".federation-actions__btn[data-v-1249785e] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-1249785e]{background-color:var(--color-primary-light) !important;box-shadow:inset 2px 0 var(--color-primary) !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue"],names:[],mappings:"AA0FC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,sDAAA,CACA,sDAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.federation-actions__btn {\n\t&::v-deep p {\n\t\twidth: 150px !important;\n\t\tpadding: 8px 0 !important;\n\t\tcolor: var(--color-main-text) !important;\n\t\tfont-size: 12.8px !important;\n\t\tline-height: 1.5em !important;\n\t}\n}\n\n.federation-actions__btn--active {\n\tbackground-color: var(--color-primary-light) !important;\n\tbox-shadow: inset 2px 0 var(--color-primary) !important;\n}\n"],sourceRoot:""}]),e.Z=o},58728:function(n,e,t){"use strict";var r=t(87537),a=t.n(r),i=t(23645),o=t.n(i)()(a());o.push([n.id,"h3[data-v-8094b2e6]{display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}h3.profile-property[data-v-8094b2e6]{height:38px}h3.setting-property[data-v-8094b2e6]{height:44px}h3 label[data-v-8094b2e6]{cursor:pointer}.federation-control[data-v-8094b2e6]{margin:0}.button-vue[data-v-8094b2e6]{margin:0 0 0 auto !important}","",{version:3,sources:["webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue"],names:[],mappings:"AA8HA,oBACC,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,qCACC,WAAA,CAGD,qCACC,WAAA,CAGD,0BACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nh3 {\n\tdisplay: inline-flex;\n\twidth: 100%;\n\tmargin: 12px 0 0 0;\n\tgap: 8px;\n\talign-items: center;\n\tfont-size: 16px;\n\tcolor: var(--color-text-light);\n\n\t&.profile-property {\n\t\theight: 38px;\n\t}\n\n\t&.setting-property {\n\t\theight: 44px;\n\t}\n\n\tlabel {\n\t\tcursor: pointer;\n\t}\n}\n\n.federation-control {\n\tmargin: 0;\n}\n\n.button-vue {\n\tmargin: 0 0 0 auto !important;\n}\n"],sourceRoot:""}]),e.Z=o},8738:function(n){"use strict";n.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC"}},r={};function a(n){var t=r[n];if(void 0!==t)return t.exports;var i=r[n]={id:n,loaded:!1,exports:{}};return e[n].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.m=e,a.amdD=function(){throw new Error("define cannot be used indirect")},a.amdO={},n=[],a.O=function(e,t,r,i){if(!t){var o=1/0;for(u=0;u<n.length;u++){t=n[u][0],r=n[u][1],i=n[u][2];for(var s=!0,l=0;l<t.length;l++)(!1&i||o>=i)&&Object.keys(a.O).every((function(n){return a.O[n](t[l])}))?t.splice(l--,1):(s=!1,i<o&&(o=i));if(s){n.splice(u--,1);var c=r();void 0!==c&&(e=c)}}return e}i=i||0;for(var u=n.length;u>0&&n[u-1][2]>i;u--)n[u]=n[u-1];n[u]=[t,r,i]},a.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return a.d(e,{a:e}),e},a.d=function(n,e){for(var t in e)a.o(e,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:e[t]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(n){if("object"==typeof window)return window}}(),a.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},a.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},a.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n},a.j=4418,function(){a.b=document.baseURI||self.location.href;var n={4418:0};a.O.j=function(e){return 0===n[e]};var e=function(e,t){var r,i,o=t[0],s=t[1],l=t[2],c=0;if(o.some((function(e){return 0!==n[e]}))){for(r in s)a.o(s,r)&&(a.m[r]=s[r]);if(l)var u=l(a)}for(e&&e(t);c<o.length;c++)i=o[c],a.o(n,i)&&n[i]&&n[i][0](),n[i]=0;return a.O(u)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(e.bind(null,0)),t.push=e.bind(null,t.push.bind(t))}(),a.nc=void 0;var i=a.O(void 0,[7874],(function(){return a(923)}));i=a.O(i)}(); +//# sourceMappingURL=settings-vue-settings-personal-info.js.map?v=6ec81be43df7bb223ab7
\ No newline at end of file diff --git a/dist/settings-vue-settings-personal-info.js.map b/dist/settings-vue-settings-personal-info.js.map index 9727a6eb7f2..477b74f773e 100644 --- a/dist/settings-vue-settings-personal-info.js.map +++ b/dist/settings-vue-settings-personal-info.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-personal-info.js?v=fa9611c13168bae120fd","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/@nextcloud/moment/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?db0b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?90b5","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=template&id=1249785e&scoped=true&","webpack:///nextcloud/apps/settings/src/constants/AccountPropertyConstants.js","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/PersonalInfoService.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?35ac","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?e342","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=template&id=4c6905d9&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?9e2f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?feed","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=template&id=8094b2e6&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?7ebc","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5014","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=template&id=17216d6a&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?4d3b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?295f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=template&id=546e7ece&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?0389","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?ac46","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=template&id=7c2c5fa4&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?bde5","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=template&id=8950c424&","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/EmailService.js","webpack:///nextcloud/apps/settings/src/utils/validate.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?fb78","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?bd2c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=template&id=ad393090&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?fb97","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?1258","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=template&id=3b8501a7&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?d5e3","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=template&id=57a9f4a6&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?fdc7","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=template&id=3b6d0ee7&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?897b","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=template&id=b18d14ae&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?7e82","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=template&id=203feaef&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?59fc","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?6358","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=template&id=6e196b5c&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?8c54","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?a350","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?995c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?9b6c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=template&id=545055d8&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?1124","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?fafb","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?a0a7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?e45c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?7d4b","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=template&id=1950be88&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?7612","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=template&id=1dec8338&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?b9ef","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?240c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=template&id=60a53e27&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?3b7d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?c85f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?5684","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=template&id=50ddf4bd&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?a7b4","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=template&id=3dbe0705&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?9d73","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=template&id=0f3859ee&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?a6b2","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=template&id=a916ca60&","webpack:///nextcloud/apps/settings/src/service/ProfileService.js","webpack:///nextcloud/apps/settings/src/constants/ProfileConstants.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?fc73","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?c222","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=template&id=3cddb756&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?0bd2","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?7729","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=template&id=0d3fd040&scoped=true&","webpack:///nextcloud/apps/settings/src/main-personal-info.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=style&index=0&id=17216d6a&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","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/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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 map = {\n\t\"./af\": 36026,\n\t\"./af.js\": 36026,\n\t\"./ar\": 28093,\n\t\"./ar-dz\": 41943,\n\t\"./ar-dz.js\": 41943,\n\t\"./ar-kw\": 23969,\n\t\"./ar-kw.js\": 23969,\n\t\"./ar-ly\": 40594,\n\t\"./ar-ly.js\": 40594,\n\t\"./ar-ma\": 18369,\n\t\"./ar-ma.js\": 18369,\n\t\"./ar-sa\": 32579,\n\t\"./ar-sa.js\": 32579,\n\t\"./ar-tn\": 76442,\n\t\"./ar-tn.js\": 76442,\n\t\"./ar.js\": 28093,\n\t\"./az\": 86425,\n\t\"./az.js\": 86425,\n\t\"./be\": 22004,\n\t\"./be.js\": 22004,\n\t\"./bg\": 42982,\n\t\"./bg.js\": 42982,\n\t\"./bm\": 21067,\n\t\"./bm.js\": 21067,\n\t\"./bn\": 8366,\n\t\"./bn-bd\": 63837,\n\t\"./bn-bd.js\": 63837,\n\t\"./bn.js\": 8366,\n\t\"./bo\": 95040,\n\t\"./bo.js\": 95040,\n\t\"./br\": 521,\n\t\"./br.js\": 521,\n\t\"./bs\": 83242,\n\t\"./bs.js\": 83242,\n\t\"./ca\": 73046,\n\t\"./ca.js\": 73046,\n\t\"./cs\": 25794,\n\t\"./cs.js\": 25794,\n\t\"./cv\": 28231,\n\t\"./cv.js\": 28231,\n\t\"./cy\": 10927,\n\t\"./cy.js\": 10927,\n\t\"./da\": 42832,\n\t\"./da.js\": 42832,\n\t\"./de\": 29415,\n\t\"./de-at\": 3331,\n\t\"./de-at.js\": 3331,\n\t\"./de-ch\": 45524,\n\t\"./de-ch.js\": 45524,\n\t\"./de.js\": 29415,\n\t\"./dv\": 44700,\n\t\"./dv.js\": 44700,\n\t\"./el\": 88752,\n\t\"./el.js\": 88752,\n\t\"./en-au\": 90444,\n\t\"./en-au.js\": 90444,\n\t\"./en-ca\": 65959,\n\t\"./en-ca.js\": 65959,\n\t\"./en-gb\": 62762,\n\t\"./en-gb.js\": 62762,\n\t\"./en-ie\": 40909,\n\t\"./en-ie.js\": 40909,\n\t\"./en-il\": 79909,\n\t\"./en-il.js\": 79909,\n\t\"./en-in\": 87942,\n\t\"./en-in.js\": 87942,\n\t\"./en-nz\": 75200,\n\t\"./en-nz.js\": 75200,\n\t\"./en-sg\": 21415,\n\t\"./en-sg.js\": 21415,\n\t\"./eo\": 27447,\n\t\"./eo.js\": 27447,\n\t\"./es\": 86756,\n\t\"./es-do\": 47049,\n\t\"./es-do.js\": 47049,\n\t\"./es-mx\": 15915,\n\t\"./es-mx.js\": 15915,\n\t\"./es-us\": 57133,\n\t\"./es-us.js\": 57133,\n\t\"./es.js\": 86756,\n\t\"./et\": 72182,\n\t\"./et.js\": 72182,\n\t\"./eu\": 14419,\n\t\"./eu.js\": 14419,\n\t\"./fa\": 2916,\n\t\"./fa.js\": 2916,\n\t\"./fi\": 49964,\n\t\"./fi.js\": 49964,\n\t\"./fil\": 16448,\n\t\"./fil.js\": 16448,\n\t\"./fo\": 26094,\n\t\"./fo.js\": 26094,\n\t\"./fr\": 35833,\n\t\"./fr-ca\": 56994,\n\t\"./fr-ca.js\": 56994,\n\t\"./fr-ch\": 2740,\n\t\"./fr-ch.js\": 2740,\n\t\"./fr.js\": 35833,\n\t\"./fy\": 69542,\n\t\"./fy.js\": 69542,\n\t\"./ga\": 93264,\n\t\"./ga.js\": 93264,\n\t\"./gd\": 77457,\n\t\"./gd.js\": 77457,\n\t\"./gl\": 83043,\n\t\"./gl.js\": 83043,\n\t\"./gom-deva\": 24034,\n\t\"./gom-deva.js\": 24034,\n\t\"./gom-latn\": 28379,\n\t\"./gom-latn.js\": 28379,\n\t\"./gu\": 406,\n\t\"./gu.js\": 406,\n\t\"./he\": 73219,\n\t\"./he.js\": 73219,\n\t\"./hi\": 99834,\n\t\"./hi.js\": 99834,\n\t\"./hr\": 28754,\n\t\"./hr.js\": 28754,\n\t\"./hu\": 93945,\n\t\"./hu.js\": 93945,\n\t\"./hy-am\": 81319,\n\t\"./hy-am.js\": 81319,\n\t\"./id\": 24875,\n\t\"./id.js\": 24875,\n\t\"./is\": 23724,\n\t\"./is.js\": 23724,\n\t\"./it\": 79906,\n\t\"./it-ch\": 34303,\n\t\"./it-ch.js\": 34303,\n\t\"./it.js\": 79906,\n\t\"./ja\": 77105,\n\t\"./ja.js\": 77105,\n\t\"./jv\": 15026,\n\t\"./jv.js\": 15026,\n\t\"./ka\": 67416,\n\t\"./ka.js\": 67416,\n\t\"./kk\": 79734,\n\t\"./kk.js\": 79734,\n\t\"./km\": 60757,\n\t\"./km.js\": 60757,\n\t\"./kn\": 58369,\n\t\"./kn.js\": 58369,\n\t\"./ko\": 77687,\n\t\"./ko.js\": 77687,\n\t\"./ku\": 95544,\n\t\"./ku.js\": 95544,\n\t\"./ky\": 85431,\n\t\"./ky.js\": 85431,\n\t\"./lb\": 13613,\n\t\"./lb.js\": 13613,\n\t\"./lo\": 34252,\n\t\"./lo.js\": 34252,\n\t\"./lt\": 84619,\n\t\"./lt.js\": 84619,\n\t\"./lv\": 93760,\n\t\"./lv.js\": 93760,\n\t\"./me\": 93393,\n\t\"./me.js\": 93393,\n\t\"./mi\": 12369,\n\t\"./mi.js\": 12369,\n\t\"./mk\": 48664,\n\t\"./mk.js\": 48664,\n\t\"./ml\": 23099,\n\t\"./ml.js\": 23099,\n\t\"./mn\": 98539,\n\t\"./mn.js\": 98539,\n\t\"./mr\": 778,\n\t\"./mr.js\": 778,\n\t\"./ms\": 39970,\n\t\"./ms-my\": 82625,\n\t\"./ms-my.js\": 82625,\n\t\"./ms.js\": 39970,\n\t\"./mt\": 15714,\n\t\"./mt.js\": 15714,\n\t\"./my\": 53055,\n\t\"./my.js\": 53055,\n\t\"./nb\": 73945,\n\t\"./nb.js\": 73945,\n\t\"./ne\": 63645,\n\t\"./ne.js\": 63645,\n\t\"./nl\": 4829,\n\t\"./nl-be\": 12823,\n\t\"./nl-be.js\": 12823,\n\t\"./nl.js\": 4829,\n\t\"./nn\": 23756,\n\t\"./nn.js\": 23756,\n\t\"./oc-lnc\": 41228,\n\t\"./oc-lnc.js\": 41228,\n\t\"./pa-in\": 97877,\n\t\"./pa-in.js\": 97877,\n\t\"./pl\": 53066,\n\t\"./pl.js\": 53066,\n\t\"./pt\": 28677,\n\t\"./pt-br\": 81592,\n\t\"./pt-br.js\": 81592,\n\t\"./pt.js\": 28677,\n\t\"./ro\": 32722,\n\t\"./ro.js\": 32722,\n\t\"./ru\": 59138,\n\t\"./ru.js\": 59138,\n\t\"./sd\": 32568,\n\t\"./sd.js\": 32568,\n\t\"./se\": 49753,\n\t\"./se.js\": 49753,\n\t\"./si\": 58024,\n\t\"./si.js\": 58024,\n\t\"./sk\": 31058,\n\t\"./sk.js\": 31058,\n\t\"./sl\": 43452,\n\t\"./sl.js\": 43452,\n\t\"./sq\": 2795,\n\t\"./sq.js\": 2795,\n\t\"./sr\": 26976,\n\t\"./sr-cyrl\": 38819,\n\t\"./sr-cyrl.js\": 38819,\n\t\"./sr.js\": 26976,\n\t\"./ss\": 7467,\n\t\"./ss.js\": 7467,\n\t\"./sv\": 42787,\n\t\"./sv.js\": 42787,\n\t\"./sw\": 80298,\n\t\"./sw.js\": 80298,\n\t\"./ta\": 57532,\n\t\"./ta.js\": 57532,\n\t\"./te\": 76076,\n\t\"./te.js\": 76076,\n\t\"./tet\": 40452,\n\t\"./tet.js\": 40452,\n\t\"./tg\": 64794,\n\t\"./tg.js\": 64794,\n\t\"./th\": 48245,\n\t\"./th.js\": 48245,\n\t\"./tk\": 8870,\n\t\"./tk.js\": 8870,\n\t\"./tl-ph\": 36056,\n\t\"./tl-ph.js\": 36056,\n\t\"./tlh\": 15249,\n\t\"./tlh.js\": 15249,\n\t\"./tr\": 22053,\n\t\"./tr.js\": 22053,\n\t\"./tzl\": 39871,\n\t\"./tzl.js\": 39871,\n\t\"./tzm\": 39574,\n\t\"./tzm-latn\": 19210,\n\t\"./tzm-latn.js\": 19210,\n\t\"./tzm.js\": 39574,\n\t\"./ug-cn\": 91532,\n\t\"./ug-cn.js\": 91532,\n\t\"./uk\": 11432,\n\t\"./uk.js\": 11432,\n\t\"./ur\": 88523,\n\t\"./ur.js\": 88523,\n\t\"./uz\": 54958,\n\t\"./uz-latn\": 68735,\n\t\"./uz-latn.js\": 68735,\n\t\"./uz.js\": 54958,\n\t\"./vi\": 83398,\n\t\"./vi.js\": 83398,\n\t\"./x-pseudo\": 56665,\n\t\"./x-pseudo.js\": 56665,\n\t\"./yo\": 11642,\n\t\"./yo.js\": 11642,\n\t\"./zh-cn\": 5462,\n\t\"./zh-cn.js\": 5462,\n\t\"./zh-hk\": 92530,\n\t\"./zh-hk.js\": 92530,\n\t\"./zh-mo\": 41650,\n\t\"./zh-mo.js\": 41650,\n\t\"./zh-tw\": 97333,\n\t\"./zh-tw.js\": 97333\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 93365;","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActionButton :aria-label=\"isSupportedScope ? tooltip : tooltipDisabled\"\n\t\tclass=\"federation-actions__btn\"\n\t\t:class=\"{ 'federation-actions__btn--active': activeScope === name }\"\n\t\t:close-after-click=\"true\"\n\t\t:disabled=\"!isSupportedScope\"\n\t\t:icon=\"iconClass\"\n\t\t:title=\"displayName\"\n\t\t@click.stop.prevent=\"updateScope\">\n\t\t{{ isSupportedScope ? tooltip : tooltipDisabled }}\n\t</NcActionButton>\n</template>\n\n<script>\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\n\nexport default {\n\tname: 'FederationControlAction',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t},\n\n\tprops: {\n\t\tactiveScope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\thandleScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => {},\n\t\t},\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tisSupportedScope: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttooltipDisabled: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\tupdateScope() {\n\t\t\tthis.handleScopeChange(this.name)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions__btn {\n\t\t&::v-deep p {\n\t\t\twidth: 150px !important;\n\t\t\tpadding: 8px 0 !important;\n\t\t\tcolor: var(--color-main-text) !important;\n\t\t\tfont-size: 12.8px !important;\n\t\t\tline-height: 1.5em !important;\n\t\t}\n\t}\n\n\t.federation-actions__btn--active {\n\t\tbackground-color: var(--color-primary-light) !important;\n\t\tbox-shadow: inset 2px 0 var(--color-primary) !important;\n\t}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControlAction.vue?vue&type=template&id=1249785e&scoped=true&\"\nimport script from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\"\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 null,\n \"1249785e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcActionButton',{staticClass:\"federation-actions__btn\",class:{ 'federation-actions__btn--active': _vm.activeScope === _vm.name },attrs:{\"aria-label\":_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled,\"close-after-click\":true,\"disabled\":!_vm.isSupportedScope,\"icon\":_vm.iconClass,\"title\":_vm.displayName},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateScope.apply(null, arguments)}}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled)+\"\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `lib/public/Accounts/IAccountManager.php`\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of account properties */\nexport const ACCOUNT_PROPERTY_ENUM = Object.freeze({\n\tADDRESS: 'address',\n\tAVATAR: 'avatar',\n\tBIOGRAPHY: 'biography',\n\tDISPLAYNAME: 'displayname',\n\tEMAIL_COLLECTION: 'additional_mail',\n\tEMAIL: 'email',\n\tHEADLINE: 'headline',\n\tNOTIFICATION_EMAIL: 'notify_email',\n\tORGANISATION: 'organisation',\n\tPHONE: 'phone',\n\tPROFILE_ENABLED: 'profile_enabled',\n\tROLE: 'role',\n\tTWITTER: 'twitter',\n\tWEBSITE: 'website',\n})\n\n/** Enum of account properties to human readable account property names */\nexport const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({\n\tADDRESS: t('settings', 'Location'),\n\tAVATAR: t('settings', 'Profile picture'),\n\tBIOGRAPHY: t('settings', 'About'),\n\tDISPLAYNAME: t('settings', 'Full name'),\n\tEMAIL_COLLECTION: t('settings', 'Additional email'),\n\tEMAIL: t('settings', 'Email'),\n\tHEADLINE: t('settings', 'Headline'),\n\tORGANISATION: t('settings', 'Organisation'),\n\tPHONE: t('settings', 'Phone number'),\n\tPROFILE_ENABLED: t('settings', 'Profile'),\n\tROLE: t('settings', 'Role'),\n\tTWITTER: t('settings', 'Twitter'),\n\tWEBSITE: t('settings', 'Website'),\n})\n\nexport const NAME_READABLE_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_ENUM.ADDRESS]: ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_ENUM.AVATAR]: ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_ENUM.HEADLINE]: ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_ENUM.PHONE]: ACCOUNT_PROPERTY_READABLE_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE,\n})\n\n/** Enum of profile specific sections to human readable names */\nexport const PROFILE_READABLE_ENUM = Object.freeze({\n\tPROFILE_VISIBILITY: t('settings', 'Profile visibility'),\n})\n\n/** Enum of readable account properties to account property keys used by the server */\nexport const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: ACCOUNT_PROPERTY_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: ACCOUNT_PROPERTY_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: ACCOUNT_PROPERTY_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: ACCOUNT_PROPERTY_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE,\n})\n\n/**\n * Enum of account setting properties\n *\n * Account setting properties unlike account properties do not support scopes*\n */\nexport const ACCOUNT_SETTING_PROPERTY_ENUM = Object.freeze({\n\tLANGUAGE: 'language',\n\tLOCALE: 'locale',\n})\n\n/** Enum of account setting properties to human readable setting properties */\nexport const ACCOUNT_SETTING_PROPERTY_READABLE_ENUM = Object.freeze({\n\tLANGUAGE: t('settings', 'Language'),\n\tLOCALE: t('settings', 'Locale'),\n})\n\n/** Enum of scopes */\nexport const SCOPE_ENUM = Object.freeze({\n\tPRIVATE: 'v2-private',\n\tLOCAL: 'v2-local',\n\tFEDERATED: 'v2-federated',\n\tPUBLISHED: 'v2-published',\n})\n\n/** Enum of readable account properties to supported scopes */\nexport const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n})\n\n/** List of readable account properties which aren't published to the lookup server */\nexport const UNPUBLISHED_READABLE_PROPERTIES = Object.freeze([\n\tACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\tACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n])\n\n/** Scope suffix */\nexport const SCOPE_SUFFIX = 'Scope'\n\n/**\n * Enum of scope names to properties\n *\n * Used for federation control*\n */\nexport const SCOPE_PROPERTY_ENUM = Object.freeze({\n\t[SCOPE_ENUM.PRIVATE]: {\n\t\tname: SCOPE_ENUM.PRIVATE,\n\t\tdisplayName: t('settings', 'Private'),\n\t\ttooltip: t('settings', 'Only visible to people matched via phone number integration through Talk on mobile'),\n\t\ttooltipDisabled: t('settings', 'Not available as this property is required for core functionality including file sharing and calendar invitations'),\n\t\ticonClass: 'icon-phone',\n\t},\n\t[SCOPE_ENUM.LOCAL]: {\n\t\tname: SCOPE_ENUM.LOCAL,\n\t\tdisplayName: t('settings', 'Local'),\n\t\ttooltip: t('settings', 'Only visible to people on this instance and guests'),\n\t\t// tooltipDisabled is not required here as this scope is supported by all account properties\n\t\ticonClass: 'icon-password',\n\t},\n\t[SCOPE_ENUM.FEDERATED]: {\n\t\tname: SCOPE_ENUM.FEDERATED,\n\t\tdisplayName: t('settings', 'Federated'),\n\t\ttooltip: t('settings', 'Only synchronize to trusted servers'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-contacts-dark',\n\t},\n\t[SCOPE_ENUM.PUBLISHED]: {\n\t\tname: SCOPE_ENUM.PUBLISHED,\n\t\tdisplayName: t('settings', 'Published'),\n\t\ttooltip: t('settings', 'Synchronize to trusted servers and the global and public address book'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-link',\n\t},\n})\n\n/** Default additional email scope */\nexport const DEFAULT_ADDITIONAL_EMAIL_SCOPE = SCOPE_ENUM.LOCAL\n\n/** Enum of verification constants, according to IAccountManager */\nexport const VERIFICATION_ENUM = Object.freeze({\n\tNOT_VERIFIED: 0,\n\tVERIFICATION_IN_PROGRESS: 1,\n\tVERIFIED: 2,\n})\n\n/**\n * Email validation regex\n *\n * Sourced from https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/regexp/ascii.ts*\n */\n// eslint-disable-next-line no-control-regex\nexport const VALIDATE_EMAIL_REGEX = /^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/i\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants'\n\n/**\n * Save the primary account property value for the user\n *\n * @param {string} accountProperty the account property\n * @param {string|boolean} value the primary value\n * @return {object}\n */\nexport const savePrimaryAccountProperty = async (accountProperty, value) => {\n\t// TODO allow boolean values on backend route handler\n\t// Convert boolean to string for compatibility\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? '1' : '0'\n\t}\n\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: accountProperty,\n\t\tvalue,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope of the primary account property for the user\n *\n * @param {string} accountProperty the account property\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryAccountPropertyScope = async (accountProperty, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${accountProperty}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActions :class=\"{ 'federation-actions': !additional, 'federation-actions--additional': additional }\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t:default-icon=\"scopeIcon\"\n\t\t:disabled=\"disabled\">\n\t\t<FederationControlAction v-for=\"federationScope in federationScopes\"\n\t\t\t:key=\"federationScope.name\"\n\t\t\t:active-scope=\"scope\"\n\t\t\t:display-name=\"federationScope.displayName\"\n\t\t\t:handle-scope-change=\"changeScope\"\n\t\t\t:icon-class=\"federationScope.iconClass\"\n\t\t\t:is-supported-scope=\"supportedScopes.includes(federationScope.name)\"\n\t\t\t:name=\"federationScope.name\"\n\t\t\t:tooltip-disabled=\"federationScope.tooltipDisabled\"\n\t\t\t:tooltip=\"federationScope.tooltip\" />\n\t</NcActions>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\n\nimport FederationControlAction from './FederationControlAction.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tACCOUNT_SETTING_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n\tPROPERTY_READABLE_KEYS_ENUM,\n\tPROPERTY_READABLE_SUPPORTED_SCOPES_ENUM,\n\tSCOPE_ENUM, SCOPE_PROPERTY_ENUM,\n\tUNPUBLISHED_READABLE_PROPERTIES,\n} from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountPropertyScope } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport logger from '../../../logger.js'\n\nconst { lookupServerUploadEnabled } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'FederationControl',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tFederationControlAction,\n\t},\n\n\tprops: {\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(value) || Object.values(ACCOUNT_SETTING_PROPERTY_READABLE_ENUM).includes(value) || value === PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t},\n\t\tadditional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tadditionalValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thandleAdditionalScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\treadableLowerCase: this.readable.toLocaleLowerCase(),\n\t\t\tinitialScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('settings', 'Change scope level of {property}, current scope is {scope}', { property: this.readableLowerCase, scope: this.scopeDisplayNameLowerCase })\n\t\t},\n\n\t\tscopeDisplayNameLowerCase() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].displayName.toLocaleLowerCase()\n\t\t},\n\n\t\tscopeIcon() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].iconClass\n\t\t},\n\n\t\tfederationScopes() {\n\t\t\treturn Object.values(SCOPE_PROPERTY_ENUM)\n\t\t},\n\n\t\tsupportedScopes() {\n\t\t\tif (lookupServerUploadEnabled && !UNPUBLISHED_READABLE_PROPERTIES.includes(this.readable)) {\n\t\t\t\treturn [\n\t\t\t\t\t...PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable],\n\t\t\t\t\tSCOPE_ENUM.FEDERATED,\n\t\t\t\t\tSCOPE_ENUM.PUBLISHED,\n\t\t\t\t]\n\t\t\t}\n\n\t\t\treturn PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable]\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync changeScope(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\n\t\t\tif (!this.additional) {\n\t\t\t\tawait this.updatePrimaryScope(scope)\n\t\t\t} else {\n\t\t\t\tawait this.updateAdditionalScope(scope)\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountPropertyScope(PROPERTY_READABLE_KEYS_ENUM[this.readable], scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of the primary {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync updateAdditionalScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await this.handleAdditionalScopeChange(this.additionalValue, scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of additional {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ scope, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialScope = scope\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:scope', this.initialScope)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions,\n\t.federation-actions--additional {\n\t\topacity: 0.4 !important;\n\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: 0.8 !important;\n\t\t}\n\t}\n\n\t.federation-actions--additional {\n\t\t&::v-deep button {\n\t\t\t// TODO remove this hack\n\t\t\tpadding-bottom: 7px;\n\t\t\theight: 30px !important;\n\t\t\tmin-height: 30px !important;\n\t\t\twidth: 30px !important;\n\t\t\tmin-width: 30px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControl.vue?vue&type=template&id=4c6905d9&scoped=true&\"\nimport script from \"./FederationControl.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControl.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\"\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 null,\n \"4c6905d9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcActions',{class:{ 'federation-actions': !_vm.additional, 'federation-actions--additional': _vm.additional },attrs:{\"aria-label\":_vm.ariaLabel,\"default-icon\":_vm.scopeIcon,\"disabled\":_vm.disabled}},_vm._l((_vm.federationScopes),function(federationScope){return _c('FederationControlAction',{key:federationScope.name,attrs:{\"active-scope\":_vm.scope,\"display-name\":federationScope.displayName,\"handle-scope-change\":_vm.changeScope,\"icon-class\":federationScope.iconClass,\"is-supported-scope\":_vm.supportedScopes.includes(federationScope.name),\"name\":federationScope.name,\"tooltip-disabled\":federationScope.tooltipDisabled,\"tooltip\":federationScope.tooltip}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<h3 :class=\"{ 'setting-property': isSettingProperty, 'profile-property': isProfileProperty }\">\n\t\t<label :for=\"inputId\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</label>\n\n\t\t<template v-if=\"scope\">\n\t\t\t<FederationControl class=\"federation-control\"\n\t\t\t\t:readable=\"readable\"\n\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t</template>\n\n\t\t<template v-if=\"isEditable && isMultiValueSupported\">\n\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t:disabled=\"!isValidSection\"\n\t\t\t\t:aria-label=\"t('settings', 'Add additional email')\"\n\t\t\t\t@click.stop.prevent=\"onAddAdditional\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('settings', 'Add') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</h3>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\nimport Plus from 'vue-material-design-icons/Plus'\n\nimport FederationControl from './FederationControl.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n} from '../../../constants/AccountPropertyConstants.js'\n\nexport default {\n\tname: 'HeaderBar',\n\n\tcomponents: {\n\t\tFederationControl,\n\t\tNcButton,\n\t\tPlus,\n\t},\n\n\tprops: {\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisMultiValueSupported: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisValidSection: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisProfileProperty() {\n\t\t\treturn this.readable === ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED\n\t\t},\n\n\t\tisSettingProperty() {\n\t\t\treturn !Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(this.readable) && !Object.values(PROFILE_READABLE_ENUM).includes(this.readable)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditional() {\n\t\t\tthis.$emit('add-additional')\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\th3 {\n\t\tdisplay: inline-flex;\n\t\twidth: 100%;\n\t\tmargin: 12px 0 0 0;\n\t\tgap: 8px;\n\t\talign-items: center;\n\t\tfont-size: 16px;\n\t\tcolor: var(--color-text-light);\n\n\t\t&.profile-property {\n\t\t\theight: 38px;\n\t\t}\n\n\t\t&.setting-property {\n\t\t\theight: 44px;\n\t\t}\n\n\t\tlabel {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.federation-control {\n\t\tmargin: 0;\n\t}\n\n\t.button-vue {\n\t\tmargin: 0 0 0 auto !important;\n\t}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderBar.vue?vue&type=template&id=8094b2e6&scoped=true&\"\nimport script from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\"\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 null,\n \"8094b2e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h3',{class:{ 'setting-property': _vm.isSettingProperty, 'profile-property': _vm.isProfileProperty }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.scope)?[_c('FederationControl',{staticClass:\"federation-control\",attrs:{\"readable\":_vm.readable,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),(_vm.isEditable && _vm.isMultiValueSupported)?[_c('NcButton',{attrs:{\"type\":\"tertiary\",\"disabled\":!_vm.isValidSection,\"aria-label\":_vm.t('settings', 'Add additional email')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onAddAdditional.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}],null,false,32235154)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add'))+\"\\n\\t\\t\")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"avatarChangeSupported ? inputId : null\"\n\t\t\t:readable=\"avatar.readable\"\n\t\t\t:scope.sync=\"avatar.scope\" />\n\n\t\t<div v-if=\"!showCropper\" class=\"avatar__container\">\n\t\t\t<div class=\"avatar__preview\">\n\t\t\t\t<NcAvatar v-if=\"!loading\"\n\t\t\t\t\t:user=\"userId\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Your profile picture')\"\n\t\t\t\t\t:disabled-menu=\"true\"\n\t\t\t\t\t:disabled-tooltip=\"true\"\n\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t:size=\"180\"\n\t\t\t\t\t:key=\"version\" />\n\t\t\t\t<div v-else class=\"icon-loading\" />\n\t\t\t</div>\n\t\t\t<template v-if=\"avatarChangeSupported\">\n\t\t\t\t<div class=\"avatar__buttons\">\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Upload profile picture')\"\n\t\t\t\t\t\t@click=\"activateLocalFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Upload :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Choose profile picture from files')\"\n\t\t\t\t\t\t@click=\"openFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Folder :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton v-if=\"!isGenerated\"\n\t\t\t\t\t\t:aria-label=\"t('settings', 'Remove profile picture')\"\n\t\t\t\t\t\t@click=\"removeAvatar\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('settings', 'png or jpg, max. 20 MB') }}</span>\n\t\t\t\t<input ref=\"input\"\n\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t:accept=\"validMimeTypes.join(',')\"\n\t\t\t\t\t@change=\"onChange\">\n\t\t\t</template>\n\t\t\t<span v-else>\n\t\t\t\t{{ t('settings', 'Picture provided by original account') }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- Use v-show to ensure early cropper ref availability -->\n\t\t<div v-show=\"showCropper\" class=\"avatar__container\">\n\t\t\t<VueCropper ref=\"cropper\"\n\t\t\t\tclass=\"avatar__cropper\"\n\t\t\t\tv-bind=\"cropperOptions\" />\n\t\t\t<div class=\"avatar__cropper-buttons\">\n\t\t\t\t<NcButton @click=\"cancel\">\n\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t@click=\"saveAvatar\">\n\t\t\t\t\t{{ t('settings', 'Set as profile picture') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<span>{{ t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.') }}</span>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\nimport VueCropper from 'vue-cropperjs'\n// eslint-disable-next-line node/no-extraneous-import\nimport 'cropperjs/dist/cropper.css'\n\nimport Upload from 'vue-material-design-icons/Upload'\nimport Folder from 'vue-material-design-icons/Folder'\nimport Delete from 'vue-material-design-icons/Delete'\n\nimport HeaderBar from './shared/HeaderBar.vue'\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { avatar } = loadState('settings', 'personalInfoParameters', {})\nconst { avatarChangeSupported } = loadState('settings', 'accountParameters', {})\n\nconst VALID_MIME_TYPES = ['image/png', 'image/jpeg']\n\nconst picker = getFilePickerBuilder(t('settings', 'Choose your profile picture'))\n\t.setMultiSelect(false)\n\t.setMimeTypeFilter(VALID_MIME_TYPES)\n\t.setModal(true)\n\t.setType(1)\n\t.allowDirectories(false)\n\t.build()\n\nexport default {\n\tname: 'AvatarSection',\n\n\tcomponents: {\n\t\tDelete,\n\t\tFolder,\n\t\tHeaderBar,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tUpload,\n\t\tVueCropper,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tavatar: { ...avatar, readable: NAME_READABLE_ENUM[avatar.name] },\n\t\t\tavatarChangeSupported,\n\t\t\tshowCropper: false,\n\t\t\tloading: false,\n\t\t\tuserId: getCurrentUser().uid,\n\t\t\tdisplayName: getCurrentUser().displayName,\n\t\t\tversion: oc_userconfig.avatar.version,\n\t\t\tisGenerated: oc_userconfig.avatar.generated,\n\t\t\tvalidMimeTypes: VALID_MIME_TYPES,\n\t\t\tcropperOptions: {\n\t\t\t\taspectRatio: 1 / 1,\n\t\t\t\tviewMode: 1,\n\t\t\t\tguides: false,\n\t\t\t\tcenter: false,\n\t\t\t\thighlight: false,\n\t\t\t\tautoCropArea: 1,\n\t\t\t\tminContainerWidth: 300,\n\t\t\t\tminContainerHeight: 300,\n\t\t\t},\n\t\t}\n\t},\n\n\tcreated() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.avatar.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tactivateLocalFilePicker() {\n\t\t\t// Set to null so that selecting the same file will trigger the change event\n\t\t\tthis.$refs.input.value = null\n\t\t\tthis.$refs.input.click()\n\t\t},\n\n\t\tonChange(e) {\n\t\t\tthis.loading = true\n\t\t\tconst file = e.target.files[0]\n\t\t\tif (!this.validMimeTypes.includes(file.type)) {\n\t\t\t\tshowError(t('settings', 'Please select a valid png or jpg file'))\n\t\t\t\tthis.cancel()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst reader = new FileReader()\n\t\t\treader.onload = (e) => {\n\t\t\t\tthis.$refs.cropper.replace(e.target.result)\n\t\t\t\tthis.showCropper = true\n\t\t\t}\n\t\t\treader.readAsDataURL(file)\n\t\t},\n\n\t\tasync openFilePicker() {\n\t\t\tconst path = await picker.pick()\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.post(generateUrl('/avatar'), { path })\n\t\t\t\tif (data.status === 'success') {\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} else if (data.data === 'notsquare') {\n\t\t\t\t\tconst tempAvatar = generateUrl('/avatar/tmp') + '?requesttoken=' + encodeURIComponent(OC.requestToken) + '#' + Math.floor(Math.random() * 1000)\n\t\t\t\t\tthis.$refs.cropper.replace(tempAvatar)\n\t\t\t\t\tthis.showCropper = true\n\t\t\t\t} else {\n\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\tthis.cancel()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error setting profile picture'))\n\t\t\t\tthis.cancel()\n\t\t\t}\n\t\t},\n\n\t\tsaveAvatar() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = true\n\n\t\t\tthis.$refs.cropper.getCroppedCanvas().toBlob(async (blob) => {\n\t\t\t\tif (blob === null) {\n\t\t\t\t\tshowError(t('settings', 'Error cropping profile picture'))\n\t\t\t\t\tthis.cancel()\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst formData = new FormData()\n\t\t\t\tformData.append('files[]', blob)\n\t\t\t\ttry {\n\t\t\t\t\tawait axios.post(generateUrl('/avatar'), formData)\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tshowError(t('settings', 'Error saving profile picture'))\n\t\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync removeAvatar() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait axios.delete(generateUrl('/avatar'))\n\t\t\t\tthis.handleAvatarUpdate(true)\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error removing profile picture'))\n\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t}\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = false\n\t\t},\n\n\t\thandleAvatarUpdate(isGenerated) {\n\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\tthis.version = oc_userconfig.avatar.version = Date.now()\n\t\t\tthis.isGenerated = oc_userconfig.avatar.generated = isGenerated\n\t\t\tthis.loading = false\n\t\t\temit('settings:avatar:updated', oc_userconfig.avatar.version)\n\t\t\t/**\n\t\t\t * FIXME refresh all other avatars on the page when updated,\n\t\t\t * the NcAvatar component itself should listen to the\n\t\t\t * global events and optionally live refresh with a prop toggle\n\t\t\t * https://github.com/nextcloud/nextcloud-vue/issues/2975\n\t\t\t */\n\t\t},\n\n\t\thandleDisplayNameUpdate() {\n\t\t\tthis.version = oc_userconfig.avatar.version\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: 300px;\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=style&index=0&id=17216d6a&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=style&index=0&id=17216d6a&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarSection.vue?vue&type=template&id=17216d6a&scoped=true&\"\nimport script from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvatarSection.vue?vue&type=style&index=0&id=17216d6a&lang=scss&scoped=true&\"\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 null,\n \"17216d6a\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.avatarChangeSupported ? _vm.inputId : null,\"readable\":_vm.avatar.readable,\"scope\":_vm.avatar.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.avatar, \"scope\", $event)}}}),_vm._v(\" \"),(!_vm.showCropper)?_c('div',{staticClass:\"avatar__container\"},[_c('div',{staticClass:\"avatar__preview\"},[(!_vm.loading)?_c('NcAvatar',{key:_vm.version,attrs:{\"user\":_vm.userId,\"aria-label\":_vm.t('settings', 'Your profile picture'),\"disabled-menu\":true,\"disabled-tooltip\":true,\"show-user-status\":false,\"size\":180}}):_c('div',{staticClass:\"icon-loading\"})],1),_vm._v(\" \"),(_vm.avatarChangeSupported)?[_c('div',{staticClass:\"avatar__buttons\"},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Upload profile picture')},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}],null,false,1329850251)}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Choose profile picture from files')},on:{\"click\":_vm.openFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder',{attrs:{\"size\":20}})]},proxy:true}],null,false,4270628382)}),_vm._v(\" \"),(!_vm.isGenerated)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Remove profile picture')},on:{\"click\":_vm.removeAvatar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e()],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'png or jpg, max. 20 MB')))]),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"type\":\"file\",\"accept\":_vm.validMimeTypes.join(',')},on:{\"change\":_vm.onChange}})]:_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Picture provided by original account'))+\"\\n\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCropper),expression:\"showCropper\"}],staticClass:\"avatar__container\"},[_c('VueCropper',_vm._b({ref:\"cropper\",staticClass:\"avatar__cropper\"},'VueCropper',_vm.cropperOptions,false)),_vm._v(\" \"),_c('div',{staticClass:\"avatar__cropper-buttons\"},[_c('NcButton',{on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveAvatar}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set as profile picture'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"t('settings', 'Details')\" />\n\n\t\t<div class=\"details\">\n\t\t\t<div class=\"details__groups\">\n\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t<div class=\"details__groups-info\">\n\t\t\t\t\t<p>{{ t('settings', 'You are a member of the following groups:') }}</p>\n\t\t\t\t\t<p class=\"details__groups-list\">{{ groups.join(', ') }}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"details__quota\">\n\t\t\t\t<CircleSlice :size=\"20\" />\n\t\t\t\t<div class=\"details__quota-info\">\n\t\t\t\t\t<p class=\"details__quota-text\" v-html=\"quotaText\" />\n\t\t\t\t\t<NcProgressBar size=\"medium\"\n\t\t\t\t\t\t:value=\"usageRelative\"\n\t\t\t\t\t\t:error=\"usageRelative > 80\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar'\n\nimport Account from 'vue-material-design-icons/Account'\nimport CircleSlice from 'vue-material-design-icons/CircleSlice3'\n\nimport HeaderBar from './shared/HeaderBar.vue'\n\n/** SYNC to be kept in sync with `lib/public/Files/FileInfo.php` */\nconst SPACE_UNLIMITED = -3\n\nconst { groups, quota, totalSpace, usage, usageRelative } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'DetailsSection',\n\n\tcomponents: {\n\t\tAccount,\n\t\tCircleSlice,\n\t\tHeaderBar,\n\t\tNcProgressBar,\n\t},\n\n\tcomputed: {\n\t\tquotaText() {\n\t\t\tif (quota === SPACE_UNLIMITED) {\n\t\t\t\treturn t('settings', 'You are using <strong>{usage}</strong>', { usage })\n\t\t\t}\n\t\t\treturn t(\n\t\t\t\t'settings',\n\t\t\t\t'You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)',\n\t\t\t\t{ usage, totalSpace, usageRelative },\n\t\t\t)\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tusageRelative,\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DetailsSection.vue?vue&type=template&id=546e7ece&scoped=true&\"\nimport script from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\"\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 null,\n \"546e7ece\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.t('settings', 'Details')}}),_vm._v(\" \"),_c('div',{staticClass:\"details\"},[_c('div',{staticClass:\"details__groups\"},[_c('Account',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__groups-info\"},[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'You are a member of the following groups:')))]),_vm._v(\" \"),_c('p',{staticClass:\"details__groups-list\"},[_vm._v(_vm._s(_vm.groups.join(', ')))])])],1),_vm._v(\" \"),_c('div',{staticClass:\"details__quota\"},[_c('CircleSlice',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__quota-info\"},[_c('p',{staticClass:\"details__quota-text\",domProps:{\"innerHTML\":_vm._s(_vm.quotaText)}}),_vm._v(\" \"),_c('NcProgressBar',{attrs:{\"size\":\"medium\",\"value\":_vm.usageRelative,\"error\":_vm.usageRelative > 80}})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :scope.sync=\"scope\"\n\t\t\t:readable.sync=\"readable\"\n\t\t\t:input-id=\"inputId\"\n\t\t\t:is-editable=\"isEditable\" />\n\n\t\t<div v-if=\"isEditable\" class=\"property\">\n\t\t\t<textarea v-if=\"multiLine\"\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:value=\"value\"\n\t\t\t\trows=\"8\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onPropertyChange\" />\n\t\t\t<input v-else\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:value=\"value\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"on\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onPropertyChange\">\n\n\t\t\t<div class=\"property__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\t\t<span v-else>\n\t\t\t{{ value || t('settings', 'No {property} set', { property: readable.toLocaleLowerCase() }) }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport debounce from 'debounce'\nimport { showError } from '@nextcloud/dialogs'\n\nimport Check from 'vue-material-design-icons/Check'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'AccountPropertySection',\n\n\tcomponents: {\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tHeaderBar,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmultiLine: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tonValidate: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tonSave: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialValue: this.value,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonPropertyChange(e) {\n\t\t\tthis.$emit('update:value', e.target.value)\n\t\t\tthis.debouncePropertyChange(e.target.value.trim())\n\t\t},\n\n\t\tdebouncePropertyChange: debounce(async function(value) {\n\t\t\tif (this.onValidate && !this.onValidate(value)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tawait this.updateProperty(value)\n\t\t}, 500),\n\n\t\tasync updateProperty(value) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(\n\t\t\t\t\tthis.name,\n\t\t\t\t\tvalue,\n\t\t\t\t)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvalue,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update {property}', { property: this.readable.toLocaleLowerCase() }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ value, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialValue = value\n\t\t\t\tif (this.onSave) {\n\t\t\t\t\tthis.onSave(value)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:value', this.initialValue)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountPropertySection.vue?vue&type=template&id=7c2c5fa4&scoped=true&\"\nimport script from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\"\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 null,\n \"7c2c5fa4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"scope\":_vm.scope,\"readable\":_vm.readable,\"input-id\":_vm.inputId,\"is-editable\":_vm.isEditable},on:{\"update:scope\":function($event){_vm.scope=$event},\"update:readable\":function($event){_vm.readable=$event}}}),_vm._v(\" \"),(_vm.isEditable)?_c('div',{staticClass:\"property\"},[(_vm.multiLine)?_c('textarea',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"rows\":\"8\",\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}):_c('input',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"autocapitalize\":\"none\",\"autocomplete\":\"on\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}),_vm._v(\" \"),_c('div',{staticClass:\"property__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1)],1)]):_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.value || _vm.t('settings', 'No {property} set', { property: _vm.readable.toLocaleLowerCase() }))+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"displayName\"\n\t\t:placeholder=\"t('settings', 'Your full name')\"\n\t\t:is-editable=\"displayNameChangeSupported\"\n\t\t:on-validate=\"onValidate\"\n\t\t:on-save=\"onSave\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { emit } from '@nextcloud/event-bus'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { displayName } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'DisplayNameSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdisplayName: { ...displayName, readable: NAME_READABLE_ENUM[displayName.name] },\n\t\t\tdisplayNameChangeSupported,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn value !== ''\n\t\t},\n\n\t\tonSave(value) {\n\t\t\tif (oc_userconfig.avatar.generated) {\n\t\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\t\toc_userconfig.avatar.version = Date.now()\n\t\t\t}\n\t\t\temit('settings:display-name:updated', value)\n\t\t},\n\t}\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisplayNameSection.vue?vue&type=template&id=8950c424&\"\nimport script from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your full name'),\"is-editable\":_vm.displayNameChangeSupported,\"on-validate\":_vm.onValidate,\"on-save\":_vm.onSave}},'AccountPropertySection',_vm.displayName,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { ACCOUNT_PROPERTY_ENUM, SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants'\n\n/**\n * Save the primary email of the user\n *\n * @param {string} email the primary email\n * @return {object}\n */\nexport const savePrimaryEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save an additional email of the user\n *\n * Will be appended to the user's additional emails*\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const saveAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the notification email of the user\n *\n * @param {string} email the notification email\n * @return {object}\n */\nexport const saveNotificationEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.NOTIFICATION_EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Remove an additional email of the user\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const removeAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: '',\n\t})\n\n\treturn res.data\n}\n\n/**\n * Update an additional email of the user\n *\n * @param {string} prevEmail the additional email to be updated\n * @param {string} newEmail the new additional email\n * @return {object}\n */\nexport const updateAdditionalEmail = async (prevEmail, newEmail) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: prevEmail,\n\t\tvalue: newEmail,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the primary email of the user\n *\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryEmailScope = async (scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${ACCOUNT_PROPERTY_ENUM.EMAIL}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the additional email of the user\n *\n * @param {string} email the additional email\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const saveAdditionalEmailScope = async (email, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collectionScope}', { userId, collectionScope: `${ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION}${SCOPE_SUFFIX}` })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * Frontend validators, less strict than backend validators\n *\n * TODO add nice validation errors for Profile page settings modal\n */\n\nimport { VALIDATE_EMAIL_REGEX } from '../constants/AccountPropertyConstants.js'\n\n/**\n * Validate the email input\n *\n * Compliant with PHP core FILTER_VALIDATE_EMAIL validator*\n *\n * Reference implementation https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/index.ts*\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateEmail(input) {\n\treturn typeof input === 'string'\n\t\t&& VALIDATE_EMAIL_REGEX.test(input)\n\t\t&& input.slice(-1) !== '\\n'\n\t\t&& input.length <= 320\n\t\t&& encodeURIComponent(input).replace(/%../g, 'x').length <= 320\n}\n\n/**\n * Validate the URL input\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateUrl(input) {\n\ttry {\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(input)\n\t\treturn true\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\n/**\n * Validate the language input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLanguage(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate the locale input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLocale(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate boolean input\n *\n * @param {boolean} input the input\n * @return {boolean}\n */\nexport function validateBoolean(input) {\n\treturn typeof input === 'boolean'\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div>\n\t\t<div class=\"email\">\n\t\t\t<input :id=\"inputId\"\n\t\t\t\tref=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t\t:value=\"email\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"on\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onEmailChange\">\n\n\t\t\t<div class=\"email__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\n\t\t\t\t<template v-if=\"!primary\">\n\t\t\t\t\t<FederationControl :readable=\"propertyReadable\"\n\t\t\t\t\t\t:additional=\"true\"\n\t\t\t\t\t\t:additional-value=\"email\"\n\t\t\t\t\t\t:disabled=\"federationDisabled\"\n\t\t\t\t\t\t:handle-additional-scope-change=\"saveAdditionalEmailScope\"\n\t\t\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t\t\t</template>\n\n\t\t\t\t<NcActions class=\"email__actions\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Email options')\"\n\t\t\t\t\t:force-menu=\"true\">\n\t\t\t\t\t<NcActionButton :aria-label=\"deleteEmailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"deleteDisabled\"\n\t\t\t\t\t\ticon=\"icon-delete\"\n\t\t\t\t\t\t@click.stop.prevent=\"deleteEmail\">\n\t\t\t\t\t\t{{ deleteEmailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton v-if=\"!primary || !isNotificationEmail\"\n\t\t\t\t\t\t:aria-label=\"setNotificationMailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"setNotificationMailDisabled\"\n\t\t\t\t\t\ticon=\"icon-favorite\"\n\t\t\t\t\t\t@click.stop.prevent=\"setNotificationMail\">\n\t\t\t\t\t\t{{ setNotificationMailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<em v-if=\"isNotificationEmail\">\n\t\t\t{{ t('settings', 'Primary email for password reset and notifications') }}\n\t\t</em>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon'\nimport Check from 'vue-material-design-icons/Check'\nimport { showError } from '@nextcloud/dialogs'\nimport debounce from 'debounce'\n\nimport FederationControl from '../shared/FederationControl.vue'\nimport logger from '../../../logger.js'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, VERIFICATION_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport {\n\tremoveAdditionalEmail,\n\tsaveAdditionalEmail,\n\tsaveAdditionalEmailScope,\n\tsaveNotificationEmail,\n\tsavePrimaryEmail,\n\tupdateAdditionalEmail,\n} from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\n\nexport default {\n\tname: 'Email',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tFederationControl,\n\t},\n\n\tprops: {\n\t\temail: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tactiveNotificationEmail: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tlocalVerificationState: {\n\t\t\ttype: Number,\n\t\t\tdefault: VERIFICATION_ENUM.NOT_VERIFIED,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tinitialEmail: this.email,\n\t\t\tlocalScope: this.scope,\n\t\t\tsaveAdditionalEmailScope,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdeleteDisabled() {\n\t\t\tif (this.primary) {\n\t\t\t\t// Disable for empty primary email as there is nothing to delete\n\t\t\t\t// OR when initialEmail (reflects server state) and email (current input) are not the same\n\t\t\t\treturn this.email === '' || this.initialEmail !== this.email\n\t\t\t} else if (this.initialEmail !== '') {\n\t\t\t\treturn this.initialEmail !== this.email\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdeleteEmailLabel() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Remove primary email')\n\t\t\t}\n\t\t\treturn t('settings', 'Delete email')\n\t\t},\n\n\t setNotificationMailDisabled() {\n\t\t\treturn !this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED\n\t\t},\n\n\t setNotificationMailLabel() {\n\t\t\tif (this.isNotificationEmail) {\n\t\t\t\treturn t('settings', 'Unset as primary email')\n\t\t\t} else if (!this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED) {\n\t\t\t\treturn t('settings', 'This address is not confirmed')\n\t\t\t}\n\t\t\treturn t('settings', 'Set as primary email')\n\t\t},\n\n\t\tfederationDisabled() {\n\t\t\treturn !this.initialEmail\n\t\t},\n\n\t\tinputId() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn 'email'\n\t\t\t}\n\t\t\treturn `email-${this.index}`\n\t\t},\n\n\t\tinputPlaceholder() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Your email address')\n\t\t\t}\n\t\t\treturn t('settings', 'Additional email address {index}', { index: this.index + 1 })\n\t\t},\n\n\t\tisNotificationEmail() {\n\t\t\treturn (this.email && this.email === this.activeNotificationEmail)\n\t\t\t\t|| (this.primary && this.activeNotificationEmail === '')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.primary && this.initialEmail === '') {\n\t\t\t// $nextTick is needed here, otherwise it may not always work https://stackoverflow.com/questions/51922767/autofocus-input-on-mount-vue-ios/63485725#63485725\n\t\t\tthis.$nextTick(() => this.$refs.email?.focus())\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonEmailChange(e) {\n\t\t\tthis.$emit('update:email', e.target.value)\n\t\t\tthis.debounceEmailChange(e.target.value.trim())\n\t\t},\n\n\t\tdebounceEmailChange: debounce(async function(email) {\n\t\t\tif (validateEmail(email) || email === '') {\n\t\t\t\tif (this.primary) {\n\t\t\t\t\tawait this.updatePrimaryEmail(email)\n\t\t\t\t} else {\n\t\t\t\t\tif (email) {\n\t\t\t\t\t\tif (this.initialEmail === '') {\n\t\t\t\t\t\t\tawait this.addAdditionalEmail(email)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tawait this.updateAdditionalEmail(email)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 500),\n\n\t\tasync deleteEmail() {\n\t\t\tif (this.primary) {\n\t\t\t\tthis.$emit('update:email', '')\n\t\t\t\tawait this.updatePrimaryEmail('')\n\t\t\t} else {\n\t\t\t\tawait this.deleteAdditionalEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (email === '') {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to delete primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to update primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync addAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveAdditionalEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to add additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync setNotificationMail() {\n\t\t try {\n\t\t\t const newNotificationMailValue = (this.primary || this.isNotificationEmail) ? '' : this.initialEmail\n\t\t\t const responseData = await saveNotificationEmail(newNotificationMailValue)\n\t\t\t this.handleResponse({\n\t\t\t\t notificationEmail: newNotificationMailValue,\n\t\t\t\t status: responseData.ocs?.meta?.status,\n\t\t\t })\n\t\t } catch (e) {\n\t\t\t this.handleResponse({\n\t\t\t\t errorMessage: 'Unable to choose this email for notifications',\n\t\t\t\t error: e,\n\t\t\t })\n\t\t }\n\t\t},\n\n\t\tasync updateAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await updateAdditionalEmail(this.initialEmail, email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync deleteAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.initialEmail)\n\t\t\t\tthis.handleDeleteAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$emit('delete-additional-email')\n\t\t\t} else {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ email, notificationEmail, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tif (email) {\n\t\t\t\t\tthis.initialEmail = email\n\t\t\t\t} else if (notificationEmail !== undefined) {\n\t\t\t\t\tthis.$emit('update:notification-email', notificationEmail)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\topacity: 0.4 !important;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=ad393090&scoped=true&\"\nimport script from \"./Email.vue?vue&type=script&lang=js&\"\nexport * from \"./Email.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\"\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 null,\n \"ad393090\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"email\"},[_c('input',{ref:\"email\",attrs:{\"id\":_vm.inputId,\"type\":\"email\",\"placeholder\":_vm.inputPlaceholder,\"autocapitalize\":\"none\",\"autocomplete\":\"on\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.email},on:{\"input\":_vm.onEmailChange}}),_vm._v(\" \"),_c('div',{staticClass:\"email__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),(!_vm.primary)?[_c('FederationControl',{attrs:{\"readable\":_vm.propertyReadable,\"additional\":true,\"additional-value\":_vm.email,\"disabled\":_vm.federationDisabled,\"handle-additional-scope-change\":_vm.saveAdditionalEmailScope,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),_c('NcActions',{staticClass:\"email__actions\",attrs:{\"aria-label\":_vm.t('settings', 'Email options'),\"force-menu\":true}},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.deleteEmailLabel,\"close-after-click\":true,\"disabled\":_vm.deleteDisabled,\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.deleteEmail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.deleteEmailLabel)+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.primary || !_vm.isNotificationEmail)?_c('NcActionButton',{attrs:{\"aria-label\":_vm.setNotificationMailLabel,\"close-after-click\":true,\"disabled\":_vm.setNotificationMailDisabled,\"icon\":\"icon-favorite\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setNotificationMail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.setNotificationMailLabel)+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1)],2)]),_vm._v(\" \"),(_vm.isNotificationEmail)?_c('em',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Primary email for password reset and notifications'))+\"\\n\\t\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"primaryEmail.readable\"\n\t\t\t:handle-scope-change=\"savePrimaryEmailScope\"\n\t\t\t:is-editable=\"true\"\n\t\t\t:is-multi-value-supported=\"true\"\n\t\t\t:is-valid-section=\"isValidSection\"\n\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t@add-additional=\"onAddAdditionalEmail\" />\n\n\t\t<template v-if=\"displayNameChangeSupported\">\n\t\t\t<Email :primary=\"true\"\n\t\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t\t:email.sync=\"primaryEmail.value\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ primaryEmail.value || t('settings', 'No email address set') }}\n\t\t</span>\n\n\t\t<template v-if=\"additionalEmails.length\">\n\t\t\t<em class=\"additional-emails-label\">{{ t('settings', 'Additional emails') }}</em>\n\t\t\t<!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->\n\t\t\t<Email v-for=\"(additionalEmail, index) in additionalEmails\"\n\t\t\t\t:key=\"additionalEmail.key\"\n\t\t\t\t:index=\"index\"\n\t\t\t\t:scope.sync=\"additionalEmail.scope\"\n\t\t\t\t:email.sync=\"additionalEmail.value\"\n\t\t\t\t:local-verification-state=\"parseInt(additionalEmail.locallyVerified, 10)\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\"\n\t\t\t\t@delete-additional-email=\"onDeleteAdditionalEmail(index)\" />\n\t\t</template>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\n\nimport Email from './Email.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, DEFAULT_ADDITIONAL_EMAIL_SCOPE, NAME_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryEmail, savePrimaryEmailScope, removeAdditionalEmail } from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nconst { emailMap: { additionalEmails, primaryEmail, notificationEmail } } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'EmailSection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tEmail,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\taccountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tadditionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),\n\t\t\tdisplayNameChangeSupported,\n\t\t\tprimaryEmail: { ...primaryEmail, readable: NAME_READABLE_ENUM[primaryEmail.name] },\n\t\t\tsavePrimaryEmailScope,\n\t\t\tnotificationEmail,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfirstAdditionalEmail() {\n\t\t\tif (this.additionalEmails.length) {\n\t\t\t\treturn this.additionalEmails[0].value\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `account-property-${this.primaryEmail.name}`\n\t\t},\n\n\t\tisValidSection() {\n\t\t\treturn validateEmail(this.primaryEmail.value)\n\t\t\t\t&& this.additionalEmails.map(({ value }) => value).every(validateEmail)\n\t\t},\n\n\t\tprimaryEmailValue: {\n\t\t\tget() {\n\t\t\t\treturn this.primaryEmail.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.primaryEmail.value = value\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditionalEmail() {\n\t\t\tif (this.isValidSection) {\n\t\t\t\tthis.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })\n\t\t\t}\n\t\t},\n\n\t\tonDeleteAdditionalEmail(index) {\n\t\t\tthis.$delete(this.additionalEmails, index)\n\t\t},\n\n\t\tasync onUpdateEmail() {\n\t\t\tif (this.primaryEmailValue === '' && this.firstAdditionalEmail) {\n\t\t\t\tconst deletedEmail = this.firstAdditionalEmail\n\t\t\t\tawait this.deleteFirstAdditionalEmail()\n\t\t\t\tthis.primaryEmailValue = deletedEmail\n\t\t\t\tawait this.updatePrimaryEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync onUpdateNotificationEmail(email) {\n\t\t\tthis.notificationEmail = email\n\t\t},\n\n\t\tasync updatePrimaryEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(this.primaryEmailValue)\n\t\t\t\tthis.handleResponse(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to update primary email address'),\n\t\t\t\t\te\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\tasync deleteFirstAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.firstAdditionalEmail)\n\t\t\t\tthis.handleDeleteFirstAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\te\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteFirstAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$delete(this.additionalEmails, 0)\n\t\t\t} else {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\t{}\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleResponse(status, errorMessage, error) {\n\t\t\tif (status !== 'ok') {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\tgenerateUniqueKey() {\n\t\t\treturn Math.random().toString(36).substring(2)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmailSection.vue?vue&type=template&id=3b8501a7&scoped=true&\"\nimport script from \"./EmailSection.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\"\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 null,\n \"3b8501a7\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.primaryEmail.readable,\"handle-scope-change\":_vm.savePrimaryEmailScope,\"is-editable\":true,\"is-multi-value-supported\":true,\"is-valid-section\":_vm.isValidSection,\"scope\":_vm.primaryEmail.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"add-additional\":_vm.onAddAdditionalEmail}}),_vm._v(\" \"),(_vm.displayNameChangeSupported)?[_c('Email',{attrs:{\"primary\":true,\"scope\":_vm.primaryEmail.scope,\"email\":_vm.primaryEmail.value,\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(_vm.primaryEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.primaryEmail.value || _vm.t('settings', 'No email address set'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.additionalEmails.length)?[_c('em',{staticClass:\"additional-emails-label\"},[_vm._v(_vm._s(_vm.t('settings', 'Additional emails')))]),_vm._v(\" \"),_vm._l((_vm.additionalEmails),function(additionalEmail,index){return _c('Email',{key:additionalEmail.key,attrs:{\"index\":index,\"scope\":additionalEmail.scope,\"email\":additionalEmail.value,\"local-verification-state\":parseInt(additionalEmail.locallyVerified, 10),\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(additionalEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(additionalEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail,\"delete-additional-email\":function($event){return _vm.onDeleteAdditionalEmail(index)}}})})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"phone\"\n\t\t:placeholder=\"t('settings', 'Your phone number')\"\n\t\ttype=\"tel\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { isValidPhoneNumber } from 'libphonenumber-js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { phone } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'PhoneSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tphone: { ...phone, readable: NAME_READABLE_ENUM[phone.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn isValidPhoneNumber(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhoneSection.vue?vue&type=template&id=57a9f4a6&\"\nimport script from \"./PhoneSection.vue?vue&type=script&lang=js&\"\nexport * from \"./PhoneSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your phone number'),\"type\":\"tel\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.phone,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"location\"\n\t\t:placeholder=\"t('settings', 'Your location')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { location } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocation: { ...location, readable: NAME_READABLE_ENUM[location.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LocationSection.vue?vue&type=template&id=3b6d0ee7&\"\nimport script from \"./LocationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocationSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your location')}},'AccountPropertySection',_vm.location,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"website\"\n\t\t:placeholder=\"t('settings', 'Your website')\"\n\t\ttype=\"url\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\nimport { validateUrl } from '../../utils/validate.js'\n\nconst { website } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'WebsiteSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\twebsite: { ...website, readable: NAME_READABLE_ENUM[website.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn validateUrl(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebsiteSection.vue?vue&type=template&id=b18d14ae&\"\nimport script from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\nexport * from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your website'),\"type\":\"url\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.website,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"twitter\"\n\t\t:placeholder=\"t('settings', 'Your Twitter handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { twitter } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'TwitterSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttwitter: { ...twitter, readable: NAME_READABLE_ENUM[twitter.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwitterSection.vue?vue&type=template&id=203feaef&\"\nimport script from \"./TwitterSection.vue?vue&type=script&lang=js&\"\nexport * from \"./TwitterSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your Twitter handle')}},'AccountPropertySection',_vm.twitter,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"language\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Language')\"\n\t\t\t@change=\"onLanguageChange\">\n\t\t\t<option v-for=\"commonLanguage in commonLanguages\"\n\t\t\t\t:key=\"commonLanguage.code\"\n\t\t\t\t:selected=\"language.code === commonLanguage.code\"\n\t\t\t\t:value=\"commonLanguage.code\">\n\t\t\t\t{{ commonLanguage.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"otherLanguage in otherLanguages\"\n\t\t\t\t:key=\"otherLanguage.code\"\n\t\t\t\t:selected=\"language.code === otherLanguage.code\"\n\t\t\t\t:value=\"otherLanguage.code\">\n\t\t\t\t{{ otherLanguage.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<a href=\"https://www.transifex.com/nextcloud/nextcloud/\"\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noreferrer noopener\">\n\t\t\t<em>{{ t('settings', 'Help translate') }}</em>\n\t\t</a>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLanguage } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'Language',\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tcommonLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguage: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLanguage: this.language,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLanguages() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.commonLanguages, ...this.otherLanguages]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {})\n\t\t\t)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync onLanguageChange(e) {\n\t\t\tconst language = this.constructLanguage(e.target.value)\n\t\t\tthis.$emit('update:language', language)\n\n\t\t\tif (validateLanguage(language)) {\n\t\t\t\tawait this.updateLanguage(language)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLanguage(language) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE, language.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlanguage,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update language'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLanguage(languageCode) {\n\t\t\treturn {\n\t\t\t\tcode: languageCode,\n\t\t\t\tname: this.allLanguages[languageCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ language, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialLanguage = language\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=6e196b5c&scoped=true&\"\nimport script from \"./Language.vue?vue&type=script&lang=js&\"\nexport * from \"./Language.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\"\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 null,\n \"6e196b5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Language')},on:{\"change\":_vm.onLanguageChange}},[_vm._l((_vm.commonLanguages),function(commonLanguage){return _c('option',{key:commonLanguage.code,domProps:{\"selected\":_vm.language.code === commonLanguage.code,\"value\":commonLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(commonLanguage.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLanguages),function(otherLanguage){return _c('option',{key:otherLanguage.code,domProps:{\"selected\":_vm.language.code === otherLanguage.code,\"value\":otherLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(otherLanguage.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.transifex.com/nextcloud/nextcloud/\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('settings', 'Help translate')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Language :input-id=\"inputId\"\n\t\t\t\t:common-languages=\"commonLanguages\"\n\t\t\t\t:other-languages=\"otherLanguages\"\n\t\t\t\t:language.sync=\"language\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No language set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Language from './Language.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { languageMap: { activeLanguage, commonLanguages, otherLanguages } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LanguageSection',\n\n\tcomponents: {\n\t\tLanguage,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LANGUAGE,\n\t\t\tcommonLanguages,\n\t\t\totherLanguages,\n\t\t\tlanguage: activeLanguage,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.language)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&\"\nimport script from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\"\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 null,\n \"92685b76\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Language',{attrs:{\"input-id\":_vm.inputId,\"common-languages\":_vm.commonLanguages,\"other-languages\":_vm.otherLanguages,\"language\":_vm.language},on:{\"update:language\":function($event){_vm.language=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No language set'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"locale\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Locale')\"\n\t\t\t@change=\"onLocaleChange\">\n\t\t\t<option v-for=\"currentLocale in localesForLanguage\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"currentLocale in otherLocales\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<div class=\"example\">\n\t\t\t<Web :size=\"20\" />\n\t\t\t<div class=\"example__text\">\n\t\t\t\t<p>\n\t\t\t\t\t<span>{{ example.date }}</span>\n\t\t\t\t\t<span>{{ example.time }}</span>\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: this.example.firstDayOfWeek }) }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\nimport Web from 'vue-material-design-icons/Web'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLocale } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'Locale',\n\n\tcomponents: {\n\t\tWeb,\n\t},\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tlocale: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tlocalesForLanguage: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLocales: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLocale: this.locale,\n\t\t\texample: {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLocales() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.localesForLanguage, ...this.otherLocales]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {})\n\t\t\t)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsetInterval(this.refreshExample, 1000)\n\t},\n\n\tmethods: {\n\t\tasync onLocaleChange(e) {\n\t\t\tconst locale = this.constructLocale(e.target.value)\n\t\t\tthis.$emit('update:locale', locale)\n\n\t\t\tif (validateLocale(locale)) {\n\t\t\t\tawait this.updateLocale(locale)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLocale(locale) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE, locale.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlocale,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update locale'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLocale(localeCode) {\n\t\t\treturn {\n\t\t\t\tcode: localeCode,\n\t\t\t\tname: this.allLocales[localeCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ locale, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialLocale = locale\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:locale', this.initialLocale)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\trefreshExample() {\n\t\t\tthis.example = {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Locale.vue?vue&type=template&id=545055d8&scoped=true&\"\nimport script from \"./Locale.vue?vue&type=script&lang=js&\"\nexport * from \"./Locale.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\"\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 null,\n \"545055d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"locale\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Locale')},on:{\"change\":_vm.onLocaleChange}},[_vm._l((_vm.localesForLanguage),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLocales),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('div',{staticClass:\"example\"},[_c('Web',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"example__text\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.example.date))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.example.time))])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: this.example.firstDayOfWeek }))+\"\\n\\t\\t\\t\")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Locale :input-id=\"inputId\"\n\t\t\t\t:locales-for-language=\"localesForLanguage\"\n\t\t\t\t:other-locales=\"otherLocales\"\n\t\t\t\t:locale.sync=\"locale\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No locale set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Locale from './Locale.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { localeMap: { activeLocale, localesForLanguage, otherLocales } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocaleSection',\n\n\tcomponents: {\n\t\tLocale,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LOCALE,\n\t\t\tlocalesForLanguage,\n\t\t\totherLocales,\n\t\t\tlocale: activeLocale,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.locale)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&\"\nimport script from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\"\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 null,\n \"84fca724\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Locale',{attrs:{\"input-id\":_vm.inputId,\"locales-for-language\":_vm.localesForLanguage,\"other-locales\":_vm.otherLocales,\"locale\":_vm.locale},on:{\"update:locale\":function($event){_vm.locale=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No locale set'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a :class=\"{ disabled }\"\n\t\thref=\"#profile-visibility\"\n\t\tv-on=\"$listeners\">\n\t\t<ChevronDownIcon class=\"anchor-icon\"\n\t\t\t:size=\"22\" />\n\t\t{{ t('settings', 'Edit your Profile visibility') }}\n\t</a>\n</template>\n\n<script>\nimport ChevronDownIcon from 'vue-material-design-icons/ChevronDown'\n\nexport default {\n\tname: 'EditProfileAnchorLink',\n\n\tcomponents: {\n\t\tChevronDownIcon,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: 290px;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\topacity: 0.4;\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8;\n\t\tbackground-color: rgba(127, 127, 127, .25);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditProfileAnchorLink.vue?vue&type=template&id=1950be88&scoped=true&\"\nimport script from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\"\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 null,\n \"1950be88\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',_vm._g({class:{ disabled: _vm.disabled },attrs:{\"href\":\"#profile-visibility\"}},_vm.$listeners),[_c('ChevronDownIcon',{staticClass:\"anchor-icon\",attrs:{\"size\":22}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.t('settings', 'Edit your Profile visibility'))+\"\\n\")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"checkbox-container\">\n\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t:checked.sync=\"isProfileEnabled\"\n\t\t\t:loading=\"loading\"\n\t\t\t@update:checked=\"saveEnableProfile\">\n\t\t\t{{ t('settings', 'Enable Profile') }}\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport logger from '../../../logger.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\n\nexport default {\n\tname: 'ProfileCheckbox',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tisProfileEnabled: this.profileEnabled,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync saveEnableProfile() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, this.isProfileEnabled)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tisProfileEnabled: this.isProfileEnabled,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update profile enabled state'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ isProfileEnabled, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\temit('settings:profile-enabled:updated', isProfileEnabled)\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileCheckbox.vue?vue&type=template&id=1dec8338&\"\nimport script from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"checkbox-container\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"checked\":_vm.isProfileEnabled,\"loading\":_vm.loading},on:{\"update:checked\":[function($event){_vm.isProfileEnabled=$event},_vm.saveEnableProfile]}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Enable Profile'))+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a class=\"preview-card\"\n\t\t:class=\"{ disabled }\"\n\t\t:href=\"profilePageLink\">\n\t\t<NcAvatar class=\"preview-card__avatar\"\n\t\t\t:user=\"userId\"\n\t\t\t:size=\"48\"\n\t\t\t:show-user-status=\"true\"\n\t\t\t:show-user-status-compact=\"false\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\" />\n\t\t<div class=\"preview-card__header\">\n\t\t\t<span>{{ displayName }}</span>\n\t\t</div>\n\t\t<div class=\"preview-card__footer\">\n\t\t\t<span>{{ organisation }}</span>\n\t\t</div>\n\t</a>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar'\n\nexport default {\n\tname: 'ProfilePreviewCard',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t},\n\n\tprops: {\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\torganisation: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tprofilePageLink() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\treturn generateUrl('/u/{userId}', { userId: getCurrentUser().uid })\n\t\t\t}\n\t\t\t// Since an anchor element is used rather than a button for better UX,\n\t\t\t// this hack removes href if the profile is disabled so that disabling pointer-events is not needed to prevent a click from opening a page\n\t\t\t// and to allow the hover event (which disabling pointer-events wouldn't allow) for styling\n\t\t\treturn null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: 290px;\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tword-break: break-all;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfilePreviewCard.vue?vue&type=template&id=60a53e27&scoped=true&\"\nimport script from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\"\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 null,\n \"60a53e27\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"preview-card\",class:{ disabled: _vm.disabled },attrs:{\"href\":_vm.profilePageLink}},[_c('NcAvatar',{staticClass:\"preview-card__avatar\",attrs:{\"user\":_vm.userId,\"size\":48,\"show-user-status\":true,\"show-user-status-compact\":false,\"disable-menu\":true,\"disable-tooltip\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__header\"},[_c('span',[_vm._v(_vm._s(_vm.displayName))])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__footer\"},[_c('span',[_vm._v(_vm._s(_vm.organisation))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"propertyReadable\" />\n\n\t\t<ProfileCheckbox :profile-enabled.sync=\"profileEnabled\" />\n\n\t\t<ProfilePreviewCard :organisation=\"organisation\"\n\t\t\t:display-name=\"displayName\"\n\t\t\t:profile-enabled=\"profileEnabled\"\n\t\t\t:user-id=\"userId\" />\n\n\t\t<EditProfileAnchorLink :profile-enabled=\"profileEnabled\" />\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport EditProfileAnchorLink from './EditProfileAnchorLink.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport ProfileCheckbox from './ProfileCheckbox.vue'\nimport ProfilePreviewCard from './ProfilePreviewCard.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst {\n\torganisation: { value: organisation },\n\tdisplayName: { value: displayName },\n\tprofileEnabled,\n\tuserId,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'ProfileSection',\n\n\tcomponents: {\n\t\tEditProfileAnchorLink,\n\t\tHeaderBar,\n\t\tProfileCheckbox,\n\t\tProfilePreviewCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t\t\torganisation,\n\t\t\tdisplayName,\n\t\t\tprofileEnabled,\n\t\t\tuserId,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tunsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tmethods: {\n\t\thandleDisplayNameUpdate(displayName) {\n\t\t\tthis.displayName = displayName\n\t\t},\n\n\t\thandleOrganisationUpdate(organisation) {\n\t\t\tthis.organisation = organisation\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&\"\nimport script from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\"\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 null,\n \"cf64d964\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),_c('ProfileCheckbox',{attrs:{\"profile-enabled\":_vm.profileEnabled},on:{\"update:profileEnabled\":function($event){_vm.profileEnabled=$event},\"update:profile-enabled\":function($event){_vm.profileEnabled=$event}}}),_vm._v(\" \"),_c('ProfilePreviewCard',{attrs:{\"organisation\":_vm.organisation,\"display-name\":_vm.displayName,\"profile-enabled\":_vm.profileEnabled,\"user-id\":_vm.userId}}),_vm._v(\" \"),_c('EditProfileAnchorLink',{attrs:{\"profile-enabled\":_vm.profileEnabled}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"organisation\"\n\t\t:placeholder=\"t('settings', 'Your organisation')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { organisation } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'OrganisationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\torganisation: { ...organisation, readable: NAME_READABLE_ENUM[organisation.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrganisationSection.vue?vue&type=template&id=50ddf4bd&\"\nimport script from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your organisation')}},'AccountPropertySection',_vm.organisation,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"role\"\n\t\t:placeholder=\"t('settings', 'Your role')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { role } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'RoleSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\trole: { ...role, readable: NAME_READABLE_ENUM[role.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleSection.vue?vue&type=template&id=3dbe0705&\"\nimport script from \"./RoleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your role')}},'AccountPropertySection',_vm.role,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"headline\"\n\t\t:placeholder=\"t('settings', 'Your headline')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { headline } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'HeadlineSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theadline: { ...headline, readable: NAME_READABLE_ENUM[headline.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeadlineSection.vue?vue&type=template&id=0f3859ee&\"\nimport script from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your headline')}},'AccountPropertySection',_vm.headline,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"biography\"\n\t\t:placeholder=\"t('settings', 'Your biography')\"\n\t\t:multi-line=\"true\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { biography } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'BiographySection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tbiography: { ...biography, readable: NAME_READABLE_ENUM[biography.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiographySection.vue?vue&type=template&id=a916ca60&\"\nimport script from \"./BiographySection.vue?vue&type=script&lang=js&\"\nexport * from \"./BiographySection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your biography'),\"multi-line\":true}},'AccountPropertySection',_vm.biography,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * Save the visibility of the profile parameter\n *\n * @param {string} paramId the profile parameter ID\n * @param {string} visibility the visibility\n * @return {object}\n */\nexport const saveProfileParameterVisibility = async (paramId, visibility) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('/profile/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tparamId,\n\t\tvisibility,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save profile default\n *\n * @param {boolean} isEnabled the default\n * @return {object}\n */\nexport const saveProfileDefault = async (isEnabled) => {\n\t// Convert to string for compatibility\n\tisEnabled = isEnabled ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'settings',\n\t\tkey: 'profile_enabled_by_default',\n\t})\n\n\tawait confirmPassword()\n\n\tconst res = await axios.post(url, {\n\t\tvalue: isEnabled,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `core/Db/ProfileConfig.php`\n */\n\n/** Enum of profile visibility constants */\nexport const VISIBILITY_ENUM = Object.freeze({\n\tSHOW: 'show',\n\tSHOW_USERS_ONLY: 'show_users_only',\n\tHIDE: 'hide',\n})\n\n/**\n * Enum of profile visibility constants to properties\n */\nexport const VISIBILITY_PROPERTY_ENUM = Object.freeze({\n\t[VISIBILITY_ENUM.SHOW]: {\n\t\tname: VISIBILITY_ENUM.SHOW,\n\t\tlabel: t('settings', 'Show to everyone'),\n\t},\n\t[VISIBILITY_ENUM.SHOW_USERS_ONLY]: {\n\t\tname: VISIBILITY_ENUM.SHOW_USERS_ONLY,\n\t\tlabel: t('settings', 'Show to logged in users only'),\n\t},\n\t[VISIBILITY_ENUM.HIDE]: {\n\t\tname: VISIBILITY_ENUM.HIDE,\n\t\tlabel: t('settings', 'Hide'),\n\t},\n})\n","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"visibility-container\"\n\t\t:class=\"{ disabled }\">\n\t\t<label :for=\"inputId\">\n\t\t\t{{ t('settings', '{displayId}', { displayId }) }}\n\t\t</label>\n\t\t<NcMultiselect :id=\"inputId\"\n\t\t\tclass=\"visibility-container__multiselect\"\n\t\t\t:options=\"visibilityOptions\"\n\t\t\ttrack-by=\"name\"\n\t\t\tlabel=\"label\"\n\t\t\t:value=\"visibilityObject\"\n\t\t\t@change=\"onVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect'\n\nimport { saveProfileParameterVisibility } from '../../../service/ProfileService.js'\nimport { VISIBILITY_PROPERTY_ENUM } from '../../../constants/ProfileConstants.js'\nimport logger from '../../../logger.js'\n\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nexport default {\n\tname: 'VisibilityDropdown',\n\n\tcomponents: {\n\t\tNcMultiselect,\n\t},\n\n\tprops: {\n\t\tparamId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvisibility: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialVisibility: this.visibility,\n\t\t\tprofileEnabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `profile-visibility-${this.paramId}`\n\t\t},\n\n\t\tvisibilityObject() {\n\t\t\treturn VISIBILITY_PROPERTY_ENUM[this.visibility]\n\t\t},\n\n\t\tvisibilityOptions() {\n\t\t\treturn Object.values(VISIBILITY_PROPERTY_ENUM)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\tasync onVisibilityChange(visibilityObject) {\n\t\t\t// This check is needed as the argument is null when selecting the same option\n\t\t\tif (visibilityObject !== null) {\n\t\t\t\tconst { name: visibility } = visibilityObject\n\t\t\t\tthis.$emit('update:visibility', visibility)\n\n\t\t\t\tif (visibility !== '') {\n\t\t\t\t\tawait this.updateVisibility(visibility)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync updateVisibility(visibility) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveProfileParameterVisibility(this.paramId, visibility)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvisibility,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update visibility of {displayId}', { displayId: this.displayId }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ visibility, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialVisibility = visibility\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.visibility-container {\n\tdisplay: flex;\n\twidth: max-content;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__multiselect {\n\t\twidth: 260px;\n\t\tmax-width: 40vw;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VisibilityDropdown.vue?vue&type=template&id=3cddb756&scoped=true&\"\nimport script from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\"\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 null,\n \"3cddb756\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"visibility-container\",class:{ disabled: _vm.disabled }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', '{displayId}', { displayId: _vm.displayId }))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcMultiselect',{staticClass:\"visibility-container__multiselect\",attrs:{\"id\":_vm.inputId,\"options\":_vm.visibilityOptions,\"track-by\":\"name\",\"label\":\"label\",\"value\":_vm.visibilityObject},on:{\"change\":_vm.onVisibilityChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<!-- TODO remove this inline margin placeholder once the settings layout is updated -->\n\t<section id=\"profile-visibility\"\n\t\t:style=\"{ marginLeft }\">\n\t\t<HeaderBar :readable=\"heading\" />\n\n\t\t<em :class=\"{ disabled }\">\n\t\t\t{{ t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.') }}\n\t\t</em>\n\n\t\t<div class=\"visibility-dropdowns\"\n\t\t\t:style=\"{\n\t\t\t\tgridTemplateRows: `repeat(${rows}, 44px)`,\n\t\t\t}\">\n\t\t\t<VisibilityDropdown v-for=\"param in visibilityParams\"\n\t\t\t\t:key=\"param.id\"\n\t\t\t\t:param-id=\"param.id\"\n\t\t\t\t:display-id=\"param.displayId\"\n\t\t\t\t:visibility.sync=\"param.visibility\" />\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport VisibilityDropdown from './VisibilityDropdown.vue'\nimport { PROFILE_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { profileConfig } = loadState('settings', 'profileParameters', {})\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nconst compareParams = (a, b) => {\n\tif (a.appId === b.appId || (a.appId !== 'core' && b.appId !== 'core')) {\n\t\treturn a.displayId.localeCompare(b.displayId)\n\t} else if (a.appId === 'core') {\n\t\treturn 1\n\t} else {\n\t\treturn -1\n\t}\n}\n\nexport default {\n\tname: 'ProfileVisibilitySection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tVisibilityDropdown,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theading: PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t\tprofileEnabled,\n\t\t\tvisibilityParams: Object.entries(profileConfig)\n\t\t\t\t.map(([paramId, { appId, displayId, visibility }]) => ({ id: paramId, appId, displayId, visibility }))\n\t\t\t\t.sort(compareParams),\n\t\t\t// TODO remove this when not used once the settings layout is updated\n\t\t\tmarginLeft: window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()\n\t\t\t\t: '0px',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\trows() {\n\t\t\treturn Math.ceil(this.visibilityParams.length / 2)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t\t// TODO remove this when not used once the settings layout is updated\n\t\twindow.onresize = () => {\n\t\t\tthis.marginLeft = window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()\n\t\t\t\t: '0px'\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 30px;\n\tmax-width: 100vw;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t.visibility-dropdowns {\n\t\tdisplay: grid;\n\t\tgap: 10px 40px;\n\t}\n\n\t@media (min-width: 1200px) {\n\t\twidth: 940px;\n\n\t\t.visibility-dropdowns {\n\t\t\tgrid-auto-flow: column;\n\t\t}\n\t}\n\n\t@media (max-width: 1200px) {\n\t\twidth: 470px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileVisibilitySection.vue?vue&type=template&id=0d3fd040&scoped=true&\"\nimport script from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\"\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 null,\n \"0d3fd040\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{style:({ marginLeft: _vm.marginLeft }),attrs:{\"id\":\"profile-visibility\"}},[_c('HeaderBar',{attrs:{\"readable\":_vm.heading}}),_vm._v(\" \"),_c('em',{class:{ disabled: _vm.disabled }},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-dropdowns\",style:({\n\t\t\tgridTemplateRows: (\"repeat(\" + _vm.rows + \", 44px)\"),\n\t\t})},_vm._l((_vm.visibilityParams),function(param){return _c('VisibilityDropdown',{key:param.id,attrs:{\"param-id\":param.id,\"display-id\":param.displayId,\"visibility\":param.visibility},on:{\"update:visibility\":function($event){return _vm.$set(param, \"visibility\", $event)}}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport '@nextcloud/dialogs/styles/toast.scss'\n\nimport AvatarSection from './components/PersonalInfo/AvatarSection.vue'\nimport DetailsSection from './components/PersonalInfo/DetailsSection.vue'\nimport DisplayNameSection from './components/PersonalInfo/DisplayNameSection.vue'\nimport EmailSection from './components/PersonalInfo/EmailSection/EmailSection.vue'\nimport PhoneSection from './components/PersonalInfo/PhoneSection.vue'\nimport LocationSection from './components/PersonalInfo/LocationSection.vue'\nimport WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'\nimport TwitterSection from './components/PersonalInfo/TwitterSection.vue'\nimport LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'\nimport LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'\nimport ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'\nimport OrganisationSection from './components/PersonalInfo/OrganisationSection.vue'\nimport RoleSection from './components/PersonalInfo/RoleSection.vue'\nimport HeadlineSection from './components/PersonalInfo/HeadlineSection.vue'\nimport BiographySection from './components/PersonalInfo/BiographySection.vue'\nimport ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue'\n\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)\n\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t},\n})\n\nconst AvatarView = Vue.extend(AvatarSection)\nconst DetailsView = Vue.extend(DetailsSection)\nconst DisplayNameView = Vue.extend(DisplayNameSection)\nconst EmailView = Vue.extend(EmailSection)\nconst PhoneView = Vue.extend(PhoneSection)\nconst LocationView = Vue.extend(LocationSection)\nconst WebsiteView = Vue.extend(WebsiteSection)\nconst TwitterView = Vue.extend(TwitterSection)\nconst LanguageView = Vue.extend(LanguageSection)\nconst LocaleView = Vue.extend(LocaleSection)\n\nnew AvatarView().$mount('#vue-avatar-section')\nnew DetailsView().$mount('#vue-details-section')\nnew DisplayNameView().$mount('#vue-displayname-section')\nnew EmailView().$mount('#vue-email-section')\nnew PhoneView().$mount('#vue-phone-section')\nnew LocationView().$mount('#vue-location-section')\nnew WebsiteView().$mount('#vue-website-section')\nnew TwitterView().$mount('#vue-twitter-section')\nnew LanguageView().$mount('#vue-language-section')\nnew LocaleView().$mount('#vue-locale-section')\n\nif (profileEnabledGlobally) {\n\tconst ProfileView = Vue.extend(ProfileSection)\n\tconst OrganisationView = Vue.extend(OrganisationSection)\n\tconst RoleView = Vue.extend(RoleSection)\n\tconst HeadlineView = Vue.extend(HeadlineSection)\n\tconst BiographyView = Vue.extend(BiographySection)\n\tconst ProfileVisibilityView = Vue.extend(ProfileVisibilitySection)\n\n\tnew ProfileView().$mount('#vue-profile-section')\n\tnew OrganisationView().$mount('#vue-organisation-section')\n\tnew RoleView().$mount('#vue-role-section')\n\tnew HeadlineView().$mount('#vue-headline-section')\n\tnew BiographyView().$mount('#vue-biography-section')\n\tnew ProfileVisibilityView().$mount('#vue-profile-visibility-section')\n}\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, \".avatar__container[data-v-17216d6a]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:300px}.avatar__container span[data-v-17216d6a]{color:var(--color-text-lighter)}.avatar__preview[data-v-17216d6a]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-17216d6a]{display:flex;gap:0 10px}.avatar__cropper[data-v-17216d6a]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-17216d6a]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-17216d6a] .cropper-view-box{border-radius:50%}input[type=file][data-v-17216d6a]{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue\"],\"names\":[],\"mappings\":\"AA6RC,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatar {\\n\\t&__container {\\n\\t\\tmargin: 0 auto;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\tgap: 16px 0;\\n\\t\\twidth: 300px;\\n\\n\\t\\tspan {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 180px;\\n\\t\\theight: 180px;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\t}\\n\\n\\t&__cropper {\\n\\t\\twidth: 300px;\\n\\t\\theight: 300px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&-buttons {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .cropper-view-box {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\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, \".details[data-v-546e7ece]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-546e7ece],.details__quota[data-v-546e7ece]{display:flex;gap:0 10px}.details__groups-info[data-v-546e7ece],.details__quota-info[data-v-546e7ece]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-546e7ece],.details__quota-list[data-v-546e7ece]{font-weight:bold}.details__groups[data-v-546e7ece] .material-design-icon,.details__quota[data-v-546e7ece] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue\"],\"names\":[],\"mappings\":\"AA8FA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.details {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin: 10px 32px 10px 0;\\n\\tgap: 16px 0;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&__groups,\\n\\t&__quota {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\n\\t\\t&-info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tgap: 4px 0;\\n\\t\\t}\\n\\n\\t\\t&-list {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tmargin-top: 2px;\\n\\t\\t}\\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, \".email[data-v-ad393090]{display:grid;align-items:center}.email input[data-v-ad393090]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-ad393090]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-ad393090]{opacity:.4 !important}.email .email__actions-container .email__actions[data-v-ad393090]:hover,.email .email__actions-container .email__actions[data-v-ad393090]:focus,.email .email__actions-container .email__actions[data-v-ad393090]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-ad393090] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.fade-enter[data-v-ad393090],.fade-leave-to[data-v-ad393090]{opacity:0}.fade-enter-active[data-v-ad393090]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-ad393090]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue\"],\"names\":[],\"mappings\":\"AAwWA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAEA,kEACC,qBAAA,CAEA,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAMJ,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.email {\\n\\tdisplay: grid;\\n\\talign-items: center;\\n\\n\\tinput {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.email__actions-container {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\tjustify-self: flex-end;\\n\\t\\theight: 30px;\\n\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 2px;\\n\\t\\tmargin-right: 5px;\\n\\n\\t\\t.email__actions {\\n\\t\\t\\topacity: 0.4 !important;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 0.8 !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::v-deep button {\\n\\t\\t\\t\\theight: 30px !important;\\n\\t\\t\\t\\tmin-height: 30px !important;\\n\\t\\t\\t\\twidth: 30px !important;\\n\\t\\t\\t\\tmin-width: 30px !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-enter-active {\\n\\ttransition: opacity 200ms ease-out;\\n}\\n\\n.fade-leave-active {\\n\\ttransition: opacity 300ms ease-out;\\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, \"section[data-v-3b8501a7]{padding:10px 10px}section[data-v-3b8501a7] button:disabled{cursor:default}section .additional-emails-label[data-v-3b8501a7]{display:block;margin-top:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue\"],\"names\":[],\"mappings\":\"AAyMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.additional-emails-label {\\n\\t\\tdisplay: block;\\n\\t\\tmargin-top: 16px;\\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, \".language[data-v-6e196b5c]{display:grid}.language select[data-v-6e196b5c]{width:100%}.language a[data-v-6e196b5c]{color:var(--color-main-text);text-decoration:none;width:max-content}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue\"],\"names\":[],\"mappings\":\"AAoJA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.language {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\ttext-decoration: none;\\n\\t\\twidth: max-content;\\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, \"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue\"],\"names\":[],\"mappings\":\"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \".locale[data-v-545055d8]{display:grid}.locale select[data-v-545055d8]{width:100%}.example[data-v-545055d8]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-545055d8] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue\"],\"names\":[],\"mappings\":\"AAkLA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.locale {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.example {\\n\\tmargin: 10px 0;\\n\\tdisplay: flex;\\n\\tgap: 0 10px;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\talign-self: flex-start;\\n\\t\\tmargin-top: 2px;\\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, \"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue\"],\"names\":[],\"mappings\":\"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AA0DA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nhtml {\\n\\tscroll-behavior: smooth;\\n\\n\\t@media screen and (prefers-reduced-motion: reduce) {\\n\\t\\tscroll-behavior: auto;\\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, \"a[data-v-1950be88]{display:block;height:44px;width:290px;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);opacity:.4;background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-1950be88]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-1950be88]:hover,a[data-v-1950be88]:focus,a[data-v-1950be88]:active{opacity:.8;background-color:rgba(127,127,127,.25)}a.disabled[data-v-1950be88]{pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AAoEA,mBACC,aAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,UAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,UAAA,CACA,sCAAA,CAGD,4BACC,mBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\na {\\n\\tdisplay: block;\\n\\theight: 44px;\\n\\twidth: 290px;\\n\\tline-height: 44px;\\n\\tpadding: 0 16px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-pill);\\n\\topacity: 0.4;\\n\\tbackground-color: transparent;\\n\\n\\t.anchor-icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\tmargin-top: 6px;\\n\\t\\tmargin-right: 8px;\\n\\t}\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\topacity: 0.8;\\n\\t\\tbackground-color: rgba(127, 127, 127, .25);\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tpointer-events: none;\\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, \".preview-card[data-v-60a53e27]{display:flex;flex-direction:column;position:relative;width:290px;height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:hover,.preview-card[data-v-60a53e27]:focus,.preview-card[data-v-60a53e27]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-60a53e27]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-60a53e27],.preview-card.disabled[data-v-60a53e27] *{cursor:default}.preview-card__avatar[data-v-60a53e27]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-60a53e27]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-60a53e27],.preview-card__footer[data-v-60a53e27]{position:relative;width:auto}.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-60a53e27]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-60a53e27]{bottom:0;color:var(--color-primary-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-60a53e27]{height:46px}.preview-card__footer span[data-v-60a53e27]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue\"],\"names\":[],\"mappings\":\"AA6FA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,oBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,qCAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,+BAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.preview-card {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tposition: relative;\\n\\twidth: 290px;\\n\\theight: 116px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-weight: bold;\\n\\tbox-shadow: 0 2px 9px var(--color-box-shadow);\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbox-shadow: 0 2px 12px var(--color-box-shadow);\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: var(--color-main-text) solid 1px;\\n\\t\\toutline-offset: 3px;\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tbox-shadow: 0 0 3px var(--color-box-shadow);\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\t// Override Avatar component position to fix positioning on rerender\\n\\t\\tposition: absolute !important;\\n\\t\\ttop: 40px;\\n\\t\\tleft: 18px;\\n\\t\\tz-index: 1;\\n\\n\\t\\t&:not(.avatardiv--unknown) {\\n\\t\\t\\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: relative;\\n\\t\\twidth: auto;\\n\\n\\t\\tspan {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 78px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tword-break: break-all;\\n\\n\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__header {\\n\\t\\theight: 70px;\\n\\t\\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\\n\\t\\tbackground-color: var(--color-primary);\\n\\t\\tbackground-image: var(--gradient-primary-background);\\n\\n\\t\\tspan {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: 0 4px 8px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\theight: 46px;\\n\\n\\t\\tspan {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmargin: 4px 4px 0 0;\\n\\t\\t\\tline-height: 1.3;\\n\\t\\t}\\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, \"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue\"],\"names\":[],\"mappings\":\"AAkGA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \"section[data-v-0d3fd040]{padding:30px;max-width:100vw}section em[data-v-0d3fd040]{display:block;margin:16px 0}section em.disabled[data-v-0d3fd040]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-0d3fd040],section em.disabled[data-v-0d3fd040] *{cursor:default;pointer-events:none}section .visibility-dropdowns[data-v-0d3fd040]{display:grid;gap:10px 40px}@media(min-width: 1200px){section[data-v-0d3fd040]{width:940px}section .visibility-dropdowns[data-v-0d3fd040]{grid-auto-flow:column}}@media(max-width: 1200px){section[data-v-0d3fd040]{width:470px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue\"],\"names\":[],\"mappings\":\"AAyHA,yBACC,YAAA,CACA,eAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA,CAKH,+CACC,YAAA,CACA,aAAA,CAGD,0BA3BD,yBA4BE,WAAA,CAEA,+CACC,qBAAA,CAAA,CAIF,0BAnCD,yBAoCE,WAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 30px;\\n\\tmax-width: 100vw;\\n\\n\\tem {\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 16px 0;\\n\\n\\t\\t&.disabled {\\n\\t\\t\\tfilter: grayscale(1);\\n\\t\\t\\topacity: 0.5;\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\t& *,\\n\\t\\t\\t&::v-deep * {\\n\\t\\t\\t\\tcursor: default;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.visibility-dropdowns {\\n\\t\\tdisplay: grid;\\n\\t\\tgap: 10px 40px;\\n\\t}\\n\\n\\t@media (min-width: 1200px) {\\n\\t\\twidth: 940px;\\n\\n\\t\\t.visibility-dropdowns {\\n\\t\\t\\tgrid-auto-flow: column;\\n\\t\\t}\\n\\t}\\n\\n\\t@media (max-width: 1200px) {\\n\\t\\twidth: 470px;\\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, \".visibility-container[data-v-3cddb756]{display:flex;width:max-content}.visibility-container.disabled[data-v-3cddb756]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-3cddb756],.visibility-container.disabled[data-v-3cddb756] *{cursor:default;pointer-events:none}.visibility-container label[data-v-3cddb756]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__multiselect[data-v-3cddb756]{width:260px;max-width:40vw}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue\"],\"names\":[],\"mappings\":\"AAwJA,uCACC,YAAA,CACA,iBAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,oDACC,WAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.visibility-container {\\n\\tdisplay: flex;\\n\\twidth: max-content;\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\twidth: 150px;\\n\\t\\tline-height: 50px;\\n\\t}\\n\\n\\t&__multiselect {\\n\\t\\twidth: 260px;\\n\\t\\tmax-width: 40vw;\\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, \"section[data-v-7c2c5fa4]{padding:10px 10px}section[data-v-7c2c5fa4] button:disabled{cursor:default}section .property[data-v-7c2c5fa4]{display:grid;align-items:center}section .property textarea[data-v-7c2c5fa4]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-7c2c5fa4]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-7c2c5fa4]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .fade-enter[data-v-7c2c5fa4],section .fade-leave-to[data-v-7c2c5fa4]{opacity:0}section .fade-enter-active[data-v-7c2c5fa4]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-7c2c5fa4]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue\"],\"names\":[],\"mappings\":\"AAgMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.property {\\n\\t\\tdisplay: grid;\\n\\t\\talign-items: center;\\n\\n\\t\\ttextarea {\\n\\t\\t\\tresize: vertical;\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\tinput {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.property__actions-container {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\theight: 30px;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: 0 2px;\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t.fade-enter,\\n\\t.fade-leave-to {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t.fade-enter-active {\\n\\t\\ttransition: opacity 200ms ease-out;\\n\\t}\\n\\n\\t.fade-leave-active {\\n\\t\\ttransition: opacity 300ms ease-out;\\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, \".federation-actions[data-v-4c6905d9],.federation-actions--additional[data-v-4c6905d9]{opacity:.4 !important}.federation-actions[data-v-4c6905d9]:hover,.federation-actions[data-v-4c6905d9]:focus,.federation-actions[data-v-4c6905d9]:active,.federation-actions--additional[data-v-4c6905d9]:hover,.federation-actions--additional[data-v-4c6905d9]:focus,.federation-actions--additional[data-v-4c6905d9]:active{opacity:.8 !important}.federation-actions--additional[data-v-4c6905d9] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue\"],\"names\":[],\"mappings\":\"AA6LA,sFAEC,qBAAA,CAEA,wSAGC,qBAAA,CAKD,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.federation-actions,\\n.federation-actions--additional {\\n\\topacity: 0.4 !important;\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\topacity: 0.8 !important;\\n\\t}\\n}\\n\\n.federation-actions--additional {\\n\\t&::v-deep button {\\n\\t\\t// TODO remove this hack\\n\\t\\tpadding-bottom: 7px;\\n\\t\\theight: 30px !important;\\n\\t\\tmin-height: 30px !important;\\n\\t\\twidth: 30px !important;\\n\\t\\tmin-width: 30px !important;\\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, \".federation-actions__btn[data-v-1249785e] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-1249785e]{background-color:var(--color-primary-light) !important;box-shadow:inset 2px 0 var(--color-primary) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue\"],\"names\":[],\"mappings\":\"AA0FC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,sDAAA,CACA,sDAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.federation-actions__btn {\\n\\t&::v-deep p {\\n\\t\\twidth: 150px !important;\\n\\t\\tpadding: 8px 0 !important;\\n\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\tfont-size: 12.8px !important;\\n\\t\\tline-height: 1.5em !important;\\n\\t}\\n}\\n\\n.federation-actions__btn--active {\\n\\tbackground-color: var(--color-primary-light) !important;\\n\\tbox-shadow: inset 2px 0 var(--color-primary) !important;\\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, \"h3[data-v-8094b2e6]{display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}h3.profile-property[data-v-8094b2e6]{height:38px}h3.setting-property[data-v-8094b2e6]{height:44px}h3 label[data-v-8094b2e6]{cursor:pointer}.federation-control[data-v-8094b2e6]{margin:0}.button-vue[data-v-8094b2e6]{margin:0 0 0 auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue\"],\"names\":[],\"mappings\":\"AA8HA,oBACC,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,qCACC,WAAA,CAGD,qCACC,WAAA,CAGD,0BACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nh3 {\\n\\tdisplay: inline-flex;\\n\\twidth: 100%;\\n\\tmargin: 12px 0 0 0;\\n\\tgap: 8px;\\n\\talign-items: center;\\n\\tfont-size: 16px;\\n\\tcolor: var(--color-text-light);\\n\\n\\t&.profile-property {\\n\\t\\theight: 38px;\\n\\t}\\n\\n\\t&.setting-property {\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n.federation-control {\\n\\tmargin: 0;\\n}\\n\\n.button-vue {\\n\\tmargin: 0 0 0 auto !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\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","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4418;","__webpack_require__.b = 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\t4418: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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 = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\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, [7874], function() { return __webpack_require__(56175); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","component","_vm","this","_h","$createElement","_self","_c","staticClass","class","activeScope","name","attrs","isSupportedScope","tooltip","tooltipDisabled","iconClass","displayName","on","$event","stopPropagation","preventDefault","updateScope","apply","arguments","_v","_s","ACCOUNT_PROPERTY_ENUM","freeze","ADDRESS","AVATAR","BIOGRAPHY","DISPLAYNAME","EMAIL_COLLECTION","EMAIL","HEADLINE","NOTIFICATION_EMAIL","ORGANISATION","PHONE","PROFILE_ENABLED","ROLE","TWITTER","WEBSITE","ACCOUNT_PROPERTY_READABLE_ENUM","t","NAME_READABLE_ENUM","PROFILE_READABLE_ENUM","PROFILE_VISIBILITY","PROPERTY_READABLE_KEYS_ENUM","ACCOUNT_SETTING_PROPERTY_ENUM","LANGUAGE","LOCALE","ACCOUNT_SETTING_PROPERTY_READABLE_ENUM","SCOPE_ENUM","PRIVATE","LOCAL","FEDERATED","PUBLISHED","PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM","UNPUBLISHED_READABLE_PROPERTIES","SCOPE_SUFFIX","SCOPE_PROPERTY_ENUM","DEFAULT_ADDITIONAL_EMAIL_SCOPE","VERIFICATION_ENUM","NOT_VERIFIED","VERIFICATION_IN_PROGRESS","VERIFIED","VALIDATE_EMAIL_REGEX","savePrimaryAccountProperty","accountProperty","value","userId","getCurrentUser","uid","url","generateOcsUrl","confirmPassword","axios","key","res","data","savePrimaryAccountPropertyScope","scope","getLoggerBuilder","setApp","detectUser","build","additional","ariaLabel","scopeIcon","disabled","_l","federationScope","changeScope","supportedScopes","includes","isSettingProperty","isProfileProperty","inputId","readable","localScope","onScopeChange","_e","isEditable","isMultiValueSupported","isValidSection","onAddAdditional","scopedSlots","_u","fn","proxy","avatarChangeSupported","avatar","$set","showCropper","loading","version","activateLocalFilePicker","openFilePicker","isGenerated","removeAvatar","ref","validMimeTypes","join","onChange","directives","rawName","expression","_b","cropperOptions","cancel","saveAvatar","groups","domProps","quotaText","usageRelative","placeholder","onPropertyChange","type","property","toLocaleLowerCase","displayNameChangeSupported","onValidate","onSave","savePrimaryEmail","email","saveAdditionalEmail","saveNotificationEmail","removeAdditionalEmail","collection","updateAdditionalEmail","prevEmail","newEmail","savePrimaryEmailScope","saveAdditionalEmailScope","collectionScope","validateEmail","input","test","slice","length","encodeURIComponent","replace","inputPlaceholder","onEmailChange","primary","propertyReadable","federationDisabled","deleteEmailLabel","deleteDisabled","deleteEmail","isNotificationEmail","setNotificationMailLabel","setNotificationMailDisabled","setNotificationMail","primaryEmail","onAddAdditionalEmail","notificationEmail","onUpdateEmail","onUpdateNotificationEmail","additionalEmails","additionalEmail","index","parseInt","locallyVerified","onDeleteAdditionalEmail","phone","location","URL","website","twitter","undefined","onLanguageChange","commonLanguage","language","otherLanguage","commonLanguages","otherLanguages","onLocaleChange","currentLocale","locale","example","date","time","firstDayOfWeek","localesForLanguage","otherLocales","_g","$listeners","isProfileEnabled","saveEnableProfile","profilePageLink","organisation","profileEnabled","role","headline","biography","saveProfileParameterVisibility","paramId","visibility","VISIBILITY_ENUM","SHOW","SHOW_USERS_ONLY","HIDE","VISIBILITY_PROPERTY_ENUM","label","displayId","visibilityOptions","visibilityObject","onVisibilityChange","style","marginLeft","heading","gridTemplateRows","rows","param","__webpack_nonce__","btoa","getRequestToken","profileEnabledGlobally","loadState","Vue","methods","AvatarView","AvatarSection","DetailsView","DetailsSection","DisplayNameView","DisplayNameSection","EmailView","EmailSection","PhoneView","PhoneSection","LocationView","LocationSection","WebsiteView","WebsiteSection","TwitterView","TwitterSection","LanguageView","LanguageSection","LocaleView","LocaleSection","$mount","ProfileView","ProfileSection","OrganisationView","OrganisationSection","RoleView","RoleSection","HeadlineView","HeadlineSection","BiographyView","BiographySection","ProfileVisibilityView","ProfileVisibilitySection","___CSS_LOADER_EXPORT___","push","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","amdD","amdO","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file +{"version":3,"file":"settings-vue-settings-personal-info.js?v=6ec81be43df7bb223ab7","mappings":"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","sources":["webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/node_modules/@nextcloud/moment/node_modules/moment/locale|sync|/^\\.\\/.*$","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?db0b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?90b5","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=template&id=1249785e&scoped=true&","webpack:///nextcloud/apps/settings/src/constants/AccountPropertyConstants.js","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/PersonalInfoService.js","webpack:///nextcloud/apps/settings/src/logger.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?35ac","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?e342","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=template&id=4c6905d9&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?9e2f","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?feed","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=template&id=8094b2e6&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?bc4b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/AvatarSection.vue?5014","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=template&id=56196c5c&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?4d3b","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DetailsSection.vue?295f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=template&id=546e7ece&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?0389","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?ac46","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=template&id=7c2c5fa4&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?bde5","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DisplayNameSection.vue?vue&type=template&id=8950c424&","webpack:///nextcloud/apps/settings/src/service/PersonalInfo/EmailService.js","webpack:///nextcloud/apps/settings/src/utils/validate.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?fb78","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?bd2c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=template&id=ad393090&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?fb97","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?1258","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=template&id=3b8501a7&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/PhoneSection.vue?d5e3","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/PhoneSection.vue?vue&type=template&id=57a9f4a6&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocationSection.vue?fdc7","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocationSection.vue?vue&type=template&id=3b6d0ee7&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/WebsiteSection.vue?897b","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/WebsiteSection.vue?vue&type=template&id=b18d14ae&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/TwitterSection.vue?7e82","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/TwitterSection.vue?vue&type=template&id=203feaef&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?59fc","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?6358","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=template&id=6e196b5c&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?8c54","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?a350","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?995c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?9b6c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=template&id=545055d8&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?1124","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?fafb","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?a0a7","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?e45c","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?7d4b","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=template&id=1950be88&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?7612","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileCheckbox.vue?vue&type=template&id=1dec8338&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?b9ef","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?240c","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=template&id=60a53e27&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?3b7d","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?c85f","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/OrganisationSection.vue?5684","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/OrganisationSection.vue?vue&type=template&id=50ddf4bd&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/RoleSection.vue?a7b4","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/RoleSection.vue?vue&type=template&id=3dbe0705&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/HeadlineSection.vue?9d73","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/HeadlineSection.vue?vue&type=template&id=0f3859ee&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/BiographySection.vue?a6b2","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/BiographySection.vue?vue&type=template&id=a916ca60&","webpack:///nextcloud/apps/settings/src/service/ProfileService.js","webpack:///nextcloud/apps/settings/src/constants/ProfileConstants.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?fc73","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?c222","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=template&id=3cddb756&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?0bd2","webpack://nextcloud/./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?7729","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=template&id=0d3fd040&scoped=true&","webpack:///nextcloud/apps/settings/src/main-personal-info.js","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/AvatarSection.vue?vue&type=style&index=0&id=56196c5c&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&","webpack:///nextcloud/apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/amd define","webpack:///nextcloud/webpack/runtime/amd options","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/global","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/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(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 = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\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(function(key) { return __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 map = {\n\t\"./af\": 36026,\n\t\"./af.js\": 36026,\n\t\"./ar\": 28093,\n\t\"./ar-dz\": 41943,\n\t\"./ar-dz.js\": 41943,\n\t\"./ar-kw\": 23969,\n\t\"./ar-kw.js\": 23969,\n\t\"./ar-ly\": 40594,\n\t\"./ar-ly.js\": 40594,\n\t\"./ar-ma\": 18369,\n\t\"./ar-ma.js\": 18369,\n\t\"./ar-sa\": 32579,\n\t\"./ar-sa.js\": 32579,\n\t\"./ar-tn\": 76442,\n\t\"./ar-tn.js\": 76442,\n\t\"./ar.js\": 28093,\n\t\"./az\": 86425,\n\t\"./az.js\": 86425,\n\t\"./be\": 22004,\n\t\"./be.js\": 22004,\n\t\"./bg\": 42982,\n\t\"./bg.js\": 42982,\n\t\"./bm\": 21067,\n\t\"./bm.js\": 21067,\n\t\"./bn\": 8366,\n\t\"./bn-bd\": 63837,\n\t\"./bn-bd.js\": 63837,\n\t\"./bn.js\": 8366,\n\t\"./bo\": 95040,\n\t\"./bo.js\": 95040,\n\t\"./br\": 521,\n\t\"./br.js\": 521,\n\t\"./bs\": 83242,\n\t\"./bs.js\": 83242,\n\t\"./ca\": 73046,\n\t\"./ca.js\": 73046,\n\t\"./cs\": 25794,\n\t\"./cs.js\": 25794,\n\t\"./cv\": 28231,\n\t\"./cv.js\": 28231,\n\t\"./cy\": 10927,\n\t\"./cy.js\": 10927,\n\t\"./da\": 42832,\n\t\"./da.js\": 42832,\n\t\"./de\": 29415,\n\t\"./de-at\": 3331,\n\t\"./de-at.js\": 3331,\n\t\"./de-ch\": 45524,\n\t\"./de-ch.js\": 45524,\n\t\"./de.js\": 29415,\n\t\"./dv\": 44700,\n\t\"./dv.js\": 44700,\n\t\"./el\": 88752,\n\t\"./el.js\": 88752,\n\t\"./en-au\": 90444,\n\t\"./en-au.js\": 90444,\n\t\"./en-ca\": 65959,\n\t\"./en-ca.js\": 65959,\n\t\"./en-gb\": 62762,\n\t\"./en-gb.js\": 62762,\n\t\"./en-ie\": 40909,\n\t\"./en-ie.js\": 40909,\n\t\"./en-il\": 79909,\n\t\"./en-il.js\": 79909,\n\t\"./en-in\": 87942,\n\t\"./en-in.js\": 87942,\n\t\"./en-nz\": 75200,\n\t\"./en-nz.js\": 75200,\n\t\"./en-sg\": 21415,\n\t\"./en-sg.js\": 21415,\n\t\"./eo\": 27447,\n\t\"./eo.js\": 27447,\n\t\"./es\": 86756,\n\t\"./es-do\": 47049,\n\t\"./es-do.js\": 47049,\n\t\"./es-mx\": 15915,\n\t\"./es-mx.js\": 15915,\n\t\"./es-us\": 57133,\n\t\"./es-us.js\": 57133,\n\t\"./es.js\": 86756,\n\t\"./et\": 72182,\n\t\"./et.js\": 72182,\n\t\"./eu\": 14419,\n\t\"./eu.js\": 14419,\n\t\"./fa\": 2916,\n\t\"./fa.js\": 2916,\n\t\"./fi\": 49964,\n\t\"./fi.js\": 49964,\n\t\"./fil\": 16448,\n\t\"./fil.js\": 16448,\n\t\"./fo\": 26094,\n\t\"./fo.js\": 26094,\n\t\"./fr\": 35833,\n\t\"./fr-ca\": 56994,\n\t\"./fr-ca.js\": 56994,\n\t\"./fr-ch\": 2740,\n\t\"./fr-ch.js\": 2740,\n\t\"./fr.js\": 35833,\n\t\"./fy\": 69542,\n\t\"./fy.js\": 69542,\n\t\"./ga\": 93264,\n\t\"./ga.js\": 93264,\n\t\"./gd\": 77457,\n\t\"./gd.js\": 77457,\n\t\"./gl\": 83043,\n\t\"./gl.js\": 83043,\n\t\"./gom-deva\": 24034,\n\t\"./gom-deva.js\": 24034,\n\t\"./gom-latn\": 28379,\n\t\"./gom-latn.js\": 28379,\n\t\"./gu\": 406,\n\t\"./gu.js\": 406,\n\t\"./he\": 73219,\n\t\"./he.js\": 73219,\n\t\"./hi\": 99834,\n\t\"./hi.js\": 99834,\n\t\"./hr\": 28754,\n\t\"./hr.js\": 28754,\n\t\"./hu\": 93945,\n\t\"./hu.js\": 93945,\n\t\"./hy-am\": 81319,\n\t\"./hy-am.js\": 81319,\n\t\"./id\": 24875,\n\t\"./id.js\": 24875,\n\t\"./is\": 23724,\n\t\"./is.js\": 23724,\n\t\"./it\": 79906,\n\t\"./it-ch\": 34303,\n\t\"./it-ch.js\": 34303,\n\t\"./it.js\": 79906,\n\t\"./ja\": 77105,\n\t\"./ja.js\": 77105,\n\t\"./jv\": 15026,\n\t\"./jv.js\": 15026,\n\t\"./ka\": 67416,\n\t\"./ka.js\": 67416,\n\t\"./kk\": 79734,\n\t\"./kk.js\": 79734,\n\t\"./km\": 60757,\n\t\"./km.js\": 60757,\n\t\"./kn\": 58369,\n\t\"./kn.js\": 58369,\n\t\"./ko\": 77687,\n\t\"./ko.js\": 77687,\n\t\"./ku\": 95544,\n\t\"./ku.js\": 95544,\n\t\"./ky\": 85431,\n\t\"./ky.js\": 85431,\n\t\"./lb\": 13613,\n\t\"./lb.js\": 13613,\n\t\"./lo\": 34252,\n\t\"./lo.js\": 34252,\n\t\"./lt\": 84619,\n\t\"./lt.js\": 84619,\n\t\"./lv\": 93760,\n\t\"./lv.js\": 93760,\n\t\"./me\": 93393,\n\t\"./me.js\": 93393,\n\t\"./mi\": 12369,\n\t\"./mi.js\": 12369,\n\t\"./mk\": 48664,\n\t\"./mk.js\": 48664,\n\t\"./ml\": 23099,\n\t\"./ml.js\": 23099,\n\t\"./mn\": 98539,\n\t\"./mn.js\": 98539,\n\t\"./mr\": 778,\n\t\"./mr.js\": 778,\n\t\"./ms\": 39970,\n\t\"./ms-my\": 82625,\n\t\"./ms-my.js\": 82625,\n\t\"./ms.js\": 39970,\n\t\"./mt\": 15714,\n\t\"./mt.js\": 15714,\n\t\"./my\": 53055,\n\t\"./my.js\": 53055,\n\t\"./nb\": 73945,\n\t\"./nb.js\": 73945,\n\t\"./ne\": 63645,\n\t\"./ne.js\": 63645,\n\t\"./nl\": 4829,\n\t\"./nl-be\": 12823,\n\t\"./nl-be.js\": 12823,\n\t\"./nl.js\": 4829,\n\t\"./nn\": 23756,\n\t\"./nn.js\": 23756,\n\t\"./oc-lnc\": 41228,\n\t\"./oc-lnc.js\": 41228,\n\t\"./pa-in\": 97877,\n\t\"./pa-in.js\": 97877,\n\t\"./pl\": 53066,\n\t\"./pl.js\": 53066,\n\t\"./pt\": 28677,\n\t\"./pt-br\": 81592,\n\t\"./pt-br.js\": 81592,\n\t\"./pt.js\": 28677,\n\t\"./ro\": 32722,\n\t\"./ro.js\": 32722,\n\t\"./ru\": 59138,\n\t\"./ru.js\": 59138,\n\t\"./sd\": 32568,\n\t\"./sd.js\": 32568,\n\t\"./se\": 49753,\n\t\"./se.js\": 49753,\n\t\"./si\": 58024,\n\t\"./si.js\": 58024,\n\t\"./sk\": 31058,\n\t\"./sk.js\": 31058,\n\t\"./sl\": 43452,\n\t\"./sl.js\": 43452,\n\t\"./sq\": 2795,\n\t\"./sq.js\": 2795,\n\t\"./sr\": 26976,\n\t\"./sr-cyrl\": 38819,\n\t\"./sr-cyrl.js\": 38819,\n\t\"./sr.js\": 26976,\n\t\"./ss\": 7467,\n\t\"./ss.js\": 7467,\n\t\"./sv\": 42787,\n\t\"./sv.js\": 42787,\n\t\"./sw\": 80298,\n\t\"./sw.js\": 80298,\n\t\"./ta\": 57532,\n\t\"./ta.js\": 57532,\n\t\"./te\": 76076,\n\t\"./te.js\": 76076,\n\t\"./tet\": 40452,\n\t\"./tet.js\": 40452,\n\t\"./tg\": 64794,\n\t\"./tg.js\": 64794,\n\t\"./th\": 48245,\n\t\"./th.js\": 48245,\n\t\"./tk\": 8870,\n\t\"./tk.js\": 8870,\n\t\"./tl-ph\": 36056,\n\t\"./tl-ph.js\": 36056,\n\t\"./tlh\": 15249,\n\t\"./tlh.js\": 15249,\n\t\"./tr\": 22053,\n\t\"./tr.js\": 22053,\n\t\"./tzl\": 39871,\n\t\"./tzl.js\": 39871,\n\t\"./tzm\": 39574,\n\t\"./tzm-latn\": 19210,\n\t\"./tzm-latn.js\": 19210,\n\t\"./tzm.js\": 39574,\n\t\"./ug-cn\": 91532,\n\t\"./ug-cn.js\": 91532,\n\t\"./uk\": 11432,\n\t\"./uk.js\": 11432,\n\t\"./ur\": 88523,\n\t\"./ur.js\": 88523,\n\t\"./uz\": 54958,\n\t\"./uz-latn\": 68735,\n\t\"./uz-latn.js\": 68735,\n\t\"./uz.js\": 54958,\n\t\"./vi\": 83398,\n\t\"./vi.js\": 83398,\n\t\"./x-pseudo\": 56665,\n\t\"./x-pseudo.js\": 56665,\n\t\"./yo\": 11642,\n\t\"./yo.js\": 11642,\n\t\"./zh-cn\": 5462,\n\t\"./zh-cn.js\": 5462,\n\t\"./zh-hk\": 92530,\n\t\"./zh-hk.js\": 92530,\n\t\"./zh-mo\": 41650,\n\t\"./zh-mo.js\": 41650,\n\t\"./zh-tw\": 97333,\n\t\"./zh-tw.js\": 97333\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 93365;","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActionButton :aria-label=\"isSupportedScope ? tooltip : tooltipDisabled\"\n\t\tclass=\"federation-actions__btn\"\n\t\t:class=\"{ 'federation-actions__btn--active': activeScope === name }\"\n\t\t:close-after-click=\"true\"\n\t\t:disabled=\"!isSupportedScope\"\n\t\t:icon=\"iconClass\"\n\t\t:title=\"displayName\"\n\t\t@click.stop.prevent=\"updateScope\">\n\t\t{{ isSupportedScope ? tooltip : tooltipDisabled }}\n\t</NcActionButton>\n</template>\n\n<script>\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\n\nexport default {\n\tname: 'FederationControlAction',\n\n\tcomponents: {\n\t\tNcActionButton,\n\t},\n\n\tprops: {\n\t\tactiveScope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\thandleScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: () => {},\n\t\t},\n\t\ticonClass: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tisSupportedScope: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttooltipDisabled: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\ttooltip: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\tupdateScope() {\n\t\t\tthis.handleScopeChange(this.name)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions__btn {\n\t\t&::v-deep p {\n\t\t\twidth: 150px !important;\n\t\t\tpadding: 8px 0 !important;\n\t\t\tcolor: var(--color-main-text) !important;\n\t\t\tfont-size: 12.8px !important;\n\t\t\tline-height: 1.5em !important;\n\t\t}\n\t}\n\n\t.federation-actions__btn--active {\n\t\tbackground-color: var(--color-primary-light) !important;\n\t\tbox-shadow: inset 2px 0 var(--color-primary) !important;\n\t}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControlAction.vue?vue&type=template&id=1249785e&scoped=true&\"\nimport script from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControlAction.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControlAction.vue?vue&type=style&index=0&id=1249785e&lang=scss&scoped=true&\"\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 null,\n \"1249785e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcActionButton',{staticClass:\"federation-actions__btn\",class:{ 'federation-actions__btn--active': _vm.activeScope === _vm.name },attrs:{\"aria-label\":_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled,\"close-after-click\":true,\"disabled\":!_vm.isSupportedScope,\"icon\":_vm.iconClass,\"title\":_vm.displayName},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.updateScope.apply(null, arguments)}}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled)+\"\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `lib/public/Accounts/IAccountManager.php`\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/** Enum of account properties */\nexport const ACCOUNT_PROPERTY_ENUM = Object.freeze({\n\tADDRESS: 'address',\n\tAVATAR: 'avatar',\n\tBIOGRAPHY: 'biography',\n\tDISPLAYNAME: 'displayname',\n\tEMAIL_COLLECTION: 'additional_mail',\n\tEMAIL: 'email',\n\tHEADLINE: 'headline',\n\tNOTIFICATION_EMAIL: 'notify_email',\n\tORGANISATION: 'organisation',\n\tPHONE: 'phone',\n\tPROFILE_ENABLED: 'profile_enabled',\n\tROLE: 'role',\n\tTWITTER: 'twitter',\n\tWEBSITE: 'website',\n})\n\n/** Enum of account properties to human readable account property names */\nexport const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({\n\tADDRESS: t('settings', 'Location'),\n\tAVATAR: t('settings', 'Profile picture'),\n\tBIOGRAPHY: t('settings', 'About'),\n\tDISPLAYNAME: t('settings', 'Full name'),\n\tEMAIL_COLLECTION: t('settings', 'Additional email'),\n\tEMAIL: t('settings', 'Email'),\n\tHEADLINE: t('settings', 'Headline'),\n\tORGANISATION: t('settings', 'Organisation'),\n\tPHONE: t('settings', 'Phone number'),\n\tPROFILE_ENABLED: t('settings', 'Profile'),\n\tROLE: t('settings', 'Role'),\n\tTWITTER: t('settings', 'Twitter'),\n\tWEBSITE: t('settings', 'Website'),\n})\n\nexport const NAME_READABLE_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_ENUM.ADDRESS]: ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_ENUM.AVATAR]: ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_ENUM.EMAIL]: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_ENUM.HEADLINE]: ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_ENUM.PHONE]: ACCOUNT_PROPERTY_READABLE_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE,\n})\n\n/** Enum of profile specific sections to human readable names */\nexport const PROFILE_READABLE_ENUM = Object.freeze({\n\tPROFILE_VISIBILITY: t('settings', 'Profile visibility'),\n})\n\n/** Enum of readable account properties to account property keys used by the server */\nexport const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: ACCOUNT_PROPERTY_ENUM.ADDRESS,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: ACCOUNT_PROPERTY_ENUM.AVATAR,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: ACCOUNT_PROPERTY_ENUM.BIOGRAPHY,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: ACCOUNT_PROPERTY_ENUM.DISPLAYNAME,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: ACCOUNT_PROPERTY_ENUM.HEADLINE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: ACCOUNT_PROPERTY_ENUM.ORGANISATION,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: ACCOUNT_PROPERTY_ENUM.PHONE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER,\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE,\n})\n\n/**\n * Enum of account setting properties\n *\n * Account setting properties unlike account properties do not support scopes*\n */\nexport const ACCOUNT_SETTING_PROPERTY_ENUM = Object.freeze({\n\tLANGUAGE: 'language',\n\tLOCALE: 'locale',\n})\n\n/** Enum of account setting properties to human readable setting properties */\nexport const ACCOUNT_SETTING_PROPERTY_READABLE_ENUM = Object.freeze({\n\tLANGUAGE: t('settings', 'Language'),\n\tLOCALE: t('settings', 'Locale'),\n})\n\n/** Enum of scopes */\nexport const SCOPE_ENUM = Object.freeze({\n\tPRIVATE: 'v2-private',\n\tLOCAL: 'v2-local',\n\tFEDERATED: 'v2-federated',\n\tPUBLISHED: 'v2-published',\n})\n\n/** Enum of readable account properties to supported scopes */\nexport const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ADDRESS]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.AVATAR]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.DISPLAYNAME]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL_COLLECTION]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL]: [SCOPE_ENUM.LOCAL],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PHONE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n\t[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],\n})\n\n/** List of readable account properties which aren't published to the lookup server */\nexport const UNPUBLISHED_READABLE_PROPERTIES = Object.freeze([\n\tACCOUNT_PROPERTY_READABLE_ENUM.BIOGRAPHY,\n\tACCOUNT_PROPERTY_READABLE_ENUM.HEADLINE,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ORGANISATION,\n\tACCOUNT_PROPERTY_READABLE_ENUM.ROLE,\n])\n\n/** Scope suffix */\nexport const SCOPE_SUFFIX = 'Scope'\n\n/**\n * Enum of scope names to properties\n *\n * Used for federation control*\n */\nexport const SCOPE_PROPERTY_ENUM = Object.freeze({\n\t[SCOPE_ENUM.PRIVATE]: {\n\t\tname: SCOPE_ENUM.PRIVATE,\n\t\tdisplayName: t('settings', 'Private'),\n\t\ttooltip: t('settings', 'Only visible to people matched via phone number integration through Talk on mobile'),\n\t\ttooltipDisabled: t('settings', 'Not available as this property is required for core functionality including file sharing and calendar invitations'),\n\t\ticonClass: 'icon-phone',\n\t},\n\t[SCOPE_ENUM.LOCAL]: {\n\t\tname: SCOPE_ENUM.LOCAL,\n\t\tdisplayName: t('settings', 'Local'),\n\t\ttooltip: t('settings', 'Only visible to people on this instance and guests'),\n\t\t// tooltipDisabled is not required here as this scope is supported by all account properties\n\t\ticonClass: 'icon-password',\n\t},\n\t[SCOPE_ENUM.FEDERATED]: {\n\t\tname: SCOPE_ENUM.FEDERATED,\n\t\tdisplayName: t('settings', 'Federated'),\n\t\ttooltip: t('settings', 'Only synchronize to trusted servers'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-contacts-dark',\n\t},\n\t[SCOPE_ENUM.PUBLISHED]: {\n\t\tname: SCOPE_ENUM.PUBLISHED,\n\t\tdisplayName: t('settings', 'Published'),\n\t\ttooltip: t('settings', 'Synchronize to trusted servers and the global and public address book'),\n\t\ttooltipDisabled: t('settings', 'Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions'),\n\t\ticonClass: 'icon-link',\n\t},\n})\n\n/** Default additional email scope */\nexport const DEFAULT_ADDITIONAL_EMAIL_SCOPE = SCOPE_ENUM.LOCAL\n\n/** Enum of verification constants, according to IAccountManager */\nexport const VERIFICATION_ENUM = Object.freeze({\n\tNOT_VERIFIED: 0,\n\tVERIFICATION_IN_PROGRESS: 1,\n\tVERIFIED: 2,\n})\n\n/**\n * Email validation regex\n *\n * Sourced from https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/regexp/ascii.ts*\n */\n// eslint-disable-next-line no-control-regex\nexport const VALIDATE_EMAIL_REGEX = /^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/i\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants'\n\n/**\n * Save the primary account property value for the user\n *\n * @param {string} accountProperty the account property\n * @param {string|boolean} value the primary value\n * @return {object}\n */\nexport const savePrimaryAccountProperty = async (accountProperty, value) => {\n\t// TODO allow boolean values on backend route handler\n\t// Convert boolean to string for compatibility\n\tif (typeof value === 'boolean') {\n\t\tvalue = value ? '1' : '0'\n\t}\n\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: accountProperty,\n\t\tvalue,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope of the primary account property for the user\n *\n * @param {string} accountProperty the account property\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryAccountPropertyScope = async (accountProperty, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${accountProperty}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at>\n *\n * @author Roeland Jago Douma <roeland@famdouma.nl>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<NcActions :class=\"{ 'federation-actions': !additional, 'federation-actions--additional': additional }\"\n\t\t:aria-label=\"ariaLabel\"\n\t\t:default-icon=\"scopeIcon\"\n\t\t:disabled=\"disabled\">\n\t\t<FederationControlAction v-for=\"federationScope in federationScopes\"\n\t\t\t:key=\"federationScope.name\"\n\t\t\t:active-scope=\"scope\"\n\t\t\t:display-name=\"federationScope.displayName\"\n\t\t\t:handle-scope-change=\"changeScope\"\n\t\t\t:icon-class=\"federationScope.iconClass\"\n\t\t\t:is-supported-scope=\"supportedScopes.includes(federationScope.name)\"\n\t\t\t:name=\"federationScope.name\"\n\t\t\t:tooltip-disabled=\"federationScope.tooltipDisabled\"\n\t\t\t:tooltip=\"federationScope.tooltip\" />\n\t</NcActions>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\n\nimport FederationControlAction from './FederationControlAction.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tACCOUNT_SETTING_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n\tPROPERTY_READABLE_KEYS_ENUM,\n\tPROPERTY_READABLE_SUPPORTED_SCOPES_ENUM,\n\tSCOPE_ENUM, SCOPE_PROPERTY_ENUM,\n\tUNPUBLISHED_READABLE_PROPERTIES,\n} from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountPropertyScope } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport logger from '../../../logger.js'\n\nconst { lookupServerUploadEnabled } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'FederationControl',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tFederationControlAction,\n\t},\n\n\tprops: {\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator: (value) => Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(value) || Object.values(ACCOUNT_SETTING_PROPERTY_READABLE_ENUM).includes(value) || value === PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t},\n\t\tadditional: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tadditionalValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\thandleAdditionalScopeChange: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\treadableLowerCase: this.readable.toLocaleLowerCase(),\n\t\t\tinitialScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tariaLabel() {\n\t\t\treturn t('settings', 'Change scope level of {property}, current scope is {scope}', { property: this.readableLowerCase, scope: this.scopeDisplayNameLowerCase })\n\t\t},\n\n\t\tscopeDisplayNameLowerCase() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].displayName.toLocaleLowerCase()\n\t\t},\n\n\t\tscopeIcon() {\n\t\t\treturn SCOPE_PROPERTY_ENUM[this.scope].iconClass\n\t\t},\n\n\t\tfederationScopes() {\n\t\t\treturn Object.values(SCOPE_PROPERTY_ENUM)\n\t\t},\n\n\t\tsupportedScopes() {\n\t\t\tif (lookupServerUploadEnabled && !UNPUBLISHED_READABLE_PROPERTIES.includes(this.readable)) {\n\t\t\t\treturn [\n\t\t\t\t\t...PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable],\n\t\t\t\t\tSCOPE_ENUM.FEDERATED,\n\t\t\t\t\tSCOPE_ENUM.PUBLISHED,\n\t\t\t\t]\n\t\t\t}\n\n\t\t\treturn PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM[this.readable]\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync changeScope(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\n\t\t\tif (!this.additional) {\n\t\t\t\tawait this.updatePrimaryScope(scope)\n\t\t\t} else {\n\t\t\t\tawait this.updateAdditionalScope(scope)\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountPropertyScope(PROPERTY_READABLE_KEYS_ENUM[this.readable], scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of the primary {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync updateAdditionalScope(scope) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await this.handleAdditionalScopeChange(this.additionalValue, scope)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tscope,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update federation scope of additional {property}', { property: this.readableLowerCase }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ scope, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialScope = scope\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:scope', this.initialScope)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.federation-actions,\n\t.federation-actions--additional {\n\t\topacity: 0.4 !important;\n\n\t\t&:hover,\n\t\t&:focus,\n\t\t&:active {\n\t\t\topacity: 0.8 !important;\n\t\t}\n\t}\n\n\t.federation-actions--additional {\n\t\t&::v-deep button {\n\t\t\t// TODO remove this hack\n\t\t\tpadding-bottom: 7px;\n\t\t\theight: 30px !important;\n\t\t\tmin-height: 30px !important;\n\t\t\twidth: 30px !important;\n\t\t\tmin-width: 30px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControl.vue?vue&type=template&id=4c6905d9&scoped=true&\"\nimport script from \"./FederationControl.vue?vue&type=script&lang=js&\"\nexport * from \"./FederationControl.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FederationControl.vue?vue&type=style&index=0&id=4c6905d9&lang=scss&scoped=true&\"\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 null,\n \"4c6905d9\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NcActions',{class:{ 'federation-actions': !_vm.additional, 'federation-actions--additional': _vm.additional },attrs:{\"aria-label\":_vm.ariaLabel,\"default-icon\":_vm.scopeIcon,\"disabled\":_vm.disabled}},_vm._l((_vm.federationScopes),function(federationScope){return _c('FederationControlAction',{key:federationScope.name,attrs:{\"active-scope\":_vm.scope,\"display-name\":federationScope.displayName,\"handle-scope-change\":_vm.changeScope,\"icon-class\":federationScope.iconClass,\"is-supported-scope\":_vm.supportedScopes.includes(federationScope.name),\"name\":federationScope.name,\"tooltip-disabled\":federationScope.tooltipDisabled,\"tooltip\":federationScope.tooltip}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<h3 :class=\"{ 'setting-property': isSettingProperty, 'profile-property': isProfileProperty }\">\n\t\t<label :for=\"inputId\">\n\t\t\t<!-- Already translated as required by prop validator -->\n\t\t\t{{ readable }}\n\t\t</label>\n\n\t\t<template v-if=\"scope\">\n\t\t\t<FederationControl class=\"federation-control\"\n\t\t\t\t:readable=\"readable\"\n\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t</template>\n\n\t\t<template v-if=\"isEditable && isMultiValueSupported\">\n\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\t:disabled=\"!isValidSection\"\n\t\t\t\t:aria-label=\"t('settings', 'Add additional email')\"\n\t\t\t\t@click.stop.prevent=\"onAddAdditional\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Plus :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\t{{ t('settings', 'Add') }}\n\t\t\t</NcButton>\n\t\t</template>\n\t</h3>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\nimport Plus from 'vue-material-design-icons/Plus'\n\nimport FederationControl from './FederationControl.vue'\n\nimport {\n\tACCOUNT_PROPERTY_READABLE_ENUM,\n\tPROFILE_READABLE_ENUM,\n} from '../../../constants/AccountPropertyConstants.js'\n\nexport default {\n\tname: 'HeaderBar',\n\n\tcomponents: {\n\t\tFederationControl,\n\t\tNcButton,\n\t\tPlus,\n\t},\n\n\tprops: {\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tisMultiValueSupported: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tisValidSection: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocalScope: this.scope,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tisProfileProperty() {\n\t\t\treturn this.readable === ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED\n\t\t},\n\n\t\tisSettingProperty() {\n\t\t\treturn !Object.values(ACCOUNT_PROPERTY_READABLE_ENUM).includes(this.readable) && !Object.values(PROFILE_READABLE_ENUM).includes(this.readable)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditional() {\n\t\t\tthis.$emit('add-additional')\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\th3 {\n\t\tdisplay: inline-flex;\n\t\twidth: 100%;\n\t\tmargin: 12px 0 0 0;\n\t\tgap: 8px;\n\t\talign-items: center;\n\t\tfont-size: 16px;\n\t\tcolor: var(--color-text-light);\n\n\t\t&.profile-property {\n\t\t\theight: 38px;\n\t\t}\n\n\t\t&.setting-property {\n\t\t\theight: 44px;\n\t\t}\n\n\t\tlabel {\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n\n\t.federation-control {\n\t\tmargin: 0;\n\t}\n\n\t.button-vue {\n\t\tmargin: 0 0 0 auto !important;\n\t}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderBar.vue?vue&type=template&id=8094b2e6&scoped=true&\"\nimport script from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nexport * from \"./HeaderBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./HeaderBar.vue?vue&type=style&index=0&id=8094b2e6&lang=scss&scoped=true&\"\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 null,\n \"8094b2e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h3',{class:{ 'setting-property': _vm.isSettingProperty, 'profile-property': _vm.isProfileProperty }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]),_vm._v(\" \"),(_vm.scope)?[_c('FederationControl',{staticClass:\"federation-control\",attrs:{\"readable\":_vm.readable,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),(_vm.isEditable && _vm.isMultiValueSupported)?[_c('NcButton',{attrs:{\"type\":\"tertiary\",\"disabled\":!_vm.isValidSection,\"aria-label\":_vm.t('settings', 'Add additional email')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onAddAdditional.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Plus',{attrs:{\"size\":20}})]},proxy:true}],null,false,32235154)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Add'))+\"\\n\\t\\t\")])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"avatarChangeSupported ? inputId : null\"\n\t\t\t:readable=\"avatar.readable\"\n\t\t\t:scope.sync=\"avatar.scope\" />\n\n\t\t<div v-if=\"!showCropper\" class=\"avatar__container\">\n\t\t\t<div class=\"avatar__preview\">\n\t\t\t\t<NcAvatar v-if=\"!loading\"\n\t\t\t\t\t:user=\"userId\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Your profile picture')\"\n\t\t\t\t\t:disabled-menu=\"true\"\n\t\t\t\t\t:disabled-tooltip=\"true\"\n\t\t\t\t\t:show-user-status=\"false\"\n\t\t\t\t\t:size=\"180\"\n\t\t\t\t\t:key=\"version\" />\n\t\t\t\t<div v-else class=\"icon-loading\" />\n\t\t\t</div>\n\t\t\t<template v-if=\"avatarChangeSupported\">\n\t\t\t\t<div class=\"avatar__buttons\">\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Upload profile picture')\"\n\t\t\t\t\t\t@click=\"activateLocalFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Upload :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :aria-label=\"t('settings', 'Choose profile picture from files')\"\n\t\t\t\t\t\t@click=\"openFilePicker\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Folder :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton v-if=\"!isGenerated\"\n\t\t\t\t\t\t:aria-label=\"t('settings', 'Remove profile picture')\"\n\t\t\t\t\t\t@click=\"removeAvatar\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<Delete :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t\t<span>{{ t('settings', 'png or jpg, max. 20 MB') }}</span>\n\t\t\t\t<input ref=\"input\"\n\t\t\t\t\t:id=\"inputId\"\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\t:accept=\"validMimeTypes.join(',')\"\n\t\t\t\t\t@change=\"onChange\">\n\t\t\t</template>\n\t\t\t<span v-else>\n\t\t\t\t{{ t('settings', 'Picture provided by original account') }}\n\t\t\t</span>\n\t\t</div>\n\n\t\t<!-- Use v-show to ensure early cropper ref availability -->\n\t\t<div v-show=\"showCropper\" class=\"avatar__container\">\n\t\t\t<VueCropper ref=\"cropper\"\n\t\t\t\tclass=\"avatar__cropper\"\n\t\t\t\tv-bind=\"cropperOptions\" />\n\t\t\t<div class=\"avatar__cropper-buttons\">\n\t\t\t\t<NcButton @click=\"cancel\">\n\t\t\t\t\t{{ t('settings', 'Cancel') }}\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton type=\"primary\"\n\t\t\t\t\t@click=\"saveAvatar\">\n\t\t\t\t\t{{ t('settings', 'Set as profile picture') }}\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<span>{{ t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.') }}</span>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { loadState } from '@nextcloud/initial-state'\nimport { generateUrl } from '@nextcloud/router'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { getFilePickerBuilder, showError } from '@nextcloud/dialogs'\nimport { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton'\nimport VueCropper from 'vue-cropperjs'\n// eslint-disable-next-line node/no-extraneous-import\nimport 'cropperjs/dist/cropper.css'\n\nimport Upload from 'vue-material-design-icons/Upload'\nimport Folder from 'vue-material-design-icons/Folder'\nimport Delete from 'vue-material-design-icons/Delete'\n\nimport HeaderBar from './shared/HeaderBar.vue'\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { avatar } = loadState('settings', 'personalInfoParameters', {})\nconst { avatarChangeSupported } = loadState('settings', 'accountParameters', {})\n\nconst VALID_MIME_TYPES = ['image/png', 'image/jpeg']\n\nconst picker = getFilePickerBuilder(t('settings', 'Choose your profile picture'))\n\t.setMultiSelect(false)\n\t.setMimeTypeFilter(VALID_MIME_TYPES)\n\t.setModal(true)\n\t.setType(1)\n\t.allowDirectories(false)\n\t.build()\n\nexport default {\n\tname: 'AvatarSection',\n\n\tcomponents: {\n\t\tDelete,\n\t\tFolder,\n\t\tHeaderBar,\n\t\tNcAvatar,\n\t\tNcButton,\n\t\tUpload,\n\t\tVueCropper,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tavatar: { ...avatar, readable: NAME_READABLE_ENUM[avatar.name] },\n\t\t\tavatarChangeSupported,\n\t\t\tshowCropper: false,\n\t\t\tloading: false,\n\t\t\tuserId: getCurrentUser().uid,\n\t\t\tdisplayName: getCurrentUser().displayName,\n\t\t\tversion: oc_userconfig.avatar.version,\n\t\t\tisGenerated: oc_userconfig.avatar.generated,\n\t\t\tvalidMimeTypes: VALID_MIME_TYPES,\n\t\t\tcropperOptions: {\n\t\t\t\taspectRatio: 1 / 1,\n\t\t\t\tviewMode: 1,\n\t\t\t\tguides: false,\n\t\t\t\tcenter: false,\n\t\t\t\thighlight: false,\n\t\t\t\tautoCropArea: 1,\n\t\t\t\tminContainerWidth: 300,\n\t\t\t\tminContainerHeight: 300,\n\t\t\t},\n\t\t}\n\t},\n\n\tcreated() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.avatar.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tactivateLocalFilePicker() {\n\t\t\t// Set to null so that selecting the same file will trigger the change event\n\t\t\tthis.$refs.input.value = null\n\t\t\tthis.$refs.input.click()\n\t\t},\n\n\t\tonChange(e) {\n\t\t\tthis.loading = true\n\t\t\tconst file = e.target.files[0]\n\t\t\tif (!this.validMimeTypes.includes(file.type)) {\n\t\t\t\tshowError(t('settings', 'Please select a valid png or jpg file'))\n\t\t\t\tthis.cancel()\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst reader = new FileReader()\n\t\t\treader.onload = (e) => {\n\t\t\t\tthis.$refs.cropper.replace(e.target.result)\n\t\t\t\tthis.showCropper = true\n\t\t\t}\n\t\t\treader.readAsDataURL(file)\n\t\t},\n\n\t\tasync openFilePicker() {\n\t\t\tconst path = await picker.pick()\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst { data } = await axios.post(generateUrl('/avatar'), { path })\n\t\t\t\tif (data.status === 'success') {\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} else if (data.data === 'notsquare') {\n\t\t\t\t\tconst tempAvatar = generateUrl('/avatar/tmp') + '?requesttoken=' + encodeURIComponent(OC.requestToken) + '#' + Math.floor(Math.random() * 1000)\n\t\t\t\t\tthis.$refs.cropper.replace(tempAvatar)\n\t\t\t\t\tthis.showCropper = true\n\t\t\t\t} else {\n\t\t\t\t\tshowError(data.data.message)\n\t\t\t\t\tthis.cancel()\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error setting profile picture'))\n\t\t\t\tthis.cancel()\n\t\t\t}\n\t\t},\n\n\t\tsaveAvatar() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = true\n\n\t\t\tthis.$refs.cropper.getCroppedCanvas().toBlob(async (blob) => {\n\t\t\t\tif (blob === null) {\n\t\t\t\t\tshowError(t('settings', 'Error cropping profile picture'))\n\t\t\t\t\tthis.cancel()\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tconst formData = new FormData()\n\t\t\t\tformData.append('files[]', blob)\n\t\t\t\ttry {\n\t\t\t\t\tawait axios.post(generateUrl('/avatar'), formData)\n\t\t\t\t\tthis.handleAvatarUpdate(false)\n\t\t\t\t} catch (e) {\n\t\t\t\t\tshowError(t('settings', 'Error saving profile picture'))\n\t\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\n\t\tasync removeAvatar() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tawait axios.delete(generateUrl('/avatar'))\n\t\t\t\tthis.handleAvatarUpdate(true)\n\t\t\t} catch (e) {\n\t\t\t\tshowError(t('settings', 'Error removing profile picture'))\n\t\t\t\tthis.handleAvatarUpdate(this.isGenerated)\n\t\t\t}\n\t\t},\n\n\t\tcancel() {\n\t\t\tthis.showCropper = false\n\t\t\tthis.loading = false\n\t\t},\n\n\t\thandleAvatarUpdate(isGenerated) {\n\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\tthis.version = oc_userconfig.avatar.version = Date.now()\n\t\t\tthis.isGenerated = oc_userconfig.avatar.generated = isGenerated\n\t\t\tthis.loading = false\n\t\t\temit('settings:avatar:updated', oc_userconfig.avatar.version)\n\t\t},\n\n\t\thandleDisplayNameUpdate() {\n\t\t\tthis.version = oc_userconfig.avatar.version\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.avatar {\n\t&__container {\n\t\tmargin: 0 auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tgap: 16px 0;\n\t\twidth: 300px;\n\n\t\tspan {\n\t\t\tcolor: var(--color-text-lighter);\n\t\t}\n\t}\n\n\t&__preview {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\twidth: 180px;\n\t\theight: 180px;\n\t}\n\n\t&__buttons {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\t}\n\n\t&__cropper {\n\t\twidth: 300px;\n\t\theight: 300px;\n\t\toverflow: hidden;\n\n\t\t&-buttons {\n\t\t\twidth: 100%;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t}\n\n\t\t&::v-deep .cropper-view-box {\n\t\t\tborder-radius: 50%;\n\t\t}\n\t}\n}\n\ninput[type=\"file\"] {\n\tdisplay: none;\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=style&index=0&id=56196c5c&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AvatarSection.vue?vue&type=style&index=0&id=56196c5c&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarSection.vue?vue&type=template&id=56196c5c&scoped=true&\"\nimport script from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nexport * from \"./AvatarSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AvatarSection.vue?vue&type=style&index=0&id=56196c5c&lang=scss&scoped=true&\"\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 null,\n \"56196c5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.avatarChangeSupported ? _vm.inputId : null,\"readable\":_vm.avatar.readable,\"scope\":_vm.avatar.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.avatar, \"scope\", $event)}}}),_vm._v(\" \"),(!_vm.showCropper)?_c('div',{staticClass:\"avatar__container\"},[_c('div',{staticClass:\"avatar__preview\"},[(!_vm.loading)?_c('NcAvatar',{key:_vm.version,attrs:{\"user\":_vm.userId,\"aria-label\":_vm.t('settings', 'Your profile picture'),\"disabled-menu\":true,\"disabled-tooltip\":true,\"show-user-status\":false,\"size\":180}}):_c('div',{staticClass:\"icon-loading\"})],1),_vm._v(\" \"),(_vm.avatarChangeSupported)?[_c('div',{staticClass:\"avatar__buttons\"},[_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Upload profile picture')},on:{\"click\":_vm.activateLocalFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Upload',{attrs:{\"size\":20}})]},proxy:true}],null,false,1329850251)}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Choose profile picture from files')},on:{\"click\":_vm.openFilePicker},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Folder',{attrs:{\"size\":20}})]},proxy:true}],null,false,4270628382)}),_vm._v(\" \"),(!_vm.isGenerated)?_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Remove profile picture')},on:{\"click\":_vm.removeAvatar},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('Delete',{attrs:{\"size\":20}})]},proxy:true}],null,false,2705356561)}):_vm._e()],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'png or jpg, max. 20 MB')))]),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"id\":_vm.inputId,\"type\":\"file\",\"accept\":_vm.validMimeTypes.join(',')},on:{\"change\":_vm.onChange}})]:_c('span',[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Picture provided by original account'))+\"\\n\\t\\t\")])],2):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showCropper),expression:\"showCropper\"}],staticClass:\"avatar__container\"},[_c('VueCropper',_vm._b({ref:\"cropper\",staticClass:\"avatar__cropper\"},'VueCropper',_vm.cropperOptions,false)),_vm._v(\" \"),_c('div',{staticClass:\"avatar__cropper-buttons\"},[_c('NcButton',{on:{\"click\":_vm.cancel}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Cancel'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.saveAvatar}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Set as profile picture'))+\"\\n\\t\\t\\t\")])],1),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.t('settings', 'Please note that it can take up to 24 hours for your profile picture to be updated everywhere.')))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"t('settings', 'Details')\" />\n\n\t\t<div class=\"details\">\n\t\t\t<div class=\"details__groups\">\n\t\t\t\t<Account :size=\"20\" />\n\t\t\t\t<div class=\"details__groups-info\">\n\t\t\t\t\t<p>{{ t('settings', 'You are a member of the following groups:') }}</p>\n\t\t\t\t\t<p class=\"details__groups-list\">{{ groups.join(', ') }}</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"details__quota\">\n\t\t\t\t<CircleSlice :size=\"20\" />\n\t\t\t\t<div class=\"details__quota-info\">\n\t\t\t\t\t<p class=\"details__quota-text\" v-html=\"quotaText\" />\n\t\t\t\t\t<NcProgressBar size=\"medium\"\n\t\t\t\t\t\t:value=\"usageRelative\"\n\t\t\t\t\t\t:error=\"usageRelative > 80\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport NcProgressBar from '@nextcloud/vue/dist/Components/NcProgressBar'\n\nimport Account from 'vue-material-design-icons/Account'\nimport CircleSlice from 'vue-material-design-icons/CircleSlice3'\n\nimport HeaderBar from './shared/HeaderBar.vue'\n\n/** SYNC to be kept in sync with `lib/public/Files/FileInfo.php` */\nconst SPACE_UNLIMITED = -3\n\nconst { groups, quota, totalSpace, usage, usageRelative } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'DetailsSection',\n\n\tcomponents: {\n\t\tAccount,\n\t\tCircleSlice,\n\t\tHeaderBar,\n\t\tNcProgressBar,\n\t},\n\n\tcomputed: {\n\t\tquotaText() {\n\t\t\tif (quota === SPACE_UNLIMITED) {\n\t\t\t\treturn t('settings', 'You are using <strong>{usage}</strong>', { usage })\n\t\t\t}\n\t\t\treturn t(\n\t\t\t\t'settings',\n\t\t\t\t'You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)',\n\t\t\t\t{ usage, totalSpace, usageRelative },\n\t\t\t)\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tgroups,\n\t\t\tusageRelative,\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.details {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin: 10px 32px 10px 0;\n\tgap: 16px 0;\n\tcolor: var(--color-text-lighter);\n\n\t&__groups,\n\t&__quota {\n\t\tdisplay: flex;\n\t\tgap: 0 10px;\n\n\t\t&-info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\twidth: 100%;\n\t\t\tgap: 4px 0;\n\t\t}\n\n\t\t&-list {\n\t\t\tfont-weight: bold;\n\t\t}\n\n\t\t&::v-deep .material-design-icon {\n\t\t\talign-self: flex-start;\n\t\t\tmargin-top: 2px;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DetailsSection.vue?vue&type=template&id=546e7ece&scoped=true&\"\nimport script from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DetailsSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./DetailsSection.vue?vue&type=style&index=0&id=546e7ece&lang=scss&scoped=true&\"\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 null,\n \"546e7ece\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.t('settings', 'Details')}}),_vm._v(\" \"),_c('div',{staticClass:\"details\"},[_c('div',{staticClass:\"details__groups\"},[_c('Account',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__groups-info\"},[_c('p',[_vm._v(_vm._s(_vm.t('settings', 'You are a member of the following groups:')))]),_vm._v(\" \"),_c('p',{staticClass:\"details__groups-list\"},[_vm._v(_vm._s(_vm.groups.join(', ')))])])],1),_vm._v(\" \"),_c('div',{staticClass:\"details__quota\"},[_c('CircleSlice',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"details__quota-info\"},[_c('p',{staticClass:\"details__quota-text\",domProps:{\"innerHTML\":_vm._s(_vm.quotaText)}}),_vm._v(\" \"),_c('NcProgressBar',{attrs:{\"size\":\"medium\",\"value\":_vm.usageRelative,\"error\":_vm.usageRelative > 80}})],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :scope.sync=\"scope\"\n\t\t\t:readable.sync=\"readable\"\n\t\t\t:input-id=\"inputId\"\n\t\t\t:is-editable=\"isEditable\" />\n\n\t\t<div v-if=\"isEditable\" class=\"property\">\n\t\t\t<textarea v-if=\"multiLine\"\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:value=\"value\"\n\t\t\t\trows=\"8\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"off\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onPropertyChange\" />\n\t\t\t<input v-else\n\t\t\t\t:id=\"inputId\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:type=\"type\"\n\t\t\t\t:value=\"value\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"on\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onPropertyChange\">\n\n\t\t\t<div class=\"property__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\t\t\t</div>\n\t\t</div>\n\t\t<span v-else>\n\t\t\t{{ value || t('settings', 'No {property} set', { property: readable.toLocaleLowerCase() }) }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport debounce from 'debounce'\nimport { showError } from '@nextcloud/dialogs'\n\nimport Check from 'vue-material-design-icons/Check'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'AccountPropertySection',\n\n\tcomponents: {\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tHeaderBar,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\treadable: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'text',\n\t\t},\n\t\tisEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tmultiLine: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tonValidate: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t\tonSave: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialValue: this.value,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-property-${this.name}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonPropertyChange(e) {\n\t\t\tthis.$emit('update:value', e.target.value)\n\t\t\tthis.debouncePropertyChange(e.target.value.trim())\n\t\t},\n\n\t\tdebouncePropertyChange: debounce(async function(value) {\n\t\t\tif (this.onValidate && !this.onValidate(value)) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tawait this.updateProperty(value)\n\t\t}, 500),\n\n\t\tasync updateProperty(value) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(\n\t\t\t\t\tthis.name,\n\t\t\t\t\tvalue,\n\t\t\t\t)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvalue,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update {property}', { property: this.readable.toLocaleLowerCase() }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ value, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialValue = value\n\t\t\t\tif (this.onSave) {\n\t\t\t\t\tthis.onSave(value)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:value', this.initialValue)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.property {\n\t\tdisplay: grid;\n\t\talign-items: center;\n\n\t\ttextarea {\n\t\t\tresize: vertical;\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\tinput {\n\t\t\tgrid-area: 1 / 1;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.property__actions-container {\n\t\t\tgrid-area: 1 / 1;\n\t\t\tjustify-self: flex-end;\n\t\t\talign-self: flex-end;\n\t\t\theight: 30px;\n\n\t\t\tdisplay: flex;\n\t\t\tgap: 0 2px;\n\t\t\tmargin-right: 5px;\n\t\t\tmargin-bottom: 5px;\n\t\t}\n\t}\n\n\t.fade-enter,\n\t.fade-leave-to {\n\t\topacity: 0;\n\t}\n\n\t.fade-enter-active {\n\t\ttransition: opacity 200ms ease-out;\n\t}\n\n\t.fade-leave-active {\n\t\ttransition: opacity 300ms ease-out;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AccountPropertySection.vue?vue&type=template&id=7c2c5fa4&scoped=true&\"\nimport script from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountPropertySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AccountPropertySection.vue?vue&type=style&index=0&id=7c2c5fa4&lang=scss&scoped=true&\"\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 null,\n \"7c2c5fa4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"scope\":_vm.scope,\"readable\":_vm.readable,\"input-id\":_vm.inputId,\"is-editable\":_vm.isEditable},on:{\"update:scope\":function($event){_vm.scope=$event},\"update:readable\":function($event){_vm.readable=$event}}}),_vm._v(\" \"),(_vm.isEditable)?_c('div',{staticClass:\"property\"},[(_vm.multiLine)?_c('textarea',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"rows\":\"8\",\"autocapitalize\":\"none\",\"autocomplete\":\"off\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}):_c('input',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.placeholder,\"type\":_vm.type,\"autocapitalize\":\"none\",\"autocomplete\":\"on\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.value},on:{\"input\":_vm.onPropertyChange}}),_vm._v(\" \"),_c('div',{staticClass:\"property__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1)],1)]):_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.value || _vm.t('settings', 'No {property} set', { property: _vm.readable.toLocaleLowerCase() }))+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"displayName\"\n\t\t:placeholder=\"t('settings', 'Your full name')\"\n\t\t:is-editable=\"displayNameChangeSupported\"\n\t\t:on-validate=\"onValidate\"\n\t\t:on-save=\"onSave\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { emit } from '@nextcloud/event-bus'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { displayName } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'DisplayNameSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdisplayName: { ...displayName, readable: NAME_READABLE_ENUM[displayName.name] },\n\t\t\tdisplayNameChangeSupported,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn value !== ''\n\t\t},\n\n\t\tonSave(value) {\n\t\t\tif (oc_userconfig.avatar.generated) {\n\t\t\t\t// Update the avatar version so that avatar update handlers refresh correctly\n\t\t\t\toc_userconfig.avatar.version = Date.now()\n\t\t\t}\n\t\t\temit('settings:display-name:updated', value)\n\t\t},\n\t}\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DisplayNameSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DisplayNameSection.vue?vue&type=template&id=8950c424&\"\nimport script from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayNameSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your full name'),\"is-editable\":_vm.displayNameChangeSupported,\"on-validate\":_vm.onValidate,\"on-save\":_vm.onSave}},'AccountPropertySection',_vm.displayName,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\nimport { ACCOUNT_PROPERTY_ENUM, SCOPE_SUFFIX } from '../../constants/AccountPropertyConstants'\n\n/**\n * Save the primary email of the user\n *\n * @param {string} email the primary email\n * @return {object}\n */\nexport const savePrimaryEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save an additional email of the user\n *\n * Will be appended to the user's additional emails*\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const saveAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the notification email of the user\n *\n * @param {string} email the notification email\n * @return {object}\n */\nexport const saveNotificationEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: ACCOUNT_PROPERTY_ENUM.NOTIFICATION_EMAIL,\n\t\tvalue: email,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Remove an additional email of the user\n *\n * @param {string} email the additional email\n * @return {object}\n */\nexport const removeAdditionalEmail = async (email) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: '',\n\t})\n\n\treturn res.data\n}\n\n/**\n * Update an additional email of the user\n *\n * @param {string} prevEmail the additional email to be updated\n * @param {string} newEmail the new additional email\n * @return {object}\n */\nexport const updateAdditionalEmail = async (prevEmail, newEmail) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collection}', { userId, collection: ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: prevEmail,\n\t\tvalue: newEmail,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the primary email of the user\n *\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const savePrimaryEmailScope = async (scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: `${ACCOUNT_PROPERTY_ENUM.EMAIL}${SCOPE_SUFFIX}`,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save the federation scope for the additional email of the user\n *\n * @param {string} email the additional email\n * @param {string} scope the federation scope\n * @return {object}\n */\nexport const saveAdditionalEmailScope = async (email, scope) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('cloud/users/{userId}/{collectionScope}', { userId, collectionScope: `${ACCOUNT_PROPERTY_ENUM.EMAIL_COLLECTION}${SCOPE_SUFFIX}` })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tkey: email,\n\t\tvalue: scope,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * Frontend validators, less strict than backend validators\n *\n * TODO add nice validation errors for Profile page settings modal\n */\n\nimport { VALIDATE_EMAIL_REGEX } from '../constants/AccountPropertyConstants.js'\n\n/**\n * Validate the email input\n *\n * Compliant with PHP core FILTER_VALIDATE_EMAIL validator*\n *\n * Reference implementation https://github.com/mpyw/FILTER_VALIDATE_EMAIL.js/blob/71e62ca48841d2246a1b531e7e84f5a01f15e615/src/index.ts*\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateEmail(input) {\n\treturn typeof input === 'string'\n\t\t&& VALIDATE_EMAIL_REGEX.test(input)\n\t\t&& input.slice(-1) !== '\\n'\n\t\t&& input.length <= 320\n\t\t&& encodeURIComponent(input).replace(/%../g, 'x').length <= 320\n}\n\n/**\n * Validate the URL input\n *\n * @param {string} input the input\n * @return {boolean}\n */\nexport function validateUrl(input) {\n\ttry {\n\t\t// eslint-disable-next-line no-new\n\t\tnew URL(input)\n\t\treturn true\n\t} catch (e) {\n\t\treturn false\n\t}\n}\n\n/**\n * Validate the language input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLanguage(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate the locale input\n *\n * @param {object} input the input\n * @return {boolean}\n */\nexport function validateLocale(input) {\n\treturn input.code !== ''\n\t\t&& input.name !== ''\n\t\t&& input.name !== undefined\n}\n\n/**\n * Validate boolean input\n *\n * @param {boolean} input the input\n * @return {boolean}\n */\nexport function validateBoolean(input) {\n\treturn typeof input === 'boolean'\n}\n","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div>\n\t\t<div class=\"email\">\n\t\t\t<input :id=\"inputId\"\n\t\t\t\tref=\"email\"\n\t\t\t\ttype=\"email\"\n\t\t\t\t:placeholder=\"inputPlaceholder\"\n\t\t\t\t:value=\"email\"\n\t\t\t\tautocapitalize=\"none\"\n\t\t\t\tautocomplete=\"on\"\n\t\t\t\tautocorrect=\"off\"\n\t\t\t\t@input=\"onEmailChange\">\n\n\t\t\t<div class=\"email__actions-container\">\n\t\t\t\t<transition name=\"fade\">\n\t\t\t\t\t<Check v-if=\"showCheckmarkIcon\" :size=\"20\" />\n\t\t\t\t\t<AlertOctagon v-else-if=\"showErrorIcon\" :size=\"20\" />\n\t\t\t\t</transition>\n\n\t\t\t\t<template v-if=\"!primary\">\n\t\t\t\t\t<FederationControl :readable=\"propertyReadable\"\n\t\t\t\t\t\t:additional=\"true\"\n\t\t\t\t\t\t:additional-value=\"email\"\n\t\t\t\t\t\t:disabled=\"federationDisabled\"\n\t\t\t\t\t\t:handle-additional-scope-change=\"saveAdditionalEmailScope\"\n\t\t\t\t\t\t:scope.sync=\"localScope\"\n\t\t\t\t\t\t@update:scope=\"onScopeChange\" />\n\t\t\t\t</template>\n\n\t\t\t\t<NcActions class=\"email__actions\"\n\t\t\t\t\t:aria-label=\"t('settings', 'Email options')\"\n\t\t\t\t\t:force-menu=\"true\">\n\t\t\t\t\t<NcActionButton :aria-label=\"deleteEmailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"deleteDisabled\"\n\t\t\t\t\t\ticon=\"icon-delete\"\n\t\t\t\t\t\t@click.stop.prevent=\"deleteEmail\">\n\t\t\t\t\t\t{{ deleteEmailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t\t<NcActionButton v-if=\"!primary || !isNotificationEmail\"\n\t\t\t\t\t\t:aria-label=\"setNotificationMailLabel\"\n\t\t\t\t\t\t:close-after-click=\"true\"\n\t\t\t\t\t\t:disabled=\"setNotificationMailDisabled\"\n\t\t\t\t\t\ticon=\"icon-favorite\"\n\t\t\t\t\t\t@click.stop.prevent=\"setNotificationMail\">\n\t\t\t\t\t\t{{ setNotificationMailLabel }}\n\t\t\t\t\t</NcActionButton>\n\t\t\t\t</NcActions>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<em v-if=\"isNotificationEmail\">\n\t\t\t{{ t('settings', 'Primary email for password reset and notifications') }}\n\t\t</em>\n\t</div>\n</template>\n\n<script>\nimport NcActions from '@nextcloud/vue/dist/Components/NcActions'\nimport NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton'\nimport AlertOctagon from 'vue-material-design-icons/AlertOctagon'\nimport Check from 'vue-material-design-icons/Check'\nimport { showError } from '@nextcloud/dialogs'\nimport debounce from 'debounce'\n\nimport FederationControl from '../shared/FederationControl.vue'\nimport logger from '../../../logger.js'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, VERIFICATION_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport {\n\tremoveAdditionalEmail,\n\tsaveAdditionalEmail,\n\tsaveAdditionalEmailScope,\n\tsaveNotificationEmail,\n\tsavePrimaryEmail,\n\tupdateAdditionalEmail,\n} from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\n\nexport default {\n\tname: 'Email',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcActionButton,\n\t\tAlertOctagon,\n\t\tCheck,\n\t\tFederationControl,\n\t},\n\n\tprops: {\n\t\temail: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tindex: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\tprimary: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tscope: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tactiveNotificationEmail: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tlocalVerificationState: {\n\t\t\ttype: Number,\n\t\t\tdefault: VERIFICATION_ENUM.NOT_VERIFIED,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tinitialEmail: this.email,\n\t\t\tlocalScope: this.scope,\n\t\t\tsaveAdditionalEmailScope,\n\t\t\tshowCheckmarkIcon: false,\n\t\t\tshowErrorIcon: false,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdeleteDisabled() {\n\t\t\tif (this.primary) {\n\t\t\t\t// Disable for empty primary email as there is nothing to delete\n\t\t\t\t// OR when initialEmail (reflects server state) and email (current input) are not the same\n\t\t\t\treturn this.email === '' || this.initialEmail !== this.email\n\t\t\t} else if (this.initialEmail !== '') {\n\t\t\t\treturn this.initialEmail !== this.email\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\tdeleteEmailLabel() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Remove primary email')\n\t\t\t}\n\t\t\treturn t('settings', 'Delete email')\n\t\t},\n\n\t setNotificationMailDisabled() {\n\t\t\treturn !this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED\n\t\t},\n\n\t setNotificationMailLabel() {\n\t\t\tif (this.isNotificationEmail) {\n\t\t\t\treturn t('settings', 'Unset as primary email')\n\t\t\t} else if (!this.primary && this.localVerificationState !== VERIFICATION_ENUM.VERIFIED) {\n\t\t\t\treturn t('settings', 'This address is not confirmed')\n\t\t\t}\n\t\t\treturn t('settings', 'Set as primary email')\n\t\t},\n\n\t\tfederationDisabled() {\n\t\t\treturn !this.initialEmail\n\t\t},\n\n\t\tinputId() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn 'email'\n\t\t\t}\n\t\t\treturn `email-${this.index}`\n\t\t},\n\n\t\tinputPlaceholder() {\n\t\t\tif (this.primary) {\n\t\t\t\treturn t('settings', 'Your email address')\n\t\t\t}\n\t\t\treturn t('settings', 'Additional email address {index}', { index: this.index + 1 })\n\t\t},\n\n\t\tisNotificationEmail() {\n\t\t\treturn (this.email && this.email === this.activeNotificationEmail)\n\t\t\t\t|| (this.primary && this.activeNotificationEmail === '')\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.primary && this.initialEmail === '') {\n\t\t\t// $nextTick is needed here, otherwise it may not always work https://stackoverflow.com/questions/51922767/autofocus-input-on-mount-vue-ios/63485725#63485725\n\t\t\tthis.$nextTick(() => this.$refs.email?.focus())\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonEmailChange(e) {\n\t\t\tthis.$emit('update:email', e.target.value)\n\t\t\tthis.debounceEmailChange(e.target.value.trim())\n\t\t},\n\n\t\tdebounceEmailChange: debounce(async function(email) {\n\t\t\tif (validateEmail(email) || email === '') {\n\t\t\t\tif (this.primary) {\n\t\t\t\t\tawait this.updatePrimaryEmail(email)\n\t\t\t\t} else {\n\t\t\t\t\tif (email) {\n\t\t\t\t\t\tif (this.initialEmail === '') {\n\t\t\t\t\t\t\tawait this.addAdditionalEmail(email)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tawait this.updateAdditionalEmail(email)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}, 500),\n\n\t\tasync deleteEmail() {\n\t\t\tif (this.primary) {\n\t\t\t\tthis.$emit('update:email', '')\n\t\t\t\tawait this.updatePrimaryEmail('')\n\t\t\t} else {\n\t\t\t\tawait this.deleteAdditionalEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync updatePrimaryEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tif (email === '') {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to delete primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleResponse({\n\t\t\t\t\t\terrorMessage: t('settings', 'Unable to update primary email address'),\n\t\t\t\t\t\terror: e,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync addAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveAdditionalEmail(email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to add additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync setNotificationMail() {\n\t\t try {\n\t\t\t const newNotificationMailValue = (this.primary || this.isNotificationEmail) ? '' : this.initialEmail\n\t\t\t const responseData = await saveNotificationEmail(newNotificationMailValue)\n\t\t\t this.handleResponse({\n\t\t\t\t notificationEmail: newNotificationMailValue,\n\t\t\t\t status: responseData.ocs?.meta?.status,\n\t\t\t })\n\t\t } catch (e) {\n\t\t\t this.handleResponse({\n\t\t\t\t errorMessage: 'Unable to choose this email for notifications',\n\t\t\t\t error: e,\n\t\t\t })\n\t\t }\n\t\t},\n\n\t\tasync updateAdditionalEmail(email) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await updateAdditionalEmail(this.initialEmail, email)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\temail,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tasync deleteAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.initialEmail)\n\t\t\t\tthis.handleDeleteAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$emit('delete-additional-email')\n\t\t\t} else {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to delete additional email address'),\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ email, notificationEmail, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tif (email) {\n\t\t\t\t\tthis.initialEmail = email\n\t\t\t\t} else if (notificationEmail !== undefined) {\n\t\t\t\t\tthis.$emit('update:notification-email', notificationEmail)\n\t\t\t\t}\n\t\t\t\tthis.showCheckmarkIcon = true\n\t\t\t\tsetTimeout(() => { this.showCheckmarkIcon = false }, 2000)\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t\tthis.showErrorIcon = true\n\t\t\t\tsetTimeout(() => { this.showErrorIcon = false }, 2000)\n\t\t\t}\n\t\t},\n\n\t\tonScopeChange(scope) {\n\t\t\tthis.$emit('update:scope', scope)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.email {\n\tdisplay: grid;\n\talign-items: center;\n\n\tinput {\n\t\tgrid-area: 1 / 1;\n\t\twidth: 100%;\n\t}\n\n\t.email__actions-container {\n\t\tgrid-area: 1 / 1;\n\t\tjustify-self: flex-end;\n\t\theight: 30px;\n\n\t\tdisplay: flex;\n\t\tgap: 0 2px;\n\t\tmargin-right: 5px;\n\n\t\t.email__actions {\n\t\t\topacity: 0.4 !important;\n\n\t\t\t&:hover,\n\t\t\t&:focus,\n\t\t\t&:active {\n\t\t\t\topacity: 0.8 !important;\n\t\t\t}\n\n\t\t\t&::v-deep button {\n\t\t\t\theight: 30px !important;\n\t\t\t\tmin-height: 30px !important;\n\t\t\t\twidth: 30px !important;\n\t\t\t\tmin-width: 30px !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-enter-active {\n\ttransition: opacity 200ms ease-out;\n}\n\n.fade-leave-active {\n\ttransition: opacity 300ms ease-out;\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Email.vue?vue&type=template&id=ad393090&scoped=true&\"\nimport script from \"./Email.vue?vue&type=script&lang=js&\"\nexport * from \"./Email.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Email.vue?vue&type=style&index=0&id=ad393090&lang=scss&scoped=true&\"\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 null,\n \"ad393090\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"email\"},[_c('input',{ref:\"email\",attrs:{\"id\":_vm.inputId,\"type\":\"email\",\"placeholder\":_vm.inputPlaceholder,\"autocapitalize\":\"none\",\"autocomplete\":\"on\",\"autocorrect\":\"off\"},domProps:{\"value\":_vm.email},on:{\"input\":_vm.onEmailChange}}),_vm._v(\" \"),_c('div',{staticClass:\"email__actions-container\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.showCheckmarkIcon)?_c('Check',{attrs:{\"size\":20}}):(_vm.showErrorIcon)?_c('AlertOctagon',{attrs:{\"size\":20}}):_vm._e()],1),_vm._v(\" \"),(!_vm.primary)?[_c('FederationControl',{attrs:{\"readable\":_vm.propertyReadable,\"additional\":true,\"additional-value\":_vm.email,\"disabled\":_vm.federationDisabled,\"handle-additional-scope-change\":_vm.saveAdditionalEmailScope,\"scope\":_vm.localScope},on:{\"update:scope\":[function($event){_vm.localScope=$event},_vm.onScopeChange]}})]:_vm._e(),_vm._v(\" \"),_c('NcActions',{staticClass:\"email__actions\",attrs:{\"aria-label\":_vm.t('settings', 'Email options'),\"force-menu\":true}},[_c('NcActionButton',{attrs:{\"aria-label\":_vm.deleteEmailLabel,\"close-after-click\":true,\"disabled\":_vm.deleteDisabled,\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.deleteEmail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.deleteEmailLabel)+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),(!_vm.primary || !_vm.isNotificationEmail)?_c('NcActionButton',{attrs:{\"aria-label\":_vm.setNotificationMailLabel,\"close-after-click\":true,\"disabled\":_vm.setNotificationMailDisabled,\"icon\":\"icon-favorite\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.setNotificationMail.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.setNotificationMailLabel)+\"\\n\\t\\t\\t\\t\")]):_vm._e()],1)],2)]),_vm._v(\" \"),(_vm.isNotificationEmail)?_c('em',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Primary email for password reset and notifications'))+\"\\n\\t\")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"primaryEmail.readable\"\n\t\t\t:handle-scope-change=\"savePrimaryEmailScope\"\n\t\t\t:is-editable=\"true\"\n\t\t\t:is-multi-value-supported=\"true\"\n\t\t\t:is-valid-section=\"isValidSection\"\n\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t@add-additional=\"onAddAdditionalEmail\" />\n\n\t\t<template v-if=\"displayNameChangeSupported\">\n\t\t\t<Email :primary=\"true\"\n\t\t\t\t:scope.sync=\"primaryEmail.scope\"\n\t\t\t\t:email.sync=\"primaryEmail.value\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ primaryEmail.value || t('settings', 'No email address set') }}\n\t\t</span>\n\n\t\t<template v-if=\"additionalEmails.length\">\n\t\t\t<em class=\"additional-emails-label\">{{ t('settings', 'Additional emails') }}</em>\n\t\t\t<!-- TODO use unique key for additional email when uniqueness can be guaranteed, see https://github.com/nextcloud/server/issues/26866 -->\n\t\t\t<Email v-for=\"(additionalEmail, index) in additionalEmails\"\n\t\t\t\t:key=\"additionalEmail.key\"\n\t\t\t\t:index=\"index\"\n\t\t\t\t:scope.sync=\"additionalEmail.scope\"\n\t\t\t\t:email.sync=\"additionalEmail.value\"\n\t\t\t\t:local-verification-state=\"parseInt(additionalEmail.locallyVerified, 10)\"\n\t\t\t\t:active-notification-email.sync=\"notificationEmail\"\n\t\t\t\t@update:email=\"onUpdateEmail\"\n\t\t\t\t@update:notification-email=\"onUpdateNotificationEmail\"\n\t\t\t\t@delete-additional-email=\"onDeleteAdditionalEmail(index)\" />\n\t\t</template>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { showError } from '@nextcloud/dialogs'\n\nimport Email from './Email.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM, DEFAULT_ADDITIONAL_EMAIL_SCOPE, NAME_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryEmail, savePrimaryEmailScope, removeAdditionalEmail } from '../../../service/PersonalInfo/EmailService.js'\nimport { validateEmail } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nconst { emailMap: { additionalEmails, primaryEmail, notificationEmail } } = loadState('settings', 'personalInfoParameters', {})\nconst { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})\n\nexport default {\n\tname: 'EmailSection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tEmail,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\taccountProperty: ACCOUNT_PROPERTY_READABLE_ENUM.EMAIL,\n\t\t\tadditionalEmails: additionalEmails.map(properties => ({ ...properties, key: this.generateUniqueKey() })),\n\t\t\tdisplayNameChangeSupported,\n\t\t\tprimaryEmail: { ...primaryEmail, readable: NAME_READABLE_ENUM[primaryEmail.name] },\n\t\t\tsavePrimaryEmailScope,\n\t\t\tnotificationEmail,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tfirstAdditionalEmail() {\n\t\t\tif (this.additionalEmails.length) {\n\t\t\t\treturn this.additionalEmails[0].value\n\t\t\t}\n\t\t\treturn null\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `account-property-${this.primaryEmail.name}`\n\t\t},\n\n\t\tisValidSection() {\n\t\t\treturn validateEmail(this.primaryEmail.value)\n\t\t\t\t&& this.additionalEmails.map(({ value }) => value).every(validateEmail)\n\t\t},\n\n\t\tprimaryEmailValue: {\n\t\t\tget() {\n\t\t\t\treturn this.primaryEmail.value\n\t\t\t},\n\t\t\tset(value) {\n\t\t\t\tthis.primaryEmail.value = value\n\t\t\t},\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonAddAdditionalEmail() {\n\t\t\tif (this.isValidSection) {\n\t\t\t\tthis.additionalEmails.push({ value: '', scope: DEFAULT_ADDITIONAL_EMAIL_SCOPE, key: this.generateUniqueKey() })\n\t\t\t}\n\t\t},\n\n\t\tonDeleteAdditionalEmail(index) {\n\t\t\tthis.$delete(this.additionalEmails, index)\n\t\t},\n\n\t\tasync onUpdateEmail() {\n\t\t\tif (this.primaryEmailValue === '' && this.firstAdditionalEmail) {\n\t\t\t\tconst deletedEmail = this.firstAdditionalEmail\n\t\t\t\tawait this.deleteFirstAdditionalEmail()\n\t\t\t\tthis.primaryEmailValue = deletedEmail\n\t\t\t\tawait this.updatePrimaryEmail()\n\t\t\t}\n\t\t},\n\n\t\tasync onUpdateNotificationEmail(email) {\n\t\t\tthis.notificationEmail = email\n\t\t},\n\n\t\tasync updatePrimaryEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryEmail(this.primaryEmailValue)\n\t\t\t\tthis.handleResponse(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to update primary email address'),\n\t\t\t\t\te\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\tasync deleteFirstAdditionalEmail() {\n\t\t\ttry {\n\t\t\t\tconst responseData = await removeAdditionalEmail(this.firstAdditionalEmail)\n\t\t\t\tthis.handleDeleteFirstAdditionalEmail(responseData.ocs?.meta?.status)\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\te\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleDeleteFirstAdditionalEmail(status) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.$delete(this.additionalEmails, 0)\n\t\t\t} else {\n\t\t\t\tthis.handleResponse(\n\t\t\t\t\t'error',\n\t\t\t\t\tt('settings', 'Unable to delete additional email address'),\n\t\t\t\t\t{}\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\thandleResponse(status, errorMessage, error) {\n\t\t\tif (status !== 'ok') {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\tgenerateUniqueKey() {\n\t\t\treturn Math.random().toString(36).substring(2)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n\n\t.additional-emails-label {\n\t\tdisplay: block;\n\t\tmargin-top: 16px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EmailSection.vue?vue&type=template&id=3b8501a7&scoped=true&\"\nimport script from \"./EmailSection.vue?vue&type=script&lang=js&\"\nexport * from \"./EmailSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmailSection.vue?vue&type=style&index=0&id=3b8501a7&lang=scss&scoped=true&\"\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 null,\n \"3b8501a7\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.primaryEmail.readable,\"handle-scope-change\":_vm.savePrimaryEmailScope,\"is-editable\":true,\"is-multi-value-supported\":true,\"is-valid-section\":_vm.isValidSection,\"scope\":_vm.primaryEmail.scope},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"add-additional\":_vm.onAddAdditionalEmail}}),_vm._v(\" \"),(_vm.displayNameChangeSupported)?[_c('Email',{attrs:{\"primary\":true,\"scope\":_vm.primaryEmail.scope,\"email\":_vm.primaryEmail.value,\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(_vm.primaryEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(_vm.primaryEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.primaryEmail.value || _vm.t('settings', 'No email address set'))+\"\\n\\t\")]),_vm._v(\" \"),(_vm.additionalEmails.length)?[_c('em',{staticClass:\"additional-emails-label\"},[_vm._v(_vm._s(_vm.t('settings', 'Additional emails')))]),_vm._v(\" \"),_vm._l((_vm.additionalEmails),function(additionalEmail,index){return _c('Email',{key:additionalEmail.key,attrs:{\"index\":index,\"scope\":additionalEmail.scope,\"email\":additionalEmail.value,\"local-verification-state\":parseInt(additionalEmail.locallyVerified, 10),\"active-notification-email\":_vm.notificationEmail},on:{\"update:scope\":function($event){return _vm.$set(additionalEmail, \"scope\", $event)},\"update:email\":[function($event){return _vm.$set(additionalEmail, \"value\", $event)},_vm.onUpdateEmail],\"update:activeNotificationEmail\":function($event){_vm.notificationEmail=$event},\"update:active-notification-email\":function($event){_vm.notificationEmail=$event},\"update:notification-email\":_vm.onUpdateNotificationEmail,\"delete-additional-email\":function($event){return _vm.onDeleteAdditionalEmail(index)}}})})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"phone\"\n\t\t:placeholder=\"t('settings', 'Your phone number')\"\n\t\ttype=\"tel\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { isValidPhoneNumber } from 'libphonenumber-js'\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { phone } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'PhoneSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tphone: { ...phone, readable: NAME_READABLE_ENUM[phone.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn isValidPhoneNumber(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PhoneSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PhoneSection.vue?vue&type=template&id=57a9f4a6&\"\nimport script from \"./PhoneSection.vue?vue&type=script&lang=js&\"\nexport * from \"./PhoneSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your phone number'),\"type\":\"tel\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.phone,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"location\"\n\t\t:placeholder=\"t('settings', 'Your location')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { location } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tlocation: { ...location, readable: NAME_READABLE_ENUM[location.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LocationSection.vue?vue&type=template&id=3b6d0ee7&\"\nimport script from \"./LocationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocationSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your location')}},'AccountPropertySection',_vm.location,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"website\"\n\t\t:placeholder=\"t('settings', 'Your website')\"\n\t\ttype=\"url\"\n\t\t:on-validate=\"onValidate\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\nimport { validateUrl } from '../../utils/validate.js'\n\nconst { website } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'WebsiteSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\twebsite: { ...website, readable: NAME_READABLE_ENUM[website.name] },\n\t\t}\n\t},\n\n\tmethods: {\n\t\tonValidate(value) {\n\t\t\treturn validateUrl(value)\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WebsiteSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WebsiteSection.vue?vue&type=template&id=b18d14ae&\"\nimport script from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\nexport * from \"./WebsiteSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your website'),\"type\":\"url\",\"on-validate\":_vm.onValidate}},'AccountPropertySection',_vm.website,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"twitter\"\n\t\t:placeholder=\"t('settings', 'Your Twitter handle')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { twitter } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'TwitterSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\ttwitter: { ...twitter, readable: NAME_READABLE_ENUM[twitter.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TwitterSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TwitterSection.vue?vue&type=template&id=203feaef&\"\nimport script from \"./TwitterSection.vue?vue&type=script&lang=js&\"\nexport * from \"./TwitterSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your Twitter handle')}},'AccountPropertySection',_vm.twitter,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"language\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Language')\"\n\t\t\t@change=\"onLanguageChange\">\n\t\t\t<option v-for=\"commonLanguage in commonLanguages\"\n\t\t\t\t:key=\"commonLanguage.code\"\n\t\t\t\t:selected=\"language.code === commonLanguage.code\"\n\t\t\t\t:value=\"commonLanguage.code\">\n\t\t\t\t{{ commonLanguage.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"otherLanguage in otherLanguages\"\n\t\t\t\t:key=\"otherLanguage.code\"\n\t\t\t\t:selected=\"language.code === otherLanguage.code\"\n\t\t\t\t:value=\"otherLanguage.code\">\n\t\t\t\t{{ otherLanguage.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<a href=\"https://www.transifex.com/nextcloud/nextcloud/\"\n\t\t\ttarget=\"_blank\"\n\t\t\trel=\"noreferrer noopener\">\n\t\t\t<em>{{ t('settings', 'Help translate') }}</em>\n\t\t</a>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLanguage } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'Language',\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tcommonLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLanguages: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tlanguage: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLanguage: this.language,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLanguages() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.commonLanguages, ...this.otherLanguages]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {})\n\t\t\t)\n\t\t},\n\t},\n\n\tmethods: {\n\t\tasync onLanguageChange(e) {\n\t\t\tconst language = this.constructLanguage(e.target.value)\n\t\t\tthis.$emit('update:language', language)\n\n\t\t\tif (validateLanguage(language)) {\n\t\t\t\tawait this.updateLanguage(language)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLanguage(language) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE, language.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlanguage,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update language'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLanguage(languageCode) {\n\t\t\treturn {\n\t\t\t\tcode: languageCode,\n\t\t\t\tname: this.allLanguages[languageCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ language, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialLanguage = language\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.language {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n\n\ta {\n\t\tcolor: var(--color-main-text);\n\t\ttext-decoration: none;\n\t\twidth: max-content;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=6e196b5c&scoped=true&\"\nimport script from \"./Language.vue?vue&type=script&lang=js&\"\nexport * from \"./Language.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=6e196b5c&lang=scss&scoped=true&\"\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 null,\n \"6e196b5c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"language\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Language')},on:{\"change\":_vm.onLanguageChange}},[_vm._l((_vm.commonLanguages),function(commonLanguage){return _c('option',{key:commonLanguage.code,domProps:{\"selected\":_vm.language.code === commonLanguage.code,\"value\":commonLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(commonLanguage.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLanguages),function(otherLanguage){return _c('option',{key:otherLanguage.code,domProps:{\"selected\":_vm.language.code === otherLanguage.code,\"value\":otherLanguage.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(otherLanguage.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"https://www.transifex.com/nextcloud/nextcloud/\",\"target\":\"_blank\",\"rel\":\"noreferrer noopener\"}},[_c('em',[_vm._v(_vm._s(_vm.t('settings', 'Help translate')))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Language :input-id=\"inputId\"\n\t\t\t\t:common-languages=\"commonLanguages\"\n\t\t\t\t:other-languages=\"otherLanguages\"\n\t\t\t\t:language.sync=\"language\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No language set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Language from './Language.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { languageMap: { activeLanguage, commonLanguages, otherLanguages } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LanguageSection',\n\n\tcomponents: {\n\t\tLanguage,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LANGUAGE,\n\t\t\tcommonLanguages,\n\t\t\totherLanguages,\n\t\t\tlanguage: activeLanguage,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LANGUAGE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.language)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LanguageSection.vue?vue&type=template&id=92685b76&scoped=true&\"\nimport script from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LanguageSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LanguageSection.vue?vue&type=style&index=0&id=92685b76&lang=scss&scoped=true&\"\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 null,\n \"92685b76\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Language',{attrs:{\"input-id\":_vm.inputId,\"common-languages\":_vm.commonLanguages,\"other-languages\":_vm.otherLanguages,\"language\":_vm.language},on:{\"update:language\":function($event){_vm.language=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No language set'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"locale\">\n\t\t<select :id=\"inputId\"\n\t\t\t:placeholder=\"t('settings', 'Locale')\"\n\t\t\t@change=\"onLocaleChange\">\n\t\t\t<option v-for=\"currentLocale in localesForLanguage\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t\t<option disabled>\n\t\t\t\t──────────\n\t\t\t</option>\n\t\t\t<option v-for=\"currentLocale in otherLocales\"\n\t\t\t\t:key=\"currentLocale.code\"\n\t\t\t\t:selected=\"locale.code === currentLocale.code\"\n\t\t\t\t:value=\"currentLocale.code\">\n\t\t\t\t{{ currentLocale.name }}\n\t\t\t</option>\n\t\t</select>\n\n\t\t<div class=\"example\">\n\t\t\t<Web :size=\"20\" />\n\t\t\t<div class=\"example__text\">\n\t\t\t\t<p>\n\t\t\t\t\t<span>{{ example.date }}</span>\n\t\t\t\t\t<span>{{ example.time }}</span>\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{{ t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: this.example.firstDayOfWeek }) }}\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport moment from '@nextcloud/moment'\nimport Web from 'vue-material-design-icons/Web'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { validateLocale } from '../../../utils/validate.js'\nimport logger from '../../../logger.js'\n\nexport default {\n\tname: 'Locale',\n\n\tcomponents: {\n\t\tWeb,\n\t},\n\n\tprops: {\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t\tlocale: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t\tlocalesForLanguage: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\totherLocales: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialLocale: this.locale,\n\t\t\texample: {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t},\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tallLocales() {\n\t\t\treturn Object.freeze(\n\t\t\t\t[...this.localesForLanguage, ...this.otherLocales]\n\t\t\t\t\t.reduce((acc, { code, name }) => ({ ...acc, [code]: name }), {})\n\t\t\t)\n\t\t},\n\t},\n\n\tcreated() {\n\t\tsetInterval(this.refreshExample, 1000)\n\t},\n\n\tmethods: {\n\t\tasync onLocaleChange(e) {\n\t\t\tconst locale = this.constructLocale(e.target.value)\n\t\t\tthis.$emit('update:locale', locale)\n\n\t\t\tif (validateLocale(locale)) {\n\t\t\t\tawait this.updateLocale(locale)\n\t\t\t}\n\t\t},\n\n\t\tasync updateLocale(locale) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE, locale.code)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tlocale,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t\tthis.reloadPage()\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update locale'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tconstructLocale(localeCode) {\n\t\t\treturn {\n\t\t\t\tcode: localeCode,\n\t\t\t\tname: this.allLocales[localeCode],\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ locale, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\tthis.initialLocale = locale\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:locale', this.initialLocale)\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\trefreshExample() {\n\t\t\tthis.example = {\n\t\t\t\tdate: moment().format('L'),\n\t\t\t\ttime: moment().format('LTS'),\n\t\t\t\tfirstDayOfWeek: window.dayNames[window.firstDay],\n\t\t\t}\n\t\t},\n\n\t\treloadPage() {\n\t\t\tlocation.reload()\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.locale {\n\tdisplay: grid;\n\n\tselect {\n\t\twidth: 100%;\n\t}\n}\n\n.example {\n\tmargin: 10px 0;\n\tdisplay: flex;\n\tgap: 0 10px;\n\tcolor: var(--color-text-lighter);\n\n\t&::v-deep .material-design-icon {\n\t\talign-self: flex-start;\n\t\tmargin-top: 2px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./Locale.vue?vue&type=template&id=545055d8&scoped=true&\"\nimport script from \"./Locale.vue?vue&type=script&lang=js&\"\nexport * from \"./Locale.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Locale.vue?vue&type=style&index=0&id=545055d8&lang=scss&scoped=true&\"\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 null,\n \"545055d8\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"locale\"},[_c('select',{attrs:{\"id\":_vm.inputId,\"placeholder\":_vm.t('settings', 'Locale')},on:{\"change\":_vm.onLocaleChange}},[_vm._l((_vm.localesForLanguage),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])}),_vm._v(\" \"),_c('option',{attrs:{\"disabled\":\"\"}},[_vm._v(\"\\n\\t\\t\\t──────────\\n\\t\\t\")]),_vm._v(\" \"),_vm._l((_vm.otherLocales),function(currentLocale){return _c('option',{key:currentLocale.code,domProps:{\"selected\":_vm.locale.code === currentLocale.code,\"value\":currentLocale.code}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(currentLocale.name)+\"\\n\\t\\t\")])})],2),_vm._v(\" \"),_c('div',{staticClass:\"example\"},[_c('Web',{attrs:{\"size\":20}}),_vm._v(\" \"),_c('div',{staticClass:\"example__text\"},[_c('p',[_c('span',[_vm._v(_vm._s(_vm.example.date))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.example.time))])]),_vm._v(\" \"),_c('p',[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Week starts on {firstDayOfWeek}', { firstDayOfWeek: this.example.firstDayOfWeek }))+\"\\n\\t\\t\\t\")])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :input-id=\"inputId\"\n\t\t\t:readable=\"propertyReadable\" />\n\n\t\t<template v-if=\"isEditable\">\n\t\t\t<Locale :input-id=\"inputId\"\n\t\t\t\t:locales-for-language=\"localesForLanguage\"\n\t\t\t\t:other-locales=\"otherLocales\"\n\t\t\t\t:locale.sync=\"locale\" />\n\t\t</template>\n\n\t\t<span v-else>\n\t\t\t{{ t('settings', 'No locale set') }}\n\t\t</span>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport Locale from './Locale.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\n\nimport { ACCOUNT_SETTING_PROPERTY_ENUM, ACCOUNT_SETTING_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { localeMap: { activeLocale, localesForLanguage, otherLocales } } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'LocaleSection',\n\n\tcomponents: {\n\t\tLocale,\n\t\tHeaderBar,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_SETTING_PROPERTY_READABLE_ENUM.LOCALE,\n\t\t\tlocalesForLanguage,\n\t\t\totherLocales,\n\t\t\tlocale: activeLocale,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputId() {\n\t\t\treturn `account-setting-${ACCOUNT_SETTING_PROPERTY_ENUM.LOCALE}`\n\t\t},\n\n\t\tisEditable() {\n\t\t\treturn Boolean(this.locale)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./LocaleSection.vue?vue&type=template&id=84fca724&scoped=true&\"\nimport script from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./LocaleSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LocaleSection.vue?vue&type=style&index=0&id=84fca724&lang=scss&scoped=true&\"\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 null,\n \"84fca724\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"input-id\":_vm.inputId,\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),(_vm.isEditable)?[_c('Locale',{attrs:{\"input-id\":_vm.inputId,\"locales-for-language\":_vm.localesForLanguage,\"other-locales\":_vm.otherLocales,\"locale\":_vm.locale},on:{\"update:locale\":function($event){_vm.locale=$event}}})]:_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'No locale set'))+\"\\n\\t\")])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a :class=\"{ disabled }\"\n\t\thref=\"#profile-visibility\"\n\t\tv-on=\"$listeners\">\n\t\t<ChevronDownIcon class=\"anchor-icon\"\n\t\t\t:size=\"22\" />\n\t\t{{ t('settings', 'Edit your Profile visibility') }}\n\t</a>\n</template>\n\n<script>\nimport ChevronDownIcon from 'vue-material-design-icons/ChevronDown'\n\nexport default {\n\tname: 'EditProfileAnchorLink',\n\n\tcomponents: {\n\t\tChevronDownIcon,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nhtml {\n\tscroll-behavior: smooth;\n\n\t@media screen and (prefers-reduced-motion: reduce) {\n\t\tscroll-behavior: auto;\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\na {\n\tdisplay: block;\n\theight: 44px;\n\twidth: 290px;\n\tline-height: 44px;\n\tpadding: 0 16px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-pill);\n\topacity: 0.4;\n\tbackground-color: transparent;\n\n\t.anchor-icon {\n\t\tdisplay: inline-block;\n\t\tvertical-align: middle;\n\t\tmargin-top: 6px;\n\t\tmargin-right: 8px;\n\t}\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\topacity: 0.8;\n\t\tbackground-color: rgba(127, 127, 127, .25);\n\t}\n\n\t&.disabled {\n\t\tpointer-events: none;\n\t}\n}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\";\n export default content && content.locals ? content.locals : undefined;\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./EditProfileAnchorLink.vue?vue&type=template&id=1950be88&scoped=true&\"\nimport script from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nexport * from \"./EditProfileAnchorLink.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EditProfileAnchorLink.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./EditProfileAnchorLink.vue?vue&type=style&index=1&id=1950be88&lang=scss&scoped=true&\"\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 null,\n \"1950be88\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',_vm._g({class:{ disabled: _vm.disabled },attrs:{\"href\":\"#profile-visibility\"}},_vm.$listeners),[_c('ChevronDownIcon',{staticClass:\"anchor-icon\",attrs:{\"size\":22}}),_vm._v(\"\\n\\t\"+_vm._s(_vm.t('settings', 'Edit your Profile visibility'))+\"\\n\")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"checkbox-container\">\n\t\t<NcCheckboxRadioSwitch type=\"switch\"\n\t\t\t:checked.sync=\"isProfileEnabled\"\n\t\t\t:loading=\"loading\"\n\t\t\t@update:checked=\"saveEnableProfile\">\n\t\t\t{{ t('settings', 'Enable Profile') }}\n\t\t</NcCheckboxRadioSwitch>\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport { emit } from '@nextcloud/event-bus'\n\nimport { savePrimaryAccountProperty } from '../../../service/PersonalInfo/PersonalInfoService.js'\nimport { ACCOUNT_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants.js'\nimport logger from '../../../logger.js'\nimport NcCheckboxRadioSwitch from '@nextcloud/vue/dist/Components/NcCheckboxRadioSwitch.js'\n\nexport default {\n\tname: 'ProfileCheckbox',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t},\n\n\tprops: {\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tisProfileEnabled: this.profileEnabled,\n\t\t\tloading: false,\n\t\t}\n\t},\n\n\tmethods: {\n\t\tasync saveEnableProfile() {\n\t\t\tthis.loading = true\n\t\t\ttry {\n\t\t\t\tconst responseData = await savePrimaryAccountProperty(ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED, this.isProfileEnabled)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tisProfileEnabled: this.isProfileEnabled,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update profile enabled state'),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ isProfileEnabled, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\temit('settings:profile-enabled:updated', isProfileEnabled)\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t\tthis.loading = false\n\t\t},\n\t},\n}\n</script>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileCheckbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfileCheckbox.vue?vue&type=template&id=1dec8338&\"\nimport script from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileCheckbox.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"checkbox-container\"},[_c('NcCheckboxRadioSwitch',{attrs:{\"type\":\"switch\",\"checked\":_vm.isProfileEnabled,\"loading\":_vm.loading},on:{\"update:checked\":[function($event){_vm.isProfileEnabled=$event},_vm.saveEnableProfile]}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Enable Profile'))+\"\\n\\t\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=script&lang=js&\"","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<a class=\"preview-card\"\n\t\t:class=\"{ disabled }\"\n\t\t:href=\"profilePageLink\">\n\t\t<NcAvatar class=\"preview-card__avatar\"\n\t\t\t:user=\"userId\"\n\t\t\t:size=\"48\"\n\t\t\t:show-user-status=\"true\"\n\t\t\t:show-user-status-compact=\"false\"\n\t\t\t:disable-menu=\"true\"\n\t\t\t:disable-tooltip=\"true\" />\n\t\t<div class=\"preview-card__header\">\n\t\t\t<span>{{ displayName }}</span>\n\t\t</div>\n\t\t<div class=\"preview-card__footer\">\n\t\t\t<span>{{ organisation }}</span>\n\t\t</div>\n\t</a>\n</template>\n\n<script>\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateUrl } from '@nextcloud/router'\n\nimport NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar'\n\nexport default {\n\tname: 'ProfilePreviewCard',\n\n\tcomponents: {\n\t\tNcAvatar,\n\t},\n\n\tprops: {\n\t\tdisplayName: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\torganisation: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tprofileEnabled: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t\tuserId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tprofilePageLink() {\n\t\t\tif (this.profileEnabled) {\n\t\t\t\treturn generateUrl('/u/{userId}', { userId: getCurrentUser().uid })\n\t\t\t}\n\t\t\t// Since an anchor element is used rather than a button for better UX,\n\t\t\t// this hack removes href if the profile is disabled so that disabling pointer-events is not needed to prevent a click from opening a page\n\t\t\t// and to allow the hover event (which disabling pointer-events wouldn't allow) for styling\n\t\t\treturn null\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.preview-card {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: relative;\n\twidth: 290px;\n\theight: 116px;\n\tmargin: 14px auto;\n\tborder-radius: var(--border-radius-large);\n\tbackground-color: var(--color-main-background);\n\tfont-weight: bold;\n\tbox-shadow: 0 2px 9px var(--color-box-shadow);\n\n\t&:hover,\n\t&:focus,\n\t&:active {\n\t\tbox-shadow: 0 2px 12px var(--color-box-shadow);\n\t}\n\n\t&:focus-visible {\n\t\toutline: var(--color-main-text) solid 1px;\n\t\toutline-offset: 3px;\n\t}\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tbox-shadow: 0 0 3px var(--color-box-shadow);\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t}\n\t}\n\n\t&__avatar {\n\t\t// Override Avatar component position to fix positioning on rerender\n\t\tposition: absolute !important;\n\t\ttop: 40px;\n\t\tleft: 18px;\n\t\tz-index: 1;\n\n\t\t&:not(.avatardiv--unknown) {\n\t\t\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\n\t\t}\n\t}\n\n\t&__header,\n\t&__footer {\n\t\tposition: relative;\n\t\twidth: auto;\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\tleft: 78px;\n\t\t\toverflow: hidden;\n\t\t\ttext-overflow: ellipsis;\n\t\t\tword-break: break-all;\n\n\t\t\t@supports (-webkit-line-clamp: 2) {\n\t\t\t\tdisplay: -webkit-box;\n\t\t\t\t-webkit-line-clamp: 2;\n\t\t\t\t-webkit-box-orient: vertical;\n\t\t\t}\n\t\t}\n\t}\n\n\t&__header {\n\t\theight: 70px;\n\t\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\n\t\tbackground-color: var(--color-primary);\n\t\tbackground-image: var(--gradient-primary-background);\n\n\t\tspan {\n\t\t\tbottom: 0;\n\t\t\tcolor: var(--color-primary-text);\n\t\t\tfont-size: 18px;\n\t\t\tfont-weight: bold;\n\t\t\tmargin: 0 4px 8px 0;\n\t\t}\n\t}\n\n\t&__footer {\n\t\theight: 46px;\n\n\t\tspan {\n\t\t\ttop: 0;\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: normal;\n\t\t\tmargin: 4px 4px 0 0;\n\t\t\tline-height: 1.3;\n\t\t}\n\t}\n}\n</style>\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfilePreviewCard.vue?vue&type=template&id=60a53e27&scoped=true&\"\nimport script from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilePreviewCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfilePreviewCard.vue?vue&type=style&index=0&id=60a53e27&lang=scss&scoped=true&\"\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 null,\n \"60a53e27\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"preview-card\",class:{ disabled: _vm.disabled },attrs:{\"href\":_vm.profilePageLink}},[_c('NcAvatar',{staticClass:\"preview-card__avatar\",attrs:{\"user\":_vm.userId,\"size\":48,\"show-user-status\":true,\"show-user-status-compact\":false,\"disable-menu\":true,\"disable-tooltip\":true}}),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__header\"},[_c('span',[_vm._v(_vm._s(_vm.displayName))])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-card__footer\"},[_c('span',[_vm._v(_vm._s(_vm.organisation))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021, Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<section>\n\t\t<HeaderBar :readable=\"propertyReadable\" />\n\n\t\t<ProfileCheckbox :profile-enabled.sync=\"profileEnabled\" />\n\n\t\t<ProfilePreviewCard :organisation=\"organisation\"\n\t\t\t:display-name=\"displayName\"\n\t\t\t:profile-enabled=\"profileEnabled\"\n\t\t\t:user-id=\"userId\" />\n\n\t\t<EditProfileAnchorLink :profile-enabled=\"profileEnabled\" />\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport EditProfileAnchorLink from './EditProfileAnchorLink.vue'\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport ProfileCheckbox from './ProfileCheckbox.vue'\nimport ProfilePreviewCard from './ProfilePreviewCard.vue'\n\nimport { ACCOUNT_PROPERTY_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst {\n\torganisation: { value: organisation },\n\tdisplayName: { value: displayName },\n\tprofileEnabled,\n\tuserId,\n} = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'ProfileSection',\n\n\tcomponents: {\n\t\tEditProfileAnchorLink,\n\t\tHeaderBar,\n\t\tProfileCheckbox,\n\t\tProfilePreviewCard,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tpropertyReadable: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,\n\t\t\torganisation,\n\t\t\tdisplayName,\n\t\t\tprofileEnabled,\n\t\t\tuserId,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:display-name:updated', this.handleDisplayNameUpdate)\n\t\tunsubscribe('settings:organisation:updated', this.handleOrganisationUpdate)\n\t},\n\n\tmethods: {\n\t\thandleDisplayNameUpdate(displayName) {\n\t\t\tthis.displayName = displayName\n\t\t},\n\n\t\thandleOrganisationUpdate(organisation) {\n\t\t\tthis.organisation = organisation\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 10px 10px;\n\n\t&::v-deep button:disabled {\n\t\tcursor: default;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileSection.vue?vue&type=template&id=cf64d964&scoped=true&\"\nimport script from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileSection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileSection.vue?vue&type=style&index=0&id=cf64d964&lang=scss&scoped=true&\"\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 null,\n \"cf64d964\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',[_c('HeaderBar',{attrs:{\"readable\":_vm.propertyReadable}}),_vm._v(\" \"),_c('ProfileCheckbox',{attrs:{\"profile-enabled\":_vm.profileEnabled},on:{\"update:profileEnabled\":function($event){_vm.profileEnabled=$event},\"update:profile-enabled\":function($event){_vm.profileEnabled=$event}}}),_vm._v(\" \"),_c('ProfilePreviewCard',{attrs:{\"organisation\":_vm.organisation,\"display-name\":_vm.displayName,\"profile-enabled\":_vm.profileEnabled,\"user-id\":_vm.userId}}),_vm._v(\" \"),_c('EditProfileAnchorLink',{attrs:{\"profile-enabled\":_vm.profileEnabled}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"organisation\"\n\t\t:placeholder=\"t('settings', 'Your organisation')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { organisation } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'OrganisationSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\torganisation: { ...organisation, readable: NAME_READABLE_ENUM[organisation.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrganisationSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OrganisationSection.vue?vue&type=template&id=50ddf4bd&\"\nimport script from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\nexport * from \"./OrganisationSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your organisation')}},'AccountPropertySection',_vm.organisation,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"role\"\n\t\t:placeholder=\"t('settings', 'Your role')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { role } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'RoleSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\trole: { ...role, readable: NAME_READABLE_ENUM[role.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RoleSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./RoleSection.vue?vue&type=template&id=3dbe0705&\"\nimport script from \"./RoleSection.vue?vue&type=script&lang=js&\"\nexport * from \"./RoleSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your role')}},'AccountPropertySection',_vm.role,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"headline\"\n\t\t:placeholder=\"t('settings', 'Your headline')\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { headline } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'HeadlineSection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theadline: { ...headline, readable: NAME_READABLE_ENUM[headline.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeadlineSection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./HeadlineSection.vue?vue&type=template&id=0f3859ee&\"\nimport script from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\nexport * from \"./HeadlineSection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your headline')}},'AccountPropertySection',_vm.headline,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2022 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license AGPL-3.0-or-later\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<AccountPropertySection v-bind.sync=\"biography\"\n\t\t:placeholder=\"t('settings', 'Your biography')\"\n\t\t:multi-line=\"true\" />\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\n\nimport AccountPropertySection from './shared/AccountPropertySection.vue'\n\nimport { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'\n\nconst { biography } = loadState('settings', 'personalInfoParameters', {})\n\nexport default {\n\tname: 'BiographySection',\n\n\tcomponents: {\n\t\tAccountPropertySection,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tbiography: { ...biography, readable: NAME_READABLE_ENUM[biography.name] },\n\t\t}\n\t},\n}\n</script>\n","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BiographySection.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BiographySection.vue?vue&type=template&id=a916ca60&\"\nimport script from \"./BiographySection.vue?vue&type=script&lang=js&\"\nexport * from \"./BiographySection.vue?vue&type=script&lang=js&\"\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 null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('AccountPropertySection',_vm._b({attrs:{\"placeholder\":_vm.t('settings', 'Your biography'),\"multi-line\":true}},'AccountPropertySection',_vm.biography,false,true))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport { confirmPassword } from '@nextcloud/password-confirmation'\nimport '@nextcloud/password-confirmation/dist/style.css'\n\n/**\n * Save the visibility of the profile parameter\n *\n * @param {string} paramId the profile parameter ID\n * @param {string} visibility the visibility\n * @return {object}\n */\nexport const saveProfileParameterVisibility = async (paramId, visibility) => {\n\tconst userId = getCurrentUser().uid\n\tconst url = generateOcsUrl('/profile/{userId}', { userId })\n\n\tawait confirmPassword()\n\n\tconst res = await axios.put(url, {\n\t\tparamId,\n\t\tvisibility,\n\t})\n\n\treturn res.data\n}\n\n/**\n * Save profile default\n *\n * @param {boolean} isEnabled the default\n * @return {object}\n */\nexport const saveProfileDefault = async (isEnabled) => {\n\t// Convert to string for compatibility\n\tisEnabled = isEnabled ? '1' : '0'\n\n\tconst url = generateOcsUrl('/apps/provisioning_api/api/v1/config/apps/{appId}/{key}', {\n\t\tappId: 'settings',\n\t\tkey: 'profile_enabled_by_default',\n\t})\n\n\tawait confirmPassword()\n\n\tconst res = await axios.post(url, {\n\t\tvalue: isEnabled,\n\t})\n\n\treturn res.data\n}\n","/**\n * @copyright 2021 Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\n/*\n * SYNC to be kept in sync with `core/Db/ProfileConfig.php`\n */\n\n/** Enum of profile visibility constants */\nexport const VISIBILITY_ENUM = Object.freeze({\n\tSHOW: 'show',\n\tSHOW_USERS_ONLY: 'show_users_only',\n\tHIDE: 'hide',\n})\n\n/**\n * Enum of profile visibility constants to properties\n */\nexport const VISIBILITY_PROPERTY_ENUM = Object.freeze({\n\t[VISIBILITY_ENUM.SHOW]: {\n\t\tname: VISIBILITY_ENUM.SHOW,\n\t\tlabel: t('settings', 'Show to everyone'),\n\t},\n\t[VISIBILITY_ENUM.SHOW_USERS_ONLY]: {\n\t\tname: VISIBILITY_ENUM.SHOW_USERS_ONLY,\n\t\tlabel: t('settings', 'Show to logged in users only'),\n\t},\n\t[VISIBILITY_ENUM.HIDE]: {\n\t\tname: VISIBILITY_ENUM.HIDE,\n\t\tlabel: t('settings', 'Hide'),\n\t},\n})\n","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<div class=\"visibility-container\"\n\t\t:class=\"{ disabled }\">\n\t\t<label :for=\"inputId\">\n\t\t\t{{ t('settings', '{displayId}', { displayId }) }}\n\t\t</label>\n\t\t<NcMultiselect :id=\"inputId\"\n\t\t\tclass=\"visibility-container__multiselect\"\n\t\t\t:options=\"visibilityOptions\"\n\t\t\ttrack-by=\"name\"\n\t\t\tlabel=\"label\"\n\t\t\t:value=\"visibilityObject\"\n\t\t\t@change=\"onVisibilityChange\" />\n\t</div>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect'\n\nimport { saveProfileParameterVisibility } from '../../../service/ProfileService.js'\nimport { VISIBILITY_PROPERTY_ENUM } from '../../../constants/ProfileConstants.js'\nimport logger from '../../../logger.js'\n\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nexport default {\n\tname: 'VisibilityDropdown',\n\n\tcomponents: {\n\t\tNcMultiselect,\n\t},\n\n\tprops: {\n\t\tparamId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdisplayId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tvisibility: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinitialVisibility: this.visibility,\n\t\t\tprofileEnabled,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\tinputId() {\n\t\t\treturn `profile-visibility-${this.paramId}`\n\t\t},\n\n\t\tvisibilityObject() {\n\t\t\treturn VISIBILITY_PROPERTY_ENUM[this.visibility]\n\t\t},\n\n\t\tvisibilityOptions() {\n\t\t\treturn Object.values(VISIBILITY_PROPERTY_ENUM)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\tasync onVisibilityChange(visibilityObject) {\n\t\t\t// This check is needed as the argument is null when selecting the same option\n\t\t\tif (visibilityObject !== null) {\n\t\t\t\tconst { name: visibility } = visibilityObject\n\t\t\t\tthis.$emit('update:visibility', visibility)\n\n\t\t\t\tif (visibility !== '') {\n\t\t\t\t\tawait this.updateVisibility(visibility)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tasync updateVisibility(visibility) {\n\t\t\ttry {\n\t\t\t\tconst responseData = await saveProfileParameterVisibility(this.paramId, visibility)\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\tvisibility,\n\t\t\t\t\tstatus: responseData.ocs?.meta?.status,\n\t\t\t\t})\n\t\t\t} catch (e) {\n\t\t\t\tthis.handleResponse({\n\t\t\t\t\terrorMessage: t('settings', 'Unable to update visibility of {displayId}', { displayId: this.displayId }),\n\t\t\t\t\terror: e,\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\thandleResponse({ visibility, status, errorMessage, error }) {\n\t\t\tif (status === 'ok') {\n\t\t\t\t// Ensure that local state reflects server state\n\t\t\t\tthis.initialVisibility = visibility\n\t\t\t} else {\n\t\t\t\tshowError(errorMessage)\n\t\t\t\tlogger.error(errorMessage, error)\n\t\t\t}\n\t\t},\n\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.visibility-container {\n\tdisplay: flex;\n\twidth: max-content;\n\n\t&.disabled {\n\t\tfilter: grayscale(1);\n\t\topacity: 0.5;\n\t\tcursor: default;\n\t\tpointer-events: none;\n\n\t\t& *,\n\t\t&::v-deep * {\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\n\tlabel {\n\t\tcolor: var(--color-text-lighter);\n\t\twidth: 150px;\n\t\tline-height: 50px;\n\t}\n\n\t&__multiselect {\n\t\twidth: 260px;\n\t\tmax-width: 40vw;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./VisibilityDropdown.vue?vue&type=template&id=3cddb756&scoped=true&\"\nimport script from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./VisibilityDropdown.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VisibilityDropdown.vue?vue&type=style&index=0&id=3cddb756&lang=scss&scoped=true&\"\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 null,\n \"3cddb756\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"visibility-container\",class:{ disabled: _vm.disabled }},[_c('label',{attrs:{\"for\":_vm.inputId}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', '{displayId}', { displayId: _vm.displayId }))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcMultiselect',{staticClass:\"visibility-container__multiselect\",attrs:{\"id\":_vm.inputId,\"options\":_vm.visibilityOptions,\"track-by\":\"name\",\"label\":\"label\",\"value\":_vm.visibilityObject},on:{\"change\":_vm.onVisibilityChange}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n\t- @copyright 2021 Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @author Christopher Ng <chrng8@gmail.com>\n\t-\n\t- @license GNU AGPL version 3 or any later version\n\t-\n\t- This program is free software: you can redistribute it and/or modify\n\t- it under the terms of the GNU Affero General Public License as\n\t- published by the Free Software Foundation, either version 3 of the\n\t- License, or (at your option) any later version.\n\t-\n\t- This program is distributed in the hope that it will be useful,\n\t- but WITHOUT ANY WARRANTY; without even the implied warranty of\n\t- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\t- GNU Affero General Public License for more details.\n\t-\n\t- You should have received a copy of the GNU Affero General Public License\n\t- along with this program. If not, see <http://www.gnu.org/licenses/>.\n\t-\n-->\n\n<template>\n\t<!-- TODO remove this inline margin placeholder once the settings layout is updated -->\n\t<section id=\"profile-visibility\"\n\t\t:style=\"{ marginLeft }\">\n\t\t<HeaderBar :readable=\"heading\" />\n\n\t\t<em :class=\"{ disabled }\">\n\t\t\t{{ t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.') }}\n\t\t</em>\n\n\t\t<div class=\"visibility-dropdowns\"\n\t\t\t:style=\"{\n\t\t\t\tgridTemplateRows: `repeat(${rows}, 44px)`,\n\t\t\t}\">\n\t\t\t<VisibilityDropdown v-for=\"param in visibilityParams\"\n\t\t\t\t:key=\"param.id\"\n\t\t\t\t:param-id=\"param.id\"\n\t\t\t\t:display-id=\"param.displayId\"\n\t\t\t\t:visibility.sync=\"param.visibility\" />\n\t\t</div>\n\t</section>\n</template>\n\n<script>\nimport { loadState } from '@nextcloud/initial-state'\nimport { subscribe, unsubscribe } from '@nextcloud/event-bus'\n\nimport HeaderBar from '../shared/HeaderBar.vue'\nimport VisibilityDropdown from './VisibilityDropdown.vue'\nimport { PROFILE_READABLE_ENUM } from '../../../constants/AccountPropertyConstants.js'\n\nconst { profileConfig } = loadState('settings', 'profileParameters', {})\nconst { profileEnabled } = loadState('settings', 'personalInfoParameters', false)\n\nconst compareParams = (a, b) => {\n\tif (a.appId === b.appId || (a.appId !== 'core' && b.appId !== 'core')) {\n\t\treturn a.displayId.localeCompare(b.displayId)\n\t} else if (a.appId === 'core') {\n\t\treturn 1\n\t} else {\n\t\treturn -1\n\t}\n}\n\nexport default {\n\tname: 'ProfileVisibilitySection',\n\n\tcomponents: {\n\t\tHeaderBar,\n\t\tVisibilityDropdown,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\theading: PROFILE_READABLE_ENUM.PROFILE_VISIBILITY,\n\t\t\tprofileEnabled,\n\t\t\tvisibilityParams: Object.entries(profileConfig)\n\t\t\t\t.map(([paramId, { appId, displayId, visibility }]) => ({ id: paramId, appId, displayId, visibility }))\n\t\t\t\t.sort(compareParams),\n\t\t\t// TODO remove this when not used once the settings layout is updated\n\t\t\tmarginLeft: window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()\n\t\t\t\t: '0px',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tdisabled() {\n\t\t\treturn !this.profileEnabled\n\t\t},\n\n\t\trows() {\n\t\t\treturn Math.ceil(this.visibilityParams.length / 2)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t\t// TODO remove this when not used once the settings layout is updated\n\t\twindow.onresize = () => {\n\t\t\tthis.marginLeft = window.matchMedia('(min-width: 1600px)').matches\n\t\t\t\t? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()\n\t\t\t\t: '0px'\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tunsubscribe('settings:profile-enabled:updated', this.handleProfileEnabledUpdate)\n\t},\n\n\tmethods: {\n\t\thandleProfileEnabledUpdate(profileEnabled) {\n\t\t\tthis.profileEnabled = profileEnabled\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\nsection {\n\tpadding: 30px;\n\tmax-width: 100vw;\n\n\tem {\n\t\tdisplay: block;\n\t\tmargin: 16px 0;\n\n\t\t&.disabled {\n\t\t\tfilter: grayscale(1);\n\t\t\topacity: 0.5;\n\t\t\tcursor: default;\n\t\t\tpointer-events: none;\n\n\t\t\t& *,\n\t\t\t&::v-deep * {\n\t\t\t\tcursor: default;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t}\n\t}\n\n\t.visibility-dropdowns {\n\t\tdisplay: grid;\n\t\tgap: 10px 40px;\n\t}\n\n\t@media (min-width: 1200px) {\n\t\twidth: 940px;\n\n\t\t.visibility-dropdowns {\n\t\t\tgrid-auto-flow: column;\n\t\t}\n\t}\n\n\t@media (max-width: 1200px) {\n\t\twidth: 470px;\n\t}\n}\n</style>\n","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"","\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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \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/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ProfileVisibilitySection.vue?vue&type=template&id=0d3fd040&scoped=true&\"\nimport script from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfileVisibilitySection.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfileVisibilitySection.vue?vue&type=style&index=0&id=0d3fd040&lang=scss&scoped=true&\"\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 null,\n \"0d3fd040\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{style:({ marginLeft: _vm.marginLeft }),attrs:{\"id\":\"profile-visibility\"}},[_c('HeaderBar',{attrs:{\"readable\":_vm.heading}}),_vm._v(\" \"),_c('em',{class:{ disabled: _vm.disabled }},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-dropdowns\",style:({\n\t\t\tgridTemplateRows: (\"repeat(\" + _vm.rows + \", 44px)\"),\n\t\t})},_vm._l((_vm.visibilityParams),function(param){return _c('VisibilityDropdown',{key:param.id,attrs:{\"param-id\":param.id,\"display-id\":param.displayId,\"visibility\":param.visibility},on:{\"update:visibility\":function($event){return _vm.$set(param, \"visibility\", $event)}}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng <chrng8@gmail.com>\n *\n * @author Christopher Ng <chrng8@gmail.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport Vue from 'vue'\nimport { getRequestToken } from '@nextcloud/auth'\nimport { loadState } from '@nextcloud/initial-state'\nimport { translate as t } from '@nextcloud/l10n'\nimport '@nextcloud/dialogs/styles/toast.scss'\n\nimport AvatarSection from './components/PersonalInfo/AvatarSection.vue'\nimport DetailsSection from './components/PersonalInfo/DetailsSection.vue'\nimport DisplayNameSection from './components/PersonalInfo/DisplayNameSection.vue'\nimport EmailSection from './components/PersonalInfo/EmailSection/EmailSection.vue'\nimport PhoneSection from './components/PersonalInfo/PhoneSection.vue'\nimport LocationSection from './components/PersonalInfo/LocationSection.vue'\nimport WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'\nimport TwitterSection from './components/PersonalInfo/TwitterSection.vue'\nimport LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'\nimport LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'\nimport ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'\nimport OrganisationSection from './components/PersonalInfo/OrganisationSection.vue'\nimport RoleSection from './components/PersonalInfo/RoleSection.vue'\nimport HeadlineSection from './components/PersonalInfo/HeadlineSection.vue'\nimport BiographySection from './components/PersonalInfo/BiographySection.vue'\nimport ProfileVisibilitySection from './components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue'\n\n__webpack_nonce__ = btoa(getRequestToken())\n\nconst profileEnabledGlobally = loadState('settings', 'profileEnabledGlobally', true)\n\nVue.mixin({\n\tmethods: {\n\t\tt,\n\t},\n})\n\nconst AvatarView = Vue.extend(AvatarSection)\nconst DetailsView = Vue.extend(DetailsSection)\nconst DisplayNameView = Vue.extend(DisplayNameSection)\nconst EmailView = Vue.extend(EmailSection)\nconst PhoneView = Vue.extend(PhoneSection)\nconst LocationView = Vue.extend(LocationSection)\nconst WebsiteView = Vue.extend(WebsiteSection)\nconst TwitterView = Vue.extend(TwitterSection)\nconst LanguageView = Vue.extend(LanguageSection)\nconst LocaleView = Vue.extend(LocaleSection)\n\nnew AvatarView().$mount('#vue-avatar-section')\nnew DetailsView().$mount('#vue-details-section')\nnew DisplayNameView().$mount('#vue-displayname-section')\nnew EmailView().$mount('#vue-email-section')\nnew PhoneView().$mount('#vue-phone-section')\nnew LocationView().$mount('#vue-location-section')\nnew WebsiteView().$mount('#vue-website-section')\nnew TwitterView().$mount('#vue-twitter-section')\nnew LanguageView().$mount('#vue-language-section')\nnew LocaleView().$mount('#vue-locale-section')\n\nif (profileEnabledGlobally) {\n\tconst ProfileView = Vue.extend(ProfileSection)\n\tconst OrganisationView = Vue.extend(OrganisationSection)\n\tconst RoleView = Vue.extend(RoleSection)\n\tconst HeadlineView = Vue.extend(HeadlineSection)\n\tconst BiographyView = Vue.extend(BiographySection)\n\tconst ProfileVisibilityView = Vue.extend(ProfileVisibilitySection)\n\n\tnew ProfileView().$mount('#vue-profile-section')\n\tnew OrganisationView().$mount('#vue-organisation-section')\n\tnew RoleView().$mount('#vue-role-section')\n\tnew HeadlineView().$mount('#vue-headline-section')\n\tnew BiographyView().$mount('#vue-biography-section')\n\tnew ProfileVisibilityView().$mount('#vue-profile-visibility-section')\n}\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, \".avatar__container[data-v-56196c5c]{margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px 0;width:300px}.avatar__container span[data-v-56196c5c]{color:var(--color-text-lighter)}.avatar__preview[data-v-56196c5c]{display:flex;justify-content:center;align-items:center;width:180px;height:180px}.avatar__buttons[data-v-56196c5c]{display:flex;gap:0 10px}.avatar__cropper[data-v-56196c5c]{width:300px;height:300px;overflow:hidden}.avatar__cropper-buttons[data-v-56196c5c]{width:100%;display:flex;justify-content:space-between}.avatar__cropper[data-v-56196c5c] .cropper-view-box{border-radius:50%}input[type=file][data-v-56196c5c]{display:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/AvatarSection.vue\"],\"names\":[],\"mappings\":\"AAuRC,oCACC,aAAA,CACA,YAAA,CACA,qBAAA,CACA,sBAAA,CACA,kBAAA,CACA,UAAA,CACA,WAAA,CAEA,yCACC,+BAAA,CAIF,kCACC,YAAA,CACA,sBAAA,CACA,kBAAA,CACA,WAAA,CACA,YAAA,CAGD,kCACC,YAAA,CACA,UAAA,CAGD,kCACC,WAAA,CACA,YAAA,CACA,eAAA,CAEA,0CACC,UAAA,CACA,YAAA,CACA,6BAAA,CAGD,oDACC,iBAAA,CAKH,kCACC,YAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.avatar {\\n\\t&__container {\\n\\t\\tmargin: 0 auto;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\tgap: 16px 0;\\n\\t\\twidth: 300px;\\n\\n\\t\\tspan {\\n\\t\\t\\tcolor: var(--color-text-lighter);\\n\\t\\t}\\n\\t}\\n\\n\\t&__preview {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t\\talign-items: center;\\n\\t\\twidth: 180px;\\n\\t\\theight: 180px;\\n\\t}\\n\\n\\t&__buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\t}\\n\\n\\t&__cropper {\\n\\t\\twidth: 300px;\\n\\t\\theight: 300px;\\n\\t\\toverflow: hidden;\\n\\n\\t\\t&-buttons {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tjustify-content: space-between;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .cropper-view-box {\\n\\t\\t\\tborder-radius: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\ninput[type=\\\"file\\\"] {\\n\\tdisplay: none;\\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, \".details[data-v-546e7ece]{display:flex;flex-direction:column;margin:10px 32px 10px 0;gap:16px 0;color:var(--color-text-lighter)}.details__groups[data-v-546e7ece],.details__quota[data-v-546e7ece]{display:flex;gap:0 10px}.details__groups-info[data-v-546e7ece],.details__quota-info[data-v-546e7ece]{display:flex;flex-direction:column;width:100%;gap:4px 0}.details__groups-list[data-v-546e7ece],.details__quota-list[data-v-546e7ece]{font-weight:bold}.details__groups[data-v-546e7ece] .material-design-icon,.details__quota[data-v-546e7ece] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/DetailsSection.vue\"],\"names\":[],\"mappings\":\"AA8FA,0BACC,YAAA,CACA,qBAAA,CACA,uBAAA,CACA,UAAA,CACA,+BAAA,CAEA,mEAEC,YAAA,CACA,UAAA,CAEA,6EACC,YAAA,CACA,qBAAA,CACA,UAAA,CACA,SAAA,CAGD,6EACC,gBAAA,CAGD,+GACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.details {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin: 10px 32px 10px 0;\\n\\tgap: 16px 0;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&__groups,\\n\\t&__quota {\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 10px;\\n\\n\\t\\t&-info {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-direction: column;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tgap: 4px 0;\\n\\t\\t}\\n\\n\\t\\t&-list {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t}\\n\\n\\t\\t&::v-deep .material-design-icon {\\n\\t\\t\\talign-self: flex-start;\\n\\t\\t\\tmargin-top: 2px;\\n\\t\\t}\\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, \".email[data-v-ad393090]{display:grid;align-items:center}.email input[data-v-ad393090]{grid-area:1/1;width:100%}.email .email__actions-container[data-v-ad393090]{grid-area:1/1;justify-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px}.email .email__actions-container .email__actions[data-v-ad393090]{opacity:.4 !important}.email .email__actions-container .email__actions[data-v-ad393090]:hover,.email .email__actions-container .email__actions[data-v-ad393090]:focus,.email .email__actions-container .email__actions[data-v-ad393090]:active{opacity:.8 !important}.email .email__actions-container .email__actions[data-v-ad393090] button{height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}.fade-enter[data-v-ad393090],.fade-leave-to[data-v-ad393090]{opacity:0}.fade-enter-active[data-v-ad393090]{transition:opacity 200ms ease-out}.fade-leave-active[data-v-ad393090]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/Email.vue\"],\"names\":[],\"mappings\":\"AAwWA,wBACC,YAAA,CACA,kBAAA,CAEA,8BACC,aAAA,CACA,UAAA,CAGD,kDACC,aAAA,CACA,qBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CAEA,kEACC,qBAAA,CAEA,yNAGC,qBAAA,CAGD,yEACC,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA,CAMJ,6DAEC,SAAA,CAGD,oCACC,iCAAA,CAGD,oCACC,iCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.email {\\n\\tdisplay: grid;\\n\\talign-items: center;\\n\\n\\tinput {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t.email__actions-container {\\n\\t\\tgrid-area: 1 / 1;\\n\\t\\tjustify-self: flex-end;\\n\\t\\theight: 30px;\\n\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 0 2px;\\n\\t\\tmargin-right: 5px;\\n\\n\\t\\t.email__actions {\\n\\t\\t\\topacity: 0.4 !important;\\n\\n\\t\\t\\t&:hover,\\n\\t\\t\\t&:focus,\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\topacity: 0.8 !important;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::v-deep button {\\n\\t\\t\\t\\theight: 30px !important;\\n\\t\\t\\t\\tmin-height: 30px !important;\\n\\t\\t\\t\\twidth: 30px !important;\\n\\t\\t\\t\\tmin-width: 30px !important;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.fade-enter,\\n.fade-leave-to {\\n\\topacity: 0;\\n}\\n\\n.fade-enter-active {\\n\\ttransition: opacity 200ms ease-out;\\n}\\n\\n.fade-leave-active {\\n\\ttransition: opacity 300ms ease-out;\\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, \"section[data-v-3b8501a7]{padding:10px 10px}section[data-v-3b8501a7] button:disabled{cursor:default}section .additional-emails-label[data-v-3b8501a7]{display:block;margin-top:16px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue\"],\"names\":[],\"mappings\":\"AAyMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,kDACC,aAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.additional-emails-label {\\n\\t\\tdisplay: block;\\n\\t\\tmargin-top: 16px;\\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, \".language[data-v-6e196b5c]{display:grid}.language select[data-v-6e196b5c]{width:100%}.language a[data-v-6e196b5c]{color:var(--color-main-text);text-decoration:none;width:max-content}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/Language.vue\"],\"names\":[],\"mappings\":\"AAoJA,2BACC,YAAA,CAEA,kCACC,UAAA,CAGD,6BACC,4BAAA,CACA,oBAAA,CACA,iBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.language {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\ta {\\n\\t\\tcolor: var(--color-main-text);\\n\\t\\ttext-decoration: none;\\n\\t\\twidth: max-content;\\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, \"section[data-v-92685b76]{padding:10px 10px}section[data-v-92685b76] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LanguageSection/LanguageSection.vue\"],\"names\":[],\"mappings\":\"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \".locale[data-v-545055d8]{display:grid}.locale select[data-v-545055d8]{width:100%}.example[data-v-545055d8]{margin:10px 0;display:flex;gap:0 10px;color:var(--color-text-lighter)}.example[data-v-545055d8] .material-design-icon{align-self:flex-start;margin-top:2px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/Locale.vue\"],\"names\":[],\"mappings\":\"AAkLA,yBACC,YAAA,CAEA,gCACC,UAAA,CAIF,0BACC,aAAA,CACA,YAAA,CACA,UAAA,CACA,+BAAA,CAEA,gDACC,qBAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.locale {\\n\\tdisplay: grid;\\n\\n\\tselect {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\\n.example {\\n\\tmargin: 10px 0;\\n\\tdisplay: flex;\\n\\tgap: 0 10px;\\n\\tcolor: var(--color-text-lighter);\\n\\n\\t&::v-deep .material-design-icon {\\n\\t\\talign-self: flex-start;\\n\\t\\tmargin-top: 2px;\\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, \"section[data-v-84fca724]{padding:10px 10px}section[data-v-84fca724] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/LocaleSection/LocaleSection.vue\"],\"names\":[],\"mappings\":\"AAgFA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \"html{scroll-behavior:smooth}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AA0DA,KACC,sBAAA,CAEA,mDAHD,KAIE,oBAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nhtml {\\n\\tscroll-behavior: smooth;\\n\\n\\t@media screen and (prefers-reduced-motion: reduce) {\\n\\t\\tscroll-behavior: auto;\\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, \"a[data-v-1950be88]{display:block;height:44px;width:290px;line-height:44px;padding:0 16px;margin:14px auto;border-radius:var(--border-radius-pill);opacity:.4;background-color:rgba(0,0,0,0)}a .anchor-icon[data-v-1950be88]{display:inline-block;vertical-align:middle;margin-top:6px;margin-right:8px}a[data-v-1950be88]:hover,a[data-v-1950be88]:focus,a[data-v-1950be88]:active{opacity:.8;background-color:rgba(127,127,127,.25)}a.disabled[data-v-1950be88]{pointer-events:none}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/EditProfileAnchorLink.vue\"],\"names\":[],\"mappings\":\"AAoEA,mBACC,aAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,uCAAA,CACA,UAAA,CACA,8BAAA,CAEA,gCACC,oBAAA,CACA,qBAAA,CACA,cAAA,CACA,gBAAA,CAGD,4EAGC,UAAA,CACA,sCAAA,CAGD,4BACC,mBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\na {\\n\\tdisplay: block;\\n\\theight: 44px;\\n\\twidth: 290px;\\n\\tline-height: 44px;\\n\\tpadding: 0 16px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-pill);\\n\\topacity: 0.4;\\n\\tbackground-color: transparent;\\n\\n\\t.anchor-icon {\\n\\t\\tdisplay: inline-block;\\n\\t\\tvertical-align: middle;\\n\\t\\tmargin-top: 6px;\\n\\t\\tmargin-right: 8px;\\n\\t}\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\topacity: 0.8;\\n\\t\\tbackground-color: rgba(127, 127, 127, .25);\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tpointer-events: none;\\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, \".preview-card[data-v-60a53e27]{display:flex;flex-direction:column;position:relative;width:290px;height:116px;margin:14px auto;border-radius:var(--border-radius-large);background-color:var(--color-main-background);font-weight:bold;box-shadow:0 2px 9px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:hover,.preview-card[data-v-60a53e27]:focus,.preview-card[data-v-60a53e27]:active{box-shadow:0 2px 12px var(--color-box-shadow)}.preview-card[data-v-60a53e27]:focus-visible{outline:var(--color-main-text) solid 1px;outline-offset:3px}.preview-card.disabled[data-v-60a53e27]{filter:grayscale(1);opacity:.5;cursor:default;box-shadow:0 0 3px var(--color-box-shadow)}.preview-card.disabled *[data-v-60a53e27],.preview-card.disabled[data-v-60a53e27] *{cursor:default}.preview-card__avatar[data-v-60a53e27]{position:absolute !important;top:40px;left:18px;z-index:1}.preview-card__avatar[data-v-60a53e27]:not(.avatardiv--unknown){box-shadow:0 0 0 3px var(--color-main-background) !important}.preview-card__header[data-v-60a53e27],.preview-card__footer[data-v-60a53e27]{position:relative;width:auto}.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{position:absolute;left:78px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}@supports(-webkit-line-clamp: 2){.preview-card__header span[data-v-60a53e27],.preview-card__footer span[data-v-60a53e27]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}.preview-card__header[data-v-60a53e27]{height:70px;border-radius:var(--border-radius-large) var(--border-radius-large) 0 0;background-color:var(--color-primary);background-image:var(--gradient-primary-background)}.preview-card__header span[data-v-60a53e27]{bottom:0;color:var(--color-primary-text);font-size:18px;font-weight:bold;margin:0 4px 8px 0}.preview-card__footer[data-v-60a53e27]{height:46px}.preview-card__footer span[data-v-60a53e27]{top:0;color:var(--color-text-maxcontrast);font-size:14px;font-weight:normal;margin:4px 4px 0 0;line-height:1.3}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfilePreviewCard.vue\"],\"names\":[],\"mappings\":\"AA6FA,+BACC,YAAA,CACA,qBAAA,CACA,iBAAA,CACA,WAAA,CACA,YAAA,CACA,gBAAA,CACA,wCAAA,CACA,6CAAA,CACA,gBAAA,CACA,4CAAA,CAEA,gHAGC,6CAAA,CAGD,6CACC,wCAAA,CACA,kBAAA,CAGD,wCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,0CAAA,CAEA,oFAEC,cAAA,CAIF,uCAEC,4BAAA,CACA,QAAA,CACA,SAAA,CACA,SAAA,CAEA,gEACC,4DAAA,CAIF,8EAEC,iBAAA,CACA,UAAA,CAEA,wFACC,iBAAA,CACA,SAAA,CACA,eAAA,CACA,sBAAA,CACA,oBAAA,CAEA,iCAPD,wFAQE,mBAAA,CACA,oBAAA,CACA,2BAAA,CAAA,CAKH,uCACC,WAAA,CACA,uEAAA,CACA,qCAAA,CACA,mDAAA,CAEA,4CACC,QAAA,CACA,+BAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CAIF,uCACC,WAAA,CAEA,4CACC,KAAA,CACA,mCAAA,CACA,cAAA,CACA,kBAAA,CACA,kBAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.preview-card {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tposition: relative;\\n\\twidth: 290px;\\n\\theight: 116px;\\n\\tmargin: 14px auto;\\n\\tborder-radius: var(--border-radius-large);\\n\\tbackground-color: var(--color-main-background);\\n\\tfont-weight: bold;\\n\\tbox-shadow: 0 2px 9px var(--color-box-shadow);\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\tbox-shadow: 0 2px 12px var(--color-box-shadow);\\n\\t}\\n\\n\\t&:focus-visible {\\n\\t\\toutline: var(--color-main-text) solid 1px;\\n\\t\\toutline-offset: 3px;\\n\\t}\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tbox-shadow: 0 0 3px var(--color-box-shadow);\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t}\\n\\t}\\n\\n\\t&__avatar {\\n\\t\\t// Override Avatar component position to fix positioning on rerender\\n\\t\\tposition: absolute !important;\\n\\t\\ttop: 40px;\\n\\t\\tleft: 18px;\\n\\t\\tz-index: 1;\\n\\n\\t\\t&:not(.avatardiv--unknown) {\\n\\t\\t\\tbox-shadow: 0 0 0 3px var(--color-main-background) !important;\\n\\t\\t}\\n\\t}\\n\\n\\t&__header,\\n\\t&__footer {\\n\\t\\tposition: relative;\\n\\t\\twidth: auto;\\n\\n\\t\\tspan {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 78px;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tword-break: break-all;\\n\\n\\t\\t\\t@supports (-webkit-line-clamp: 2) {\\n\\t\\t\\t\\tdisplay: -webkit-box;\\n\\t\\t\\t\\t-webkit-line-clamp: 2;\\n\\t\\t\\t\\t-webkit-box-orient: vertical;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__header {\\n\\t\\theight: 70px;\\n\\t\\tborder-radius: var(--border-radius-large) var(--border-radius-large) 0 0;\\n\\t\\tbackground-color: var(--color-primary);\\n\\t\\tbackground-image: var(--gradient-primary-background);\\n\\n\\t\\tspan {\\n\\t\\t\\tbottom: 0;\\n\\t\\t\\tcolor: var(--color-primary-text);\\n\\t\\t\\tfont-size: 18px;\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tmargin: 0 4px 8px 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&__footer {\\n\\t\\theight: 46px;\\n\\n\\t\\tspan {\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tfont-weight: normal;\\n\\t\\t\\tmargin: 4px 4px 0 0;\\n\\t\\t\\tline-height: 1.3;\\n\\t\\t}\\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, \"section[data-v-cf64d964]{padding:10px 10px}section[data-v-cf64d964] button:disabled{cursor:default}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileSection/ProfileSection.vue\"],\"names\":[],\"mappings\":\"AAkGA,yBACC,iBAAA,CAEA,yCACC,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\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, \"section[data-v-0d3fd040]{padding:30px;max-width:100vw}section em[data-v-0d3fd040]{display:block;margin:16px 0}section em.disabled[data-v-0d3fd040]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}section em.disabled *[data-v-0d3fd040],section em.disabled[data-v-0d3fd040] *{cursor:default;pointer-events:none}section .visibility-dropdowns[data-v-0d3fd040]{display:grid;gap:10px 40px}@media(min-width: 1200px){section[data-v-0d3fd040]{width:940px}section .visibility-dropdowns[data-v-0d3fd040]{grid-auto-flow:column}}@media(max-width: 1200px){section[data-v-0d3fd040]{width:470px}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue\"],\"names\":[],\"mappings\":\"AAyHA,yBACC,YAAA,CACA,eAAA,CAEA,4BACC,aAAA,CACA,aAAA,CAEA,qCACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,8EAEC,cAAA,CACA,mBAAA,CAKH,+CACC,YAAA,CACA,aAAA,CAGD,0BA3BD,yBA4BE,WAAA,CAEA,+CACC,qBAAA,CAAA,CAIF,0BAnCD,yBAoCE,WAAA,CAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 30px;\\n\\tmax-width: 100vw;\\n\\n\\tem {\\n\\t\\tdisplay: block;\\n\\t\\tmargin: 16px 0;\\n\\n\\t\\t&.disabled {\\n\\t\\t\\tfilter: grayscale(1);\\n\\t\\t\\topacity: 0.5;\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\n\\t\\t\\t& *,\\n\\t\\t\\t&::v-deep * {\\n\\t\\t\\t\\tcursor: default;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t.visibility-dropdowns {\\n\\t\\tdisplay: grid;\\n\\t\\tgap: 10px 40px;\\n\\t}\\n\\n\\t@media (min-width: 1200px) {\\n\\t\\twidth: 940px;\\n\\n\\t\\t.visibility-dropdowns {\\n\\t\\t\\tgrid-auto-flow: column;\\n\\t\\t}\\n\\t}\\n\\n\\t@media (max-width: 1200px) {\\n\\t\\twidth: 470px;\\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, \".visibility-container[data-v-3cddb756]{display:flex;width:max-content}.visibility-container.disabled[data-v-3cddb756]{filter:grayscale(1);opacity:.5;cursor:default;pointer-events:none}.visibility-container.disabled *[data-v-3cddb756],.visibility-container.disabled[data-v-3cddb756] *{cursor:default;pointer-events:none}.visibility-container label[data-v-3cddb756]{color:var(--color-text-lighter);width:150px;line-height:50px}.visibility-container__multiselect[data-v-3cddb756]{width:260px;max-width:40vw}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/VisibilityDropdown.vue\"],\"names\":[],\"mappings\":\"AAwJA,uCACC,YAAA,CACA,iBAAA,CAEA,gDACC,mBAAA,CACA,UAAA,CACA,cAAA,CACA,mBAAA,CAEA,oGAEC,cAAA,CACA,mBAAA,CAIF,6CACC,+BAAA,CACA,WAAA,CACA,gBAAA,CAGD,oDACC,WAAA,CACA,cAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.visibility-container {\\n\\tdisplay: flex;\\n\\twidth: max-content;\\n\\n\\t&.disabled {\\n\\t\\tfilter: grayscale(1);\\n\\t\\topacity: 0.5;\\n\\t\\tcursor: default;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& *,\\n\\t\\t&::v-deep * {\\n\\t\\t\\tcursor: default;\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t\\twidth: 150px;\\n\\t\\tline-height: 50px;\\n\\t}\\n\\n\\t&__multiselect {\\n\\t\\twidth: 260px;\\n\\t\\tmax-width: 40vw;\\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, \"section[data-v-7c2c5fa4]{padding:10px 10px}section[data-v-7c2c5fa4] button:disabled{cursor:default}section .property[data-v-7c2c5fa4]{display:grid;align-items:center}section .property textarea[data-v-7c2c5fa4]{resize:vertical;grid-area:1/1;width:100%}section .property input[data-v-7c2c5fa4]{grid-area:1/1;width:100%}section .property .property__actions-container[data-v-7c2c5fa4]{grid-area:1/1;justify-self:flex-end;align-self:flex-end;height:30px;display:flex;gap:0 2px;margin-right:5px;margin-bottom:5px}section .fade-enter[data-v-7c2c5fa4],section .fade-leave-to[data-v-7c2c5fa4]{opacity:0}section .fade-enter-active[data-v-7c2c5fa4]{transition:opacity 200ms ease-out}section .fade-leave-active[data-v-7c2c5fa4]{transition:opacity 300ms ease-out}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/AccountPropertySection.vue\"],\"names\":[],\"mappings\":\"AAgMA,yBACC,iBAAA,CAEA,yCACC,cAAA,CAGD,mCACC,YAAA,CACA,kBAAA,CAEA,4CACC,eAAA,CACA,aAAA,CACA,UAAA,CAGD,yCACC,aAAA,CACA,UAAA,CAGD,gEACC,aAAA,CACA,qBAAA,CACA,mBAAA,CACA,WAAA,CAEA,YAAA,CACA,SAAA,CACA,gBAAA,CACA,iBAAA,CAIF,6EAEC,SAAA,CAGD,4CACC,iCAAA,CAGD,4CACC,iCAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nsection {\\n\\tpadding: 10px 10px;\\n\\n\\t&::v-deep button:disabled {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t.property {\\n\\t\\tdisplay: grid;\\n\\t\\talign-items: center;\\n\\n\\t\\ttextarea {\\n\\t\\t\\tresize: vertical;\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\tinput {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t.property__actions-container {\\n\\t\\t\\tgrid-area: 1 / 1;\\n\\t\\t\\tjustify-self: flex-end;\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\theight: 30px;\\n\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tgap: 0 2px;\\n\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\tmargin-bottom: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t.fade-enter,\\n\\t.fade-leave-to {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t.fade-enter-active {\\n\\t\\ttransition: opacity 200ms ease-out;\\n\\t}\\n\\n\\t.fade-leave-active {\\n\\t\\ttransition: opacity 300ms ease-out;\\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, \".federation-actions[data-v-4c6905d9],.federation-actions--additional[data-v-4c6905d9]{opacity:.4 !important}.federation-actions[data-v-4c6905d9]:hover,.federation-actions[data-v-4c6905d9]:focus,.federation-actions[data-v-4c6905d9]:active,.federation-actions--additional[data-v-4c6905d9]:hover,.federation-actions--additional[data-v-4c6905d9]:focus,.federation-actions--additional[data-v-4c6905d9]:active{opacity:.8 !important}.federation-actions--additional[data-v-4c6905d9] button{padding-bottom:7px;height:30px !important;min-height:30px !important;width:30px !important;min-width:30px !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControl.vue\"],\"names\":[],\"mappings\":\"AA6LA,sFAEC,qBAAA,CAEA,wSAGC,qBAAA,CAKD,wDAEC,kBAAA,CACA,sBAAA,CACA,0BAAA,CACA,qBAAA,CACA,yBAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.federation-actions,\\n.federation-actions--additional {\\n\\topacity: 0.4 !important;\\n\\n\\t&:hover,\\n\\t&:focus,\\n\\t&:active {\\n\\t\\topacity: 0.8 !important;\\n\\t}\\n}\\n\\n.federation-actions--additional {\\n\\t&::v-deep button {\\n\\t\\t// TODO remove this hack\\n\\t\\tpadding-bottom: 7px;\\n\\t\\theight: 30px !important;\\n\\t\\tmin-height: 30px !important;\\n\\t\\twidth: 30px !important;\\n\\t\\tmin-width: 30px !important;\\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, \".federation-actions__btn[data-v-1249785e] p{width:150px !important;padding:8px 0 !important;color:var(--color-main-text) !important;font-size:12.8px !important;line-height:1.5em !important}.federation-actions__btn--active[data-v-1249785e]{background-color:var(--color-primary-light) !important;box-shadow:inset 2px 0 var(--color-primary) !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue\"],\"names\":[],\"mappings\":\"AA0FC,4CACC,sBAAA,CACA,wBAAA,CACA,uCAAA,CACA,2BAAA,CACA,4BAAA,CAIF,kDACC,sDAAA,CACA,sDAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n.federation-actions__btn {\\n\\t&::v-deep p {\\n\\t\\twidth: 150px !important;\\n\\t\\tpadding: 8px 0 !important;\\n\\t\\tcolor: var(--color-main-text) !important;\\n\\t\\tfont-size: 12.8px !important;\\n\\t\\tline-height: 1.5em !important;\\n\\t}\\n}\\n\\n.federation-actions__btn--active {\\n\\tbackground-color: var(--color-primary-light) !important;\\n\\tbox-shadow: inset 2px 0 var(--color-primary) !important;\\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, \"h3[data-v-8094b2e6]{display:inline-flex;width:100%;margin:12px 0 0 0;gap:8px;align-items:center;font-size:16px;color:var(--color-text-light)}h3.profile-property[data-v-8094b2e6]{height:38px}h3.setting-property[data-v-8094b2e6]{height:44px}h3 label[data-v-8094b2e6]{cursor:pointer}.federation-control[data-v-8094b2e6]{margin:0}.button-vue[data-v-8094b2e6]{margin:0 0 0 auto !important}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/PersonalInfo/shared/HeaderBar.vue\"],\"names\":[],\"mappings\":\"AA8HA,oBACC,mBAAA,CACA,UAAA,CACA,iBAAA,CACA,OAAA,CACA,kBAAA,CACA,cAAA,CACA,6BAAA,CAEA,qCACC,WAAA,CAGD,qCACC,WAAA,CAGD,0BACC,cAAA,CAIF,qCACC,QAAA,CAGD,6BACC,4BAAA\",\"sourcesContent\":[\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nh3 {\\n\\tdisplay: inline-flex;\\n\\twidth: 100%;\\n\\tmargin: 12px 0 0 0;\\n\\tgap: 8px;\\n\\talign-items: center;\\n\\tfont-size: 16px;\\n\\tcolor: var(--color-text-light);\\n\\n\\t&.profile-property {\\n\\t\\theight: 38px;\\n\\t}\\n\\n\\t&.setting-property {\\n\\t\\theight: 44px;\\n\\t}\\n\\n\\tlabel {\\n\\t\\tcursor: pointer;\\n\\t}\\n}\\n\\n.federation-control {\\n\\tmargin: 0;\\n}\\n\\n.button-vue {\\n\\tmargin: 0 0 0 auto !important;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\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","__webpack_require__.amdD = function () {\n\tthrow new Error('define cannot be used indirect');\n};","__webpack_require__.amdO = {};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(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__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(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 = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 4418;","__webpack_require__.b = 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\t4418: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\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(function(id) { return 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 = self[\"webpackChunknextcloud\"] = self[\"webpackChunknextcloud\"] || [];\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, [7874], function() { return __webpack_require__(923); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","component","_vm","this","_h","$createElement","_self","_c","staticClass","class","activeScope","name","attrs","isSupportedScope","tooltip","tooltipDisabled","iconClass","displayName","on","$event","stopPropagation","preventDefault","updateScope","apply","arguments","_v","_s","ACCOUNT_PROPERTY_ENUM","freeze","ADDRESS","AVATAR","BIOGRAPHY","DISPLAYNAME","EMAIL_COLLECTION","EMAIL","HEADLINE","NOTIFICATION_EMAIL","ORGANISATION","PHONE","PROFILE_ENABLED","ROLE","TWITTER","WEBSITE","ACCOUNT_PROPERTY_READABLE_ENUM","t","NAME_READABLE_ENUM","PROFILE_READABLE_ENUM","PROFILE_VISIBILITY","PROPERTY_READABLE_KEYS_ENUM","ACCOUNT_SETTING_PROPERTY_ENUM","LANGUAGE","LOCALE","ACCOUNT_SETTING_PROPERTY_READABLE_ENUM","SCOPE_ENUM","PRIVATE","LOCAL","FEDERATED","PUBLISHED","PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM","UNPUBLISHED_READABLE_PROPERTIES","SCOPE_SUFFIX","SCOPE_PROPERTY_ENUM","DEFAULT_ADDITIONAL_EMAIL_SCOPE","VERIFICATION_ENUM","NOT_VERIFIED","VERIFICATION_IN_PROGRESS","VERIFIED","VALIDATE_EMAIL_REGEX","savePrimaryAccountProperty","accountProperty","value","userId","getCurrentUser","uid","url","generateOcsUrl","confirmPassword","axios","key","res","data","savePrimaryAccountPropertyScope","scope","getLoggerBuilder","setApp","detectUser","build","additional","ariaLabel","scopeIcon","disabled","_l","federationScope","changeScope","supportedScopes","includes","isSettingProperty","isProfileProperty","inputId","readable","localScope","onScopeChange","_e","isEditable","isMultiValueSupported","isValidSection","onAddAdditional","scopedSlots","_u","fn","proxy","avatarChangeSupported","avatar","$set","showCropper","loading","version","activateLocalFilePicker","openFilePicker","isGenerated","removeAvatar","ref","validMimeTypes","join","onChange","directives","rawName","expression","_b","cropperOptions","cancel","saveAvatar","groups","domProps","quotaText","usageRelative","placeholder","onPropertyChange","type","property","toLocaleLowerCase","displayNameChangeSupported","onValidate","onSave","savePrimaryEmail","email","saveAdditionalEmail","saveNotificationEmail","removeAdditionalEmail","collection","updateAdditionalEmail","prevEmail","newEmail","savePrimaryEmailScope","saveAdditionalEmailScope","collectionScope","validateEmail","input","test","slice","length","encodeURIComponent","replace","inputPlaceholder","onEmailChange","primary","propertyReadable","federationDisabled","deleteEmailLabel","deleteDisabled","deleteEmail","isNotificationEmail","setNotificationMailLabel","setNotificationMailDisabled","setNotificationMail","primaryEmail","onAddAdditionalEmail","notificationEmail","onUpdateEmail","onUpdateNotificationEmail","additionalEmails","additionalEmail","index","parseInt","locallyVerified","onDeleteAdditionalEmail","phone","location","URL","website","twitter","undefined","onLanguageChange","commonLanguage","language","otherLanguage","commonLanguages","otherLanguages","onLocaleChange","currentLocale","locale","example","date","time","firstDayOfWeek","localesForLanguage","otherLocales","_g","$listeners","isProfileEnabled","saveEnableProfile","profilePageLink","organisation","profileEnabled","role","headline","biography","saveProfileParameterVisibility","paramId","visibility","VISIBILITY_ENUM","SHOW","SHOW_USERS_ONLY","HIDE","VISIBILITY_PROPERTY_ENUM","label","displayId","visibilityOptions","visibilityObject","onVisibilityChange","style","marginLeft","heading","gridTemplateRows","rows","param","__webpack_nonce__","btoa","getRequestToken","profileEnabledGlobally","loadState","Vue","methods","AvatarView","AvatarSection","DetailsView","DetailsSection","DisplayNameView","DisplayNameSection","EmailView","EmailSection","PhoneView","PhoneSection","LocationView","LocationSection","WebsiteView","WebsiteSection","TwitterView","TwitterSection","LanguageView","LanguageSection","LocaleView","LocaleSection","$mount","ProfileView","ProfileSection","OrganisationView","OrganisationSection","RoleView","RoleSection","HeadlineView","HeadlineSection","BiographyView","BiographySection","ProfileVisibilityView","ProfileVisibilitySection","___CSS_LOADER_EXPORT___","push","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","amdD","amdO","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","a","definition","defineProperty","enumerable","get","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","nmd","paths","children","b","document","baseURI","self","href","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","forEach","bind","nc","__webpack_exports__"],"sourceRoot":""}
\ No newline at end of file |