diff --git a/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue b/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue index 850a9fa42f2..22ce295db1d 100644 --- a/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue +++ b/apps/settings/src/components/PersonalInfo/shared/FederationControlAction.vue @@ -27,7 +27,7 @@ :close-after-click="true" :disabled="!isSupportedScope" :icon="iconClass" - :title="isSupportedScope ? tooltip : tooltipDisabled" + :title="displayName" @click.stop.prevent="updateScope"> {{ isSupportedScope ? tooltip : tooltipDisabled }} diff --git a/dist/settings-vue-settings-personal-info.js b/dist/settings-vue-settings-personal-info.js index 9ab8c7f158c..a2bd317e53a 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 e,n={29243:function(e,n,a){"use strict";var r=a(20144),i=a(22200),o=a(16453),s=a(9944),l=(a(36144),a(4820)),c=a(79753),u=a(64024),d=a(74854),p=a(75925),A=a.n(p),f=a(10861),m=a.n(f),v=a(17652),g=(a(74063),a(53983)),h=a(44580),b=a(11341),y=a(69141),C=a(12945),x=a.n(C),w=a(45400),E={name:"FederationControlAction",components:{NcActionButton:a.n(w)()},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)}}},_=a(93379),O=a.n(_),P=a(7795),j=a.n(P),I=a(90569),S=a.n(I),k=a(3565),L=a.n(k),D=a(19216),R=a.n(D),B=a(44589),N=a.n(B),T=a(8915),Z={};Z.styleTagTransform=N(),Z.setAttributes=L(),Z.insert=S().bind(null,"head"),Z.domAPI=j(),Z.insertStyleElement=R(),O()(T.Z,Z),T.Z&&T.Z.locals&&T.Z.locals;var M,U,z,F,H=a(51900),V=(0,H.Z)(E,(function(){var e=this;return(0,e._self._c)("NcActionButton",{staticClass:"federation-actions__btn",class:{"federation-actions__btn--active":e.activeScope===e.name},attrs:{"aria-label":e.isSupportedScope?e.tooltip:e.tooltipDisabled,"close-after-click":!0,disabled:!e.isSupportedScope,icon:e.iconClass,title:e.isSupportedScope?e.tooltip:e.tooltipDisabled},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.updateScope.apply(null,arguments)}}},[e._v("\n\t"+e._s(e.isSupportedScope?e.tooltip:e.tooltipDisabled)+"\n")])}),[],!1,null,"2dff160a",null),G=V.exports;function q(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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"}),$=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")}),W=Object.freeze((q(M={},Y.ADDRESS,$.ADDRESS),q(M,Y.AVATAR,$.AVATAR),q(M,Y.BIOGRAPHY,$.BIOGRAPHY),q(M,Y.DISPLAYNAME,$.DISPLAYNAME),q(M,Y.EMAIL_COLLECTION,$.EMAIL_COLLECTION),q(M,Y.EMAIL,$.EMAIL),q(M,Y.HEADLINE,$.HEADLINE),q(M,Y.ORGANISATION,$.ORGANISATION),q(M,Y.PHONE,$.PHONE),q(M,Y.PROFILE_ENABLED,$.PROFILE_ENABLED),q(M,Y.ROLE,$.ROLE),q(M,Y.TWITTER,$.TWITTER),q(M,Y.WEBSITE,$.WEBSITE),M)),K=Object.freeze({PROFILE_VISIBILITY:(0,s.translate)("settings","Profile visibility")}),Q=Object.freeze((q(U={},$.ADDRESS,Y.ADDRESS),q(U,$.AVATAR,Y.AVATAR),q(U,$.BIOGRAPHY,Y.BIOGRAPHY),q(U,$.DISPLAYNAME,Y.DISPLAYNAME),q(U,$.EMAIL_COLLECTION,Y.EMAIL_COLLECTION),q(U,$.EMAIL,Y.EMAIL),q(U,$.HEADLINE,Y.HEADLINE),q(U,$.ORGANISATION,Y.ORGANISATION),q(U,$.PHONE,Y.PHONE),q(U,$.PROFILE_ENABLED,Y.PROFILE_ENABLED),q(U,$.ROLE,Y.ROLE),q(U,$.TWITTER,Y.TWITTER),q(U,$.WEBSITE,Y.WEBSITE),U)),X=Object.freeze({LANGUAGE:"language",LOCALE:"locale"}),J=Object.freeze({LANGUAGE:(0,s.translate)("settings","Language"),LOCALE:(0,s.translate)("settings","Locale")}),ee=Object.freeze({PRIVATE:"v2-private",LOCAL:"v2-local",FEDERATED:"v2-federated",PUBLISHED:"v2-published"}),te=Object.freeze((q(z={},$.ADDRESS,[ee.LOCAL,ee.PRIVATE]),q(z,$.AVATAR,[ee.LOCAL,ee.PRIVATE]),q(z,$.BIOGRAPHY,[ee.LOCAL,ee.PRIVATE]),q(z,$.DISPLAYNAME,[ee.LOCAL]),q(z,$.EMAIL_COLLECTION,[ee.LOCAL]),q(z,$.EMAIL,[ee.LOCAL]),q(z,$.HEADLINE,[ee.LOCAL,ee.PRIVATE]),q(z,$.ORGANISATION,[ee.LOCAL,ee.PRIVATE]),q(z,$.PHONE,[ee.LOCAL,ee.PRIVATE]),q(z,$.PROFILE_ENABLED,[ee.LOCAL,ee.PRIVATE]),q(z,$.ROLE,[ee.LOCAL,ee.PRIVATE]),q(z,$.TWITTER,[ee.LOCAL,ee.PRIVATE]),q(z,$.WEBSITE,[ee.LOCAL,ee.PRIVATE]),z)),ne=Object.freeze([$.BIOGRAPHY,$.HEADLINE,$.ORGANISATION,$.ROLE]),ae="Scope",re=Object.freeze((q(F={},ee.PRIVATE,{name:ee.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"}),q(F,ee.LOCAL,{name:ee.LOCAL,displayName:(0,s.translate)("settings","Local"),tooltip:(0,s.translate)("settings","Only visible to people on this instance and guests"),iconClass:"icon-password"}),q(F,ee.FEDERATED,{name:ee.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 federation has been disabled for your account, contact your system administrator if you have any questions"),iconClass:"icon-contacts-dark"}),q(F,ee.PUBLISHED,{name:ee.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"}),F)),ie=ee.LOCAL,oe=Object.freeze({NOT_VERIFIED:0,VERIFICATION_IN_PROGRESS:1,VERIFIED:2}),se=/^(?!(?:(?:\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,le=a(10128);function ce(e,t,n,a,r,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,r)}function ue(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function o(e){ce(i,a,r,o,s,"next",e)}function s(e){ce(i,a,r,o,s,"throw",e)}o(void 0)}))}}a(65509);var de=function(){var e=ue(regeneratorRuntime.mark((function e(t,n){var a,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"boolean"==typeof n&&(n=n?"1":"0"),a=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:a}),e.next=5,(0,le.confirmPassword)();case 5:return e.next=7,l.default.put(r,{key:t,value:n});case 7:return o=e.sent,e.abrupt("return",o.data);case 9:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),pe=function(){var e=ue(regeneratorRuntime.mark((function e(t,n){var a,r,o;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=(0,i.getCurrentUser)().uid,r=(0,c.generateOcsUrl)("cloud/users/{userId}",{userId:a}),e.next=4,(0,le.confirmPassword)();case 4:return e.next=6,l.default.put(r,{key:"".concat(t).concat(ae),value:n});case 6:return o=e.sent,e.abrupt("return",o.data);case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),Ae=(0,a(17499).IY)().setApp("settings").detectUser().build(),fe=function(e,t){var n,a="";t&&(a+=t),429===(null===(n=e.response)||void 0===n?void 0:n.status)&&(a&&(a+="\n"),a+=(0,s.translate)("settings","There were too many requests from your network. Retry later or contact your administrator if this is an error.")),(0,u.x2)(a),Ae.error(a||(0,s.translate)("Error"),e)};function me(e,t,n,a,r,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,r)}function ve(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function o(e){me(i,a,r,o,s,"next",e)}function s(e){me(i,a,r,o,s,"throw",e)}o(void 0)}))}}var ge=(0,o.loadState)("settings","accountParameters",{}),he=ge.federationEnabled,be=ge.lookupServerUploadEnabled,ye={name:"FederationControl",components:{NcActions:x(),FederationControlAction:G},props:{readable:{type:String,required:!0,validator:function(e){return Object.values($).includes(e)||Object.values(J).includes(e)||e===K.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 re[this.scope].displayName.toLocaleLowerCase()},scopeIcon:function(){return re[this.scope].iconClass},federationScopes:function(){return Object.values(re)},supportedScopes:function(){var e=te[this.readable];return ne.includes(this.readable)||(he&&e.push(ee.FEDERATED),be&&e.push(ee.PUBLISHED)),e}},methods:{changeScope:function(e){var t=this;return ve(regeneratorRuntime.mark((function n(){return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(t.$emit("update:scope",e),t.additional){n.next=6;break}return n.next=4,t.updatePrimaryScope(e);case 4:n.next=8;break;case 6:return n.next=8,t.updateAdditionalScope(e);case 8:case"end":return n.stop()}}),n)})))()},updatePrimaryScope:function(e){var n=this;return ve(regeneratorRuntime.mark((function a(){var r,i,o;return regeneratorRuntime.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,pe(Q[n.readable],e);case 3:o=a.sent,n.handleResponse({scope:e,status:null===(r=o.ocs)||void 0===r||null===(i=r.meta)||void 0===i?void 0:i.status}),a.next=10;break;case 7:a.prev=7,a.t0=a.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of the primary {property}",{property:n.readableLowerCase}),error:a.t0});case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},updateAdditionalScope:function(e){var n=this;return ve(regeneratorRuntime.mark((function a(){var r,i,o;return regeneratorRuntime.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,n.handleAdditionalScopeChange(n.additionalValue,e);case 3:o=a.sent,n.handleResponse({scope:e,status:null===(r=o.ocs)||void 0===r||null===(i=r.meta)||void 0===i?void 0:i.status}),a.next=10;break;case 7:a.prev=7,a.t0=a.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update federation scope of additional {property}",{property:n.readableLowerCase}),error:a.t0});case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},handleResponse:function(e){var t=e.scope,n=e.status,a=e.errorMessage,r=e.error;"ok"===n?this.initialScope=t:(this.$emit("update:scope",this.initialScope),fe(r,a))}}},Ce=a(19854),xe={};xe.styleTagTransform=N(),xe.setAttributes=L(),xe.insert=S().bind(null,"head"),xe.domAPI=j(),xe.insertStyleElement=R(),O()(Ce.Z,xe),Ce.Z&&Ce.Z.locals&&Ce.Z.locals;var we=(0,H.Z)(ye,(function(){var e=this,t=e._self._c;return t("NcActions",{class:{"federation-actions":!e.additional,"federation-actions--additional":e.additional},attrs:{"aria-label":e.ariaLabel,"default-icon":e.scopeIcon,disabled:e.disabled}},e._l(e.federationScopes,(function(n){return t("FederationControlAction",{key:n.name,attrs:{"active-scope":e.scope,"display-name":n.displayName,"handle-scope-change":e.changeScope,"icon-class":n.iconClass,"is-supported-scope":e.supportedScopes.includes(n.name),name:n.name,"tooltip-disabled":n.tooltipDisabled,tooltip:n.tooltip,"aria-label":n.tooltip}})})),1)}),[],!1,null,"2d64b46e",null).exports,Ee={name:"HeaderBar",components:{FederationControl:we,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},isHeading:{type:Boolean,default:!1}},data:function(){return{localScope:this.scope}},computed:{isProfileProperty:function(){return this.readable===$.PROFILE_ENABLED},isSettingProperty:function(){return!Object.values($).includes(this.readable)&&!Object.values(K).includes(this.readable)}},methods:{onAddAdditional:function(){this.$emit("add-additional")},onScopeChange:function(e){this.$emit("update:scope",e)}}},_e=a(17166),Oe={};Oe.styleTagTransform=N(),Oe.setAttributes=L(),Oe.insert=S().bind(null,"head"),Oe.domAPI=j(),Oe.insertStyleElement=R(),O()(_e.Z,Oe),_e.Z&&_e.Z.locals&&_e.Z.locals;var Pe=(0,H.Z)(Ee,(function(){var e=this,t=e._self._c;return t(e.isHeading?"h3":"div",{tag:"component",staticClass:"headerbar-label",class:{"setting-property":e.isSettingProperty,"profile-property":e.isProfileProperty}},[e.isHeading?t("span",[e._v("\n\t\t"+e._s(e.readable)+"\n\t")]):t("label",{attrs:{for:e.inputId}},[e._v("\n\t\t"+e._s(e.readable)+"\n\t")]),e._v(" "),e.scope?[t("FederationControl",{staticClass:"federation-control",attrs:{readable:e.readable,scope:e.localScope},on:{"update:scope":[function(t){e.localScope=t},e.onScopeChange]}})]:e._e(),e._v(" "),e.isEditable&&e.isMultiValueSupported?[t("NcButton",{attrs:{type:"tertiary",disabled:!e.isValidSection,"aria-label":e.t("settings","Add additional email")},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.onAddAdditional.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Plus",{attrs:{size:20}})]},proxy:!0}],null,!1,32235154)},[e._v("\n\t\t\t"+e._s(e.t("settings","Add"))+"\n\t\t")])]:e._e()],2)}),[],!1,null,"c098207e",null),je=Pe.exports;function Ie(e,t,n,a,r,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,r)}function Se(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function o(e){Ie(i,a,r,o,s,"next",e)}function s(e){Ie(i,a,r,o,s,"throw",e)}o(void 0)}))}}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function Le(e){for(var t=1;t{usage}",{usage:Qe}):t("settings","You are using {usage} of {totalSpace} ({usageRelative}%)",{usage:Qe,totalSpace:Ke,usageRelative:Xe})}},data:function(){return{groups:$e,usageRelative:Xe}}},et=a(95879),tt={};tt.styleTagTransform=N(),tt.setAttributes=L(),tt.insert=S().bind(null,"head"),tt.domAPI=j(),tt.insertStyleElement=R(),O()(et.Z,tt),et.Z&&et.Z.locals&&et.Z.locals;var nt=(0,H.Z)(Je,(function(){var e=this,t=e._self._c;return t("section",[t("HeaderBar",{attrs:{"is-heading":!0,readable:e.t("settings","Details")}}),e._v(" "),t("div",{staticClass:"details"},[t("div",{staticClass:"details__groups"},[t("Account",{attrs:{size:20}}),e._v(" "),t("div",{staticClass:"details__groups-info"},[t("p",[e._v(e._s(e.t("settings","You are a member of the following groups:")))]),e._v(" "),t("p",{staticClass:"details__groups-list"},[e._v(e._s(e.groups.join(", ")))])])],1),e._v(" "),t("div",{staticClass:"details__quota"},[t("CircleSlice",{attrs:{size:20}}),e._v(" "),t("div",{staticClass:"details__quota-info"},[t("p",{staticClass:"details__quota-text",domProps:{innerHTML:e._s(e.quotaText)}}),e._v(" "),t("NcProgressBar",{attrs:{size:"medium",value:e.usageRelative,error:e.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"51f53b67",null).exports,at=a(20296),rt=a.n(at),it=a(93207),ot=a(68469),st=a(38384);function lt(e,t,n,a,r,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,r)}function ct(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function o(e){lt(i,a,r,o,s,"next",e)}function s(e){lt(i,a,r,o,s,"throw",e)}o(void 0)}))}}var ut={name:"AccountPropertySection",components:{AlertCircle:it.default,AlertOctagon:ot.Z,Check:st.default,HeaderBar:je},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,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(e){this.$emit("update:value",e.target.value),this.debouncePropertyChange(e.target.value.trim())},debouncePropertyChange:rt()(function(){var e=ct(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.helperText=null,!this.$refs.input||!this.$refs.input.validationMessage){e.next=4;break}return this.helperText=this.$refs.input.validationMessage,e.abrupt("return");case 4:if(!this.onValidate||this.onValidate(t)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,this.updateProperty(t);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),500),updateProperty:function(e){var n=this;return ct(regeneratorRuntime.mark((function a(){var r,i,o;return regeneratorRuntime.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,de(n.name,e);case 3:o=a.sent,n.handleResponse({value:e,status:null===(r=o.ocs)||void 0===r||null===(i=r.meta)||void 0===i?void 0:i.status}),a.next=10;break;case 7:a.prev=7,a.t0=a.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:n.readable.toLocaleLowerCase()}),error:a.t0});case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},handleResponse:function(e){var t=this,n=e.value,a=e.status,r=e.errorMessage,i=e.error;"ok"===a?(this.initialValue=n,this.onSave&&this.onSave(n),this.showCheckmarkIcon=!0,setTimeout((function(){t.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),fe(i,r),this.showErrorIcon=!0,setTimeout((function(){t.showErrorIcon=!1}),2e3))}}},dt=ut,pt=a(96562),At={};At.styleTagTransform=N(),At.setAttributes=L(),At.insert=S().bind(null,"head"),At.domAPI=j(),At.insertStyleElement=R(),O()(pt.Z,At),pt.Z&&pt.Z.locals&&pt.Z.locals;var ft=(0,H.Z)(dt,(function(){var e=this,t=e._self._c;return t("section",[t("HeaderBar",{attrs:{scope:e.scope,readable:e.readable,"input-id":e.inputId,"is-editable":e.isEditable},on:{"update:scope":function(t){e.scope=t},"update:readable":function(t){e.readable=t}}}),e._v(" "),e.isEditable?t("div",{staticClass:"property"},[e.multiLine?t("textarea",{attrs:{id:e.inputId,placeholder:e.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",autocorrect:"off"},domProps:{value:e.value},on:{input:e.onPropertyChange}}):t("input",{ref:"input",attrs:{id:e.inputId,placeholder:e.placeholder,type:e.type,"aria-describedby":e.helperText?"".concat(e.name,"-helper-text"):"",autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:e.value},on:{input:e.onPropertyChange}}),e._v(" "),t("div",{staticClass:"property__actions-container"},[t("transition",{attrs:{name:"fade"}},[e.showCheckmarkIcon?t("Check",{attrs:{size:20}}):e.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):e._e()],1)],1)]):t("span",[e._v("\n\t\t"+e._s(e.value||e.t("settings","No {property} set",{property:e.readable.toLocaleLowerCase()}))+"\n\t")]),e._v(" "),e.helperText?t("p",{staticClass:"property__helper-text-message property__helper-text-message--error",attrs:{id:"".concat(e.name,"-helper-text")}},[t("AlertCircle",{staticClass:"property__helper-text-message__icon",attrs:{size:18}}),e._v("\n\t\t"+e._s(e.helperText)+"\n\t")],1):e._e()],1)}),[],!1,null,"40e22960",null).exports;function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function vt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,a=new Array(t);ne.length)&&(t=e.length);for(var n=0,a=new Array(t);ne.length)&&(t=e.length);for(var n=0,a=new Array(t);n=i)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(s=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,a,i]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r.j=4418,function(){r.b=document.baseURI||self.location.href;var e={4418:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,i,o=n[0],s=n[1],l=n[2],c=0;if(o.some((function(t){return 0!==e[t]}))){for(a in s)r.o(s,a)&&(r.m[a]=s[a]);if(l)var u=l(r)}for(t&&t(n);c{usage}",{usage:Qe}):t("settings","You are using {usage} of {totalSpace} ({usageRelative}%)",{usage:Qe,totalSpace:Ke,usageRelative:Xe})}},data:function(){return{groups:$e,usageRelative:Xe}}},et=a(95879),tt={};tt.styleTagTransform=N(),tt.setAttributes=L(),tt.insert=S().bind(null,"head"),tt.domAPI=j(),tt.insertStyleElement=R(),O()(et.Z,tt),et.Z&&et.Z.locals&&et.Z.locals;var nt=(0,H.Z)(Je,(function(){var e=this,t=e._self._c;return t("section",[t("HeaderBar",{attrs:{"is-heading":!0,readable:e.t("settings","Details")}}),e._v(" "),t("div",{staticClass:"details"},[t("div",{staticClass:"details__groups"},[t("Account",{attrs:{size:20}}),e._v(" "),t("div",{staticClass:"details__groups-info"},[t("p",[e._v(e._s(e.t("settings","You are a member of the following groups:")))]),e._v(" "),t("p",{staticClass:"details__groups-list"},[e._v(e._s(e.groups.join(", ")))])])],1),e._v(" "),t("div",{staticClass:"details__quota"},[t("CircleSlice",{attrs:{size:20}}),e._v(" "),t("div",{staticClass:"details__quota-info"},[t("p",{staticClass:"details__quota-text",domProps:{innerHTML:e._s(e.quotaText)}}),e._v(" "),t("NcProgressBar",{attrs:{size:"medium",value:e.usageRelative,error:e.usageRelative>80}})],1)],1)])],1)}),[],!1,null,"51f53b67",null).exports,at=a(20296),rt=a.n(at),it=a(93207),ot=a(68469),st=a(38384);function lt(e,t,n,a,r,i,o){try{var s=e[i](o),l=s.value}catch(e){return void n(e)}s.done?t(l):Promise.resolve(l).then(a,r)}function ct(e){return function(){var t=this,n=arguments;return new Promise((function(a,r){var i=e.apply(t,n);function o(e){lt(i,a,r,o,s,"next",e)}function s(e){lt(i,a,r,o,s,"throw",e)}o(void 0)}))}}var ut={name:"AccountPropertySection",components:{AlertCircle:it.default,AlertOctagon:ot.Z,Check:st.default,HeaderBar:je},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,helperText:null,showCheckmarkIcon:!1,showErrorIcon:!1}},computed:{inputId:function(){return"account-property-".concat(this.name)}},methods:{onPropertyChange:function(e){this.$emit("update:value",e.target.value),this.debouncePropertyChange(e.target.value.trim())},debouncePropertyChange:rt()(function(){var e=ct(regeneratorRuntime.mark((function e(t){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.helperText=null,!this.$refs.input||!this.$refs.input.validationMessage){e.next=4;break}return this.helperText=this.$refs.input.validationMessage,e.abrupt("return");case 4:if(!this.onValidate||this.onValidate(t)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,this.updateProperty(t);case 8:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}(),500),updateProperty:function(e){var n=this;return ct(regeneratorRuntime.mark((function a(){var r,i,o;return regeneratorRuntime.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,de(n.name,e);case 3:o=a.sent,n.handleResponse({value:e,status:null===(r=o.ocs)||void 0===r||null===(i=r.meta)||void 0===i?void 0:i.status}),a.next=10;break;case 7:a.prev=7,a.t0=a.catch(0),n.handleResponse({errorMessage:t("settings","Unable to update {property}",{property:n.readable.toLocaleLowerCase()}),error:a.t0});case 10:case"end":return a.stop()}}),a,null,[[0,7]])})))()},handleResponse:function(e){var t=this,n=e.value,a=e.status,r=e.errorMessage,i=e.error;"ok"===a?(this.initialValue=n,this.onSave&&this.onSave(n),this.showCheckmarkIcon=!0,setTimeout((function(){t.showCheckmarkIcon=!1}),2e3)):(this.$emit("update:value",this.initialValue),fe(i,r),this.showErrorIcon=!0,setTimeout((function(){t.showErrorIcon=!1}),2e3))}}},dt=ut,pt=a(96562),At={};At.styleTagTransform=N(),At.setAttributes=L(),At.insert=S().bind(null,"head"),At.domAPI=j(),At.insertStyleElement=R(),O()(pt.Z,At),pt.Z&&pt.Z.locals&&pt.Z.locals;var ft=(0,H.Z)(dt,(function(){var e=this,t=e._self._c;return t("section",[t("HeaderBar",{attrs:{scope:e.scope,readable:e.readable,"input-id":e.inputId,"is-editable":e.isEditable},on:{"update:scope":function(t){e.scope=t},"update:readable":function(t){e.readable=t}}}),e._v(" "),e.isEditable?t("div",{staticClass:"property"},[e.multiLine?t("textarea",{attrs:{id:e.inputId,placeholder:e.placeholder,rows:"8",autocapitalize:"none",autocomplete:"off",autocorrect:"off"},domProps:{value:e.value},on:{input:e.onPropertyChange}}):t("input",{ref:"input",attrs:{id:e.inputId,placeholder:e.placeholder,type:e.type,"aria-describedby":e.helperText?"".concat(e.name,"-helper-text"):"",autocapitalize:"none",autocomplete:"on",autocorrect:"off"},domProps:{value:e.value},on:{input:e.onPropertyChange}}),e._v(" "),t("div",{staticClass:"property__actions-container"},[t("transition",{attrs:{name:"fade"}},[e.showCheckmarkIcon?t("Check",{attrs:{size:20}}):e.showErrorIcon?t("AlertOctagon",{attrs:{size:20}}):e._e()],1)],1)]):t("span",[e._v("\n\t\t"+e._s(e.value||e.t("settings","No {property} set",{property:e.readable.toLocaleLowerCase()}))+"\n\t")]),e._v(" "),e.helperText?t("p",{staticClass:"property__helper-text-message property__helper-text-message--error",attrs:{id:"".concat(e.name,"-helper-text")}},[t("AlertCircle",{staticClass:"property__helper-text-message__icon",attrs:{size:18}}),e._v("\n\t\t"+e._s(e.helperText)+"\n\t")],1):e._e()],1)}),[],!1,null,"40e22960",null).exports;function mt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function vt(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,a=new Array(t);ne.length)&&(t=e.length);for(var n=0,a=new Array(t);ne.length)&&(t=e.length);for(var n=0,a=new Array(t);n=i)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(s=!1,i0&&e[u-1][2]>i;u--)e[u]=e[u-1];e[u]=[n,a,i]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},r.j=4418,function(){r.b=document.baseURI||self.location.href;var e={4418:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,i,o=n[0],s=n[1],l=n[2],c=0;if(o.some((function(t){return 0!==e[t]}))){for(a in s)r.o(s,a)&&(r.m[a]=s[a]);if(l)var u=l(r)}for(t&&t(n);c 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};","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\n\n\n\n\n\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/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=2dff160a&prod&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=2dff160a&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControlAction.vue?vue&type=template&id=2dff160a&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=2dff160a&prod&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 \"2dff160a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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.isSupportedScope ? _vm.tooltip : _vm.tooltipDisabled},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\")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright 2021, Christopher Ng \n *\n * @author Christopher Ng \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 .\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 federation has been disabled for your account, 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 \n *\n * @author Christopher Ng \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 .\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 \n *\n * @author Roeland Jago Douma \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 .\n *\n */\n\nimport { getLoggerBuilder } from '@nextcloud/logger'\n\nexport default getLoggerBuilder()\n\t.setApp('settings')\n\t.detectUser()\n\t.build()\n","/**\n * @copyright 2023 Christopher Ng \n *\n * @author Christopher Ng \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 .\n *\n */\n\nimport { showError } from '@nextcloud/dialogs'\nimport { translate as t } from '@nextcloud/l10n'\n\nimport logger from '../logger.js'\n\n/**\n * @param {import('axios').AxiosError} error the error\n * @param {string?} message the message to display\n */\nexport const handleError = (error, message) => {\n\tlet fullMessage = ''\n\n\tif (message) {\n\t\tfullMessage += message\n\t}\n\n\tif (error.response?.status === 429) {\n\t\tif (fullMessage) {\n\t\t\tfullMessage += '\\n'\n\t\t}\n\t\tfullMessage += t('settings', 'There were too many requests from your network. Retry later or contact your administrator if this is an error.')\n\t}\n\n\tshowError(fullMessage)\n\tlogger.error(fullMessage || t('Error'), error)\n}\n","\n\n\n\n\n\n\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=2d64b46e&prod&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=2d64b46e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./FederationControl.vue?vue&type=template&id=2d64b46e&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=2d64b46e&prod&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 \"2d64b46e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;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,\"aria-label\":federationScope.tooltip}})}),1)\n}\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\n\n\n\n\n\n","\n import API from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../../node_modules/css-loader/dist/cjs.js!../../../../../../node_modules/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=c098207e&prod&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=c098207e&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./HeaderBar.vue?vue&type=template&id=c098207e&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=c098207e&prod&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 \"c098207e\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c(_vm.isHeading ? `h3` : `div`,{tag:\"component\",staticClass:\"headerbar-label\",class:{ 'setting-property': _vm.isSettingProperty, 'profile-property': _vm.isProfileProperty }},[(_vm.isHeading)?_c('span',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.readable)+\"\\n\\t\")]):_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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\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=0729d6e8&prod&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=0729d6e8&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AvatarSection.vue?vue&type=template&id=0729d6e8&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=0729d6e8&prod&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 \"0729d6e8\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('h3',{staticClass:\"hidden-visually\"},[_vm._v(\" \"+_vm._s(_vm.t('settings', 'Your profile information'))+\" \")]),_vm._v(\" \"),_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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\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=51f53b67&prod&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=51f53b67&prod&lang=scss&scoped=true&\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./DetailsSection.vue?vue&type=template&id=51f53b67&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=51f53b67&prod&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 \"51f53b67\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',[_c('HeaderBar',{attrs:{\"is-heading\":true,\"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)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n