diff --git a/apps/settings/src/store/authtoken.spec.ts b/apps/settings/src/store/authtoken.spec.ts new file mode 100644 index 0000000000000..e51558dc23dda --- /dev/null +++ b/apps/settings/src/store/authtoken.spec.ts @@ -0,0 +1,52 @@ +/** + * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import type { IToken } from './authtoken.ts' + +import axios from '@nextcloud/axios' +import { createPinia, setActivePinia } from 'pinia' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { TokenType, useAuthTokenStore } from './authtoken.ts' + +vi.mock('@nextcloud/axios') +vi.mock('@nextcloud/initial-state') + +const deviceToken: IToken = { + id: 7, + name: 'Laptop', + type: TokenType.PERMANENT_TOKEN, + lastActivity: 1700000000, + canDelete: true, + canRename: true, + scope: { filesystem: true }, +} + +describe('store:authtoken addToken', () => { + beforeEach(() => { + setActivePinia(createPinia()) + vi.restoreAllMocks() + }) + + it('keeps the created token', async () => { + vi.spyOn(axios, 'post').mockResolvedValue({ + data: { deviceToken, loginName: 'alice', token: 'secret' }, + }) + + const store = useAuthTokenStore() + const response = await store.addToken('Laptop') + + expect(response.deviceToken).toBe(deviceToken) + expect(store.tokens).toContain(deviceToken) + }) + + it('lets a failed request reach the caller so it can be reported', async () => { + vi.spyOn(axios, 'post').mockRejectedValue(new Error('Request failed')) + + const store = useAuthTokenStore() + + await expect(store.addToken('Laptop')).rejects.toThrow('Request failed') + expect(store.tokens).toHaveLength(0) + }) +}) diff --git a/apps/settings/src/store/authtoken.ts b/apps/settings/src/store/authtoken.ts index bd300d999ddde..6b740f765c55e 100644 --- a/apps/settings/src/store/authtoken.ts +++ b/apps/settings/src/store/authtoken.ts @@ -75,15 +75,13 @@ export const useAuthTokenStore = defineStore('auth-token', { async addToken(name: string) { logger.debug('Creating a new app token') - try { - const { data } = await axios.post(BASE_URL, { name, oneTime: true }, { confirmPassword: PwdConfirmationMode.Strict }) + // Let the failure reach the caller: AuthTokenSetup is the one that + // reports it, the same way updateToken leaves reporting to its callers. + const { data } = await axios.post(BASE_URL, { name, oneTime: true }, { confirmPassword: PwdConfirmationMode.Strict }) - this.tokens.push(data.deviceToken) - logger.debug('App token created') - return data - } catch { - return null - } + this.tokens.push(data.deviceToken) + logger.debug('App token created') + return data }, /** diff --git a/dist/settings-vue-settings-personal-security.js b/dist/settings-vue-settings-personal-security.js index 17d7de8fd3519..c83fbe0fb8c26 100644 --- a/dist/settings-vue-settings-personal-security.js +++ b/dist/settings-vue-settings-personal-security.js @@ -1,2 +1,2 @@ -(()=>{var e={80650(e,n,o){"use strict";var i=o(21777),r=o(10810);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}function l(e,t,n){return(t=a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){for(var n=0;n=0)return 1;return 0}(),u=d&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},c))}};function f(e){return e&&"[object Function]"==={}.toString.call(e)}function h(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function v(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function m(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=h(e),n=t.overflow,o=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+o)?e:m(v(e))}function g(e){return e&&e.referenceNode?e.referenceNode:e}var y=d&&!(!window.MSInputMethodContext||!document.documentMode),b=d&&/MSIE 10/.test(navigator.userAgent);function _(e){return 11===e?y:10===e?b:y||b}function A(e){if(!e)return document.documentElement;for(var t=_(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var o=n&&n.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===h(n,"position")?A(n):n:e?e.ownerDocument.documentElement:document.documentElement}function w(e){return null!==e.parentNode?w(e.parentNode):e}function C(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,o=n?e:t,i=n?t:e,r=document.createRange();r.setStart(o,0),r.setEnd(i,0);var s,a,l=r.commonAncestorContainer;if(e!==l&&t!==l||o.contains(i))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&A(s.firstElementChild)!==s?A(l):l;var p=w(e);return p.host?C(p.host,t):C(e,w(t).host)}function k(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[t]}return e[t]}function T(e,t){var n="x"===t?"Left":"Top",o="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"])+parseFloat(e["border"+o+"Width"])}function O(e,t,n,o){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],_(10)?parseInt(n["offset"+e])+parseInt(o["margin"+("Height"===e?"Top":"Left")])+parseInt(o["margin"+("Height"===e?"Bottom":"Right")]):0)}function x(e){var t=e.body,n=e.documentElement,o=_(10)&&getComputedStyle(n);return{height:O("Height",t,n,o),width:O("Width",t,n,o)}}var E=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],o=_(10),i="HTML"===t.nodeName,r=P(e),s=P(t),a=m(e),l=h(t),p=parseFloat(l.borderTopWidth),d=parseFloat(l.borderLeftWidth);n&&i&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var c=$({top:r.top-s.top-p,left:r.left-s.left-d,width:r.width,height:r.height});if(c.marginTop=0,c.marginLeft=0,!o&&i){var u=parseFloat(l.marginTop),f=parseFloat(l.marginLeft);c.top-=p-u,c.bottom-=p-u,c.left-=d-f,c.right-=d-f,c.marginTop=u,c.marginLeft=f}return(o&&!n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(c=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=k(t,"top"),i=k(t,"left"),r=n?-1:1;return e.top+=o*r,e.bottom+=o*r,e.left+=i*r,e.right+=i*r,e}(c,t)),c}function L(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===h(e,"position"))return!0;var n=v(e);return!!n&&L(n)}function I(e){if(!e||!e.parentElement||_())return document.documentElement;for(var t=e.parentElement;t&&"none"===h(t,"transform");)t=t.parentElement;return t||document.documentElement}function j(e,t,n,o){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=i?I(e):C(e,g(t));if("viewport"===o)r=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,o=D(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=t?0:k(n),a=t?0:k(n,"left");return $({top:s-o.top+o.marginTop,left:a-o.left+o.marginLeft,width:i,height:r})}(s,i);else{var a=void 0;"scrollParent"===o?"BODY"===(a=m(v(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===o?e.ownerDocument.documentElement:o;var l=D(a,s,i);if("HTML"!==a.nodeName||L(s))r=l;else{var p=x(e.ownerDocument),d=p.height,c=p.width;r.top+=l.top-l.marginTop,r.bottom=d+l.top,r.left+=l.left-l.marginLeft,r.right=c+l.left}}var u="number"==typeof(n=n||0);return r.left+=u?n:n.left||0,r.top+=u?n:n.top||0,r.right-=u?n:n.right||0,r.bottom-=u?n:n.bottom||0,r}function M(e,t,n,o,i){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=j(n,o,r,i),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(a).map(function(e){return S({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),p=l.filter(function(e){var t=e.width,o=e.height;return t>=n.clientWidth&&o>=n.clientHeight}),d=p.length>0?p[0].key:l[0].key,c=e.split("-")[1];return d+(c?"-"+c:"")}function B(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return D(n,o?I(t):C(t,g(n)),o)}function R(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),o=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+o,height:e.offsetHeight+n}}function H(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function F(e,t,n){n=n.split("-")[0];var o=R(e),i={width:o.width,height:o.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",p=r?"width":"height";return i[s]=t[s]+t[l]/2-o[l]/2,i[a]=n===a?t[a]-o[p]:t[H(a)],i}function W(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function z(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var o=W(e,function(e){return e[t]===n});return e.indexOf(o)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&f(n)&&(t.offsets.popper=$(t.offsets.popper),t.offsets.reference=$(t.offsets.reference),t=n(t,e))}),t}function q(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=B(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=M(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=F(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=z(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function V(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function G(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),o=0;o1&&void 0!==arguments[1]&&arguments[1],n=ie.indexOf(e),o=ie.slice(n+1).concat(ie.slice(0,n));return t?o.reverse():o}var se={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],o=t.split("-")[1];if(o){var i=e.offsets,r=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",p=a?"width":"height",d={start:N({},l,r[l]),end:N({},l,r[l]+r[p]-s[p])};e.offsets.popper=S({},s,d[o])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n,o=t.offset,i=e.placement,r=e.offsets,s=r.popper,a=r.reference,l=i.split("-")[0];return n=Z(+o)?[+o,0]:function(e,t,n,o){var i=[0,0],r=-1!==["right","left"].indexOf(o),s=e.split(/(\+|\-)/).map(function(e){return e.trim()}),a=s.indexOf(W(s,function(e){return-1!==e.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,p=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(p=p.map(function(e,o){var i=(1===o?!r:r)?"height":"width",s=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,s=!0,e):s?(e[e.length-1]+=t,s=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,o){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],s=i[2];return r?0===s.indexOf("%")?$("%p"===s?n:o)[t]/100*r:"vh"===s||"vw"===s?("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r:r:e}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,o){Z(n)&&(i[t]+=n*("-"===e[o-1]?-1:1))})}),i}(o,s,a,l),"left"===l?(s.top+=n[0],s.left-=n[1]):"right"===l?(s.top+=n[0],s.left+=n[1]):"top"===l?(s.left+=n[0],s.top-=n[1]):"bottom"===l&&(s.left+=n[0],s.top+=n[1]),e.popper=s,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||A(e.instance.popper);e.instance.reference===n&&(n=A(n));var o=G("transform"),i=e.instance.popper.style,r=i.top,s=i.left,a=i[o];i.top="",i.left="",i[o]="";var l=j(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=r,i.left=s,i[o]=a,t.boundaries=l;var p=t.priority,d=e.offsets.popper,c={primary:function(e){var n=d[e];return d[e]l[e]&&!t.escapeWithReference&&(o=Math.min(d[n],l[e]-("right"===e?d.width:d.height))),N({},n,o)}};return p.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";d=S({},d,c[t](e))}),e.offsets.popper=d,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,o=t.reference,i=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",l=s?"left":"top",p=s?"width":"height";return n[a]r(o[a])&&(e.offsets.popper[l]=r(o[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!ne(e.instance.modifiers,"arrow","keepTogether"))return e;var o=t.element;if("string"==typeof o){if(!(o=e.instance.popper.querySelector(o)))return e}else if(!e.instance.popper.contains(o))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(i),p=l?"height":"width",d=l?"Top":"Left",c=d.toLowerCase(),u=l?"left":"top",f=l?"bottom":"right",v=R(o)[p];a[f]-vs[f]&&(e.offsets.popper[c]+=a[c]+v-s[f]),e.offsets.popper=$(e.offsets.popper);var m=a[c]+a[p]/2-v/2,g=h(e.instance.popper),y=parseFloat(g["margin"+d]),b=parseFloat(g["border"+d+"Width"]),_=m-e.offsets.popper[c]-y-b;return _=Math.max(Math.min(s[p]-v,_),0),e.arrowElement=o,e.offsets.arrow=(N(n={},c,Math.round(_)),N(n,u,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(V(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=j(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),o=e.placement.split("-")[0],i=H(o),r=e.placement.split("-")[1]||"",s=[];switch(t.behavior){case"flip":s=[o,i];break;case"clockwise":s=re(o);break;case"counterclockwise":s=re(o,!0);break;default:s=t.behavior}return s.forEach(function(a,l){if(o!==a||s.length===l+1)return e;o=e.placement.split("-")[0],i=H(o);var p=e.offsets.popper,d=e.offsets.reference,c=Math.floor,u="left"===o&&c(p.right)>c(d.left)||"right"===o&&c(p.left)c(d.top)||"bottom"===o&&c(p.top)c(n.right),v=c(p.top)c(n.bottom),g="left"===o&&f||"right"===o&&h||"top"===o&&v||"bottom"===o&&m,y=-1!==["top","bottom"].indexOf(o),b=!!t.flipVariations&&(y&&"start"===r&&f||y&&"end"===r&&h||!y&&"start"===r&&v||!y&&"end"===r&&m),_=!!t.flipVariationsByContent&&(y&&"start"===r&&h||y&&"end"===r&&f||!y&&"start"===r&&m||!y&&"end"===r&&v),A=b||_;(u||g||A)&&(e.flipped=!0,(u||g)&&(o=s[l+1]),A&&(r=function(e){return"end"===e?"start":"start"===e?"end":e}(r)),e.placement=o+(r?"-"+r:""),e.offsets.popper=S({},e.offsets.popper,F(e.instance.popper,e.offsets.reference,e.placement)),e=z(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],o=e.offsets,i=o.popper,r=o.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=r[n]-(a?i[s?"width":"height"]:0),e.placement=H(t),e.offsets.popper=$(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!ne(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=W(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(o.update)},this.update=u(this.update.bind(this)),this.options=S({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(S({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){o.options.modifiers[t]=S({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return S({name:e},o.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&f(e.onLoad)&&e.onLoad(o.reference,o.popper,o.options,e,o.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return E(e,[{key:"update",value:function(){return q.call(this)}},{key:"destroy",value:function(){return U.call(this)}},{key:"enableEventListeners",value:function(){return X.call(this)}},{key:"disableEventListeners",value:function(){return J.call(this)}}]),e}();le.Utils=("undefined"!=typeof window?window:globalThis).PopperUtils,le.placements=oe,le.Defaults=ae;const pe=le;var de,ce=o(2404),ue=o.n(ce);function fe(){fe.init||(fe.init=!0,de=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}())}function he(e,t,n,o,i,r,s,a,l,p){"boolean"!=typeof s&&(l=a,a=s,s=!1);var d,c="function"==typeof n?n.options:n;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,i&&(c.functional=!0)),o&&(c._scopeId=o),r?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=d):t&&(d=s?function(e){t.call(this,p(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,a(e))}),d)if(c.functional){var u=c.render;c.render=function(e,t){return d.call(t),u(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,d):[d]}return n}var ve={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;fe(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",de&&this.$el.appendChild(t),t.data="about:blank",de||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!de&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},me=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};me._withStripped=!0;var ge=he({render:me,staticRenderFns:[]},void 0,ve,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),ye={version:"1.0.1",install:function(e){e.component("resize-observer",ge),e.component("ResizeObserver",ge)}},be=null;"undefined"!=typeof window?be=window.Vue:"undefined"!=typeof globalThis&&(be=globalThis.Vue),be&&be.use(ye);var _e=o(55364),Ae=o.n(_e),we=function(){};function Ce(e){return"string"==typeof e&&(e=e.split(" ")),e}function ke(e,t){var n,o=Ce(t);n=e.className instanceof we?Ce(e.className.baseVal):Ce(e.className),o.forEach(function(e){-1===n.indexOf(e)&&n.push(e)}),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}function Te(e,t){var n,o=Ce(t);n=e.className instanceof we?Ce(e.className.baseVal):Ce(e.className),o.forEach(function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}"undefined"!=typeof window&&(we=window.SVGAnimatedString);var Oe=!1;if("undefined"!=typeof window){Oe=!1;try{var xe=Object.defineProperty({},"passive",{get:function(){Oe=!0}});window.addEventListener("test",null,xe)}catch(e){}}function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Ne(e){for(var t=1;t
',trigger:"hover focus",offset:0},$e=[],Pe=function(){function e(t,n){var o=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),l(this,"_events",[]),l(this,"_setTooltipNodeEvent",function(e,t,n,i){var r=e.relatedreference||e.toElement||e.relatedTarget;return!!o._tooltipNode.contains(r)&&(o._tooltipNode.addEventListener(e.type,function n(r){var s=r.relatedreference||r.toElement||r.relatedTarget;o._tooltipNode.removeEventListener(e.type,n),t.contains(s)||o._scheduleHide(t,i.delay,i,r)}),!0)}),n=Ne(Ne({},Se),n),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=n,this._isOpen=!1,this._init()}return t=e,n=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,n=e&&e.classes||ze.options.defaultClass;ue()(this._classes,n)||(this.setClasses(n),t=!0),e=Be(e);var o=!1,i=!1;for(var r in this.options.offset===e.offset&&this.options.placement===e.placement||(o=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(i=!0),e)this.options[r]=e[r];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else o&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var n=this,o=window.document.createElement("div");o.innerHTML=t.trim();var i=o.childNodes[0];return i.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),i.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(i.addEventListener("mouseenter",function(t){return n._scheduleHide(e,n.options.delay,n.options,t)}),i.addEventListener("click",function(t){return n._scheduleHide(e,n.options.delay,n.options,t)})),i}},{key:"_setContent",value:function(e,t){var n=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){n.popperInstance&&n.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var n=this;return new Promise(function(o,i){var r=t.html,s=n._tooltipNode;if(s){var a=s.querySelector(n.options.innerSelector);if(1===e.nodeType){if(r){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(e)}}else{if("function"==typeof e){var l=e();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,t.loadingClass&&ke(s,t.loadingClass),t.loadingContent&&n._applyContent(t.loadingContent,t),l.then(function(e){return t.loadingClass&&Te(s,t.loadingClass),n._applyContent(e,t)}).then(o).catch(i)):n._applyContent(l,t).then(o).catch(i))}r?a.innerHTML=e:a.innerText=e}o()}})}},{key:"_show",value:function(e,t){if(!t||"string"!=typeof t.container||document.querySelector(t.container)){clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var n=!0;this._tooltipNode&&(ke(this._tooltipNode,this._classes),n=!1);var o=this._ensureShown(e,t);return n&&this._tooltipNode&&ke(this._tooltipNode,this._classes),ke(e,["v-tooltip-open"]),o}}},{key:"_ensureShown",value:function(e,t){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,$e.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var o=e.getAttribute("title")||t.title;if(!o)return this;var i=this._create(e,t.template);this._tooltipNode=i,e.setAttribute("aria-describedby",i.id);var r=this._findContainer(t.container,e);this._append(i,r);var s=Ne(Ne({},t.popperOptions),{},{placement:t.placement});return s.modifiers=Ne(Ne({},s.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new pe(e,i,s),this._setContent(o,t),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=$e.indexOf(this);-1!==e&&$e.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=ze.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())},t)),Te(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach(function(t){var n=t.func,o=t.event;e.reference.removeEventListener(o,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,n){var o=this,i=[],r=[];t.forEach(function(e){switch(e){case"hover":i.push("mouseenter"),r.push("mouseleave"),o.options.hideOnTargetClick&&r.push("click");break;case"focus":i.push("focus"),r.push("blur"),o.options.hideOnTargetClick&&r.push("click");break;case"click":i.push("click"),r.push("click")}}),i.forEach(function(t){var i=function(t){!0!==o._isOpen&&(t.usedByTooltip=!0,o._scheduleShow(e,n.delay,n,t))};o._events.push({event:t,func:i}),e.addEventListener(t,i)}),r.forEach(function(t){var i=function(t){!0!==t.usedByTooltip&&o._scheduleHide(e,n.delay,n,t)};o._events.push({event:t,func:i}),e.addEventListener(t,i)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,n){var o=this,i=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return o._show(e,n)},i)}},{key:"_scheduleHide",value:function(e,t,n,o){var i=this,r=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&i._tooltipNode.ownerDocument.body.contains(i._tooltipNode)){if("mouseleave"===o.type&&i._setTooltipNodeEvent(o,e,t,n))return;i._hide(e,n)}},r)}}],n&&p(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n}();function De(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Le(e){for(var t=1;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Be(e){var t={placement:void 0!==e.placement?e.placement:ze.options.defaultPlacement,delay:void 0!==e.delay?e.delay:ze.options.defaultDelay,html:void 0!==e.html?e.html:ze.options.defaultHtml,template:void 0!==e.template?e.template:ze.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:ze.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:ze.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:ze.options.defaultTrigger,offset:void 0!==e.offset?e.offset:ze.options.defaultOffset,container:void 0!==e.container?e.container:ze.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:ze.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:ze.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:ze.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:ze.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:ze.options.defaultLoadingContent,popperOptions:Le({},void 0!==e.popperOptions?e.popperOptions:ze.options.defaultPopperOptions)};if(t.offset){var n=s(t.offset),o=t.offset;("number"===n||"string"===n&&-1===o.indexOf(","))&&(o="0, ".concat(o)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:o}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function Re(e,t){for(var n=e.placement,o=0;o2&&void 0!==arguments[2]?arguments[2]:{},o=He(t),i=void 0!==t.classes?t.classes:ze.options.defaultClass,r=Le({title:o},Be(Le(Le({},"object"===s(t)?t:{}),{},{placement:Re(t,n)}))),a=e._tooltip=new Pe(e,r);a.setClasses(i),a._vueEl=e;var l=void 0!==t.targetClasses?t.targetClasses:ze.options.defaultTargetClass;return e._tooltipTargetClasses=l,ke(e,l),a}(e,n,i),void 0!==n.show&&n.show!==e._tooltipOldShow&&(e._tooltipOldShow=n.show,n.show?o.show():o.hide())):Fe(e)}var ze={options:Me,bind:We,update:We,unbind:function(e){Fe(e)}};function qe(e){e.addEventListener("click",Ge),e.addEventListener("touchstart",Ue,!!Oe&&{passive:!0})}function Ve(e){e.removeEventListener("click",Ge),e.removeEventListener("touchstart",Ue),e.removeEventListener("touchend",Ke),e.removeEventListener("touchcancel",Ye)}function Ge(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function Ue(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",Ke),t.addEventListener("touchcancel",Ye)}}function Ke(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var n=e.changedTouches[0],o=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-o.screenY)<20&&Math.abs(n.screenX-o.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function Ye(e){e.currentTarget.$_vclosepopover_touch=!1}var Qe={bind:function(e,t){var n=t.value,o=t.modifiers;e.$_closePopoverModifiers=o,(void 0===n||n)&&qe(e)},update:function(e,t){var n=t.value,o=t.oldValue,i=t.modifiers;e.$_closePopoverModifiers=i,n!==o&&(void 0===n||n?qe(e):Ve(e))},unbind:function(e){Ve(e)}};function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Je(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.event;t.skipDelay;var o=t.force;!(void 0!==o&&o)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay,this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var o=this.$_findContainer(this.container,t);if(!o)return void console.warn("No container for popover",this);o.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame(function(){e.hidden||(e.isOpen=!0)})}if(!this.popperInstance){var i=Je(Je({},this.popperOptions),{},{placement:this.placement});if(i.modifiers=Je(Je({},i.modifiers),{},{arrow:Je(Je({},i.modifiers&&i.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var r=this.$_getOffset();i.modifiers.offset=Je(Je({},i.modifiers&&i.modifiers.offset),{},{offset:r})}this.boundariesElement&&(i.modifiers.preventOverflow=Je(Je({},i.modifiers&&i.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new pe(t,n,i),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var s=this.openGroup;if(s)for(var a,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var o=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type&&e.$_setTooltipNodeEvent(t))return;e.$_hide()}},o)}},$_setTooltipNodeEvent:function(e){var t=this,n=this.$refs.trigger,o=this.$refs.popover,i=e.relatedreference||e.toElement||e.relatedTarget;return!!o.contains(i)&&(o.addEventListener(e.type,function i(r){var s=r.relatedreference||r.toElement||r.relatedTarget;o.removeEventListener(e.type,i),n.contains(s)||t.hide({event:r})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var n=t.func,o=t.event;e.removeEventListener(o,n)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function it(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var o=tt[n];if(o.$refs.popover){var i=o.$refs.popover.contains(e.target);requestAnimationFrame(function(){(e.closeAllPopover||e.closePopover&&i||o.autoHide&&!i)&&o.$_handleGlobalClose(e,t)})}},o=0;o1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var o={};Ae()(o,Me,n),pt.options=o,ze.options=o,t.directive("tooltip",ze),t.directive("close-popover",Qe),t.component("VPopover",lt)}},get enabled(){return Ie.enabled},set enabled(e){Ie.enabled=e}},dt=null;"undefined"!=typeof window?dt=window.Vue:"undefined"!=typeof globalThis&&(dt=globalThis.Vue),dt&&dt.use(pt);const ct=pt;var ut=o(85471),ft=o(81222),ht=o(53334),vt=o(88837),mt=o(9165),gt=o(85168),yt=o(57505),bt=o(59837),_t=o(24764),At=o(74095),wt=o(4604),Ct=o(6695),kt=o(82182),Tt=o(94219),Ot=o(48240),xt=o(44368),Et=o(34300),Nt=o(63814);const St=(0,o(35947).YK)().setApp("settings").detectUser().build(),$t=(0,Nt.Jv)("/settings/personal/authtokens");var Pt;(0,Et.IF)(xt.Ay),function(e){e[e.TEMPORARY_TOKEN=0]="TEMPORARY_TOKEN",e[e.PERMANENT_TOKEN=1]="PERMANENT_TOKEN",e[e.WIPING_TOKEN=2]="WIPING_TOKEN",e[e.ONETIME_TOKEN=3]="ONETIME_TOKEN"}(Pt||(Pt={}));const Dt=(0,r.nY)("auth-token",{state:()=>({tokens:(0,ft.C)("settings","app_tokens",[])}),actions:{async updateToken(e){const{data:t}=await xt.Ay.put(`${$t}/${e.id}`,e,{confirmPassword:Et.mH.Strict});return t},async addToken(e){St.debug("Creating a new app token");try{const{data:t}=await xt.Ay.post($t,{name:e,oneTime:!0},{confirmPassword:Et.mH.Strict});return this.tokens.push(t.deviceToken),St.debug("App token created"),t}catch{return null}},async deleteToken(e){St.debug("Deleting app token",{token:e}),this.tokens=this.tokens.filter(({id:t})=>t!==e.id);try{return await xt.Ay.delete(`${$t}/${e.id}`,{confirmPassword:Et.mH.Strict}),St.debug("App token deleted"),!0}catch(t){St.error("Could not delete app token",{error:t}),(0,gt.Qg)((0,ht.Tl)("settings","Could not delete the app token")),this.tokens.push(e)}return!1},async wipeToken(e){St.debug("Wiping app token",{token:e});try{return await(0,Et.C5)(),await xt.Ay.post(`${$t}/wipe/${e.id}`),St.debug("App token marked for wipe",{token:e}),e.type=Pt.WIPING_TOKEN,e.canRename=!1,!0}catch(e){St.error("Could not wipe app token",{error:e}),(0,gt.Qg)((0,ht.Tl)("settings","Error while wiping the device with the token"))}return!1},async renameToken(e,t){St.debug(`renaming app token ${e.id} from ${e.name} to '${t}'`);const n=e.name;e.name=t;try{return await this.updateToken(e),St.debug("App token name updated"),!0}catch(t){St.error("Could not update app token name",{error:t}),(0,gt.Qg)((0,ht.Tl)("settings","Error while updating device token name")),e.name=n}return!1},async setTokenScope(e,t,n){St.debug("Updating app token scope",{token:e,scope:t,value:n});const o=e.scope[t];e.scope[t]=n;try{return await this.updateToken(e),St.debug("app token scope updated"),!0}catch(n){St.error("could not update app token scope",{error:n}),(0,gt.Qg)((0,ht.Tl)("settings","Error while updating device token scope")),e.scope[t]=o}return!1}}}),Lt=(0,ut.pM)({__name:"AuthTokenDeleteDialog",props:{token:null,open:{type:Boolean}},setup(e,{emit:t}){const n=e,o=(0,ut.EW)(()=>n.token.type===Pt.WIPING_TOKEN),i=(0,ut.EW)(()=>o.value?{title:(0,ht.Tl)("settings","Revoke and cancel pending wipe?"),body:(0,ht.Tl)("settings","Only continue if you no longer need the device to be wiped."),action:(0,ht.Tl)("settings","Revoke and cancel wipe")}:{title:(0,ht.Tl)("settings","Revoke app password?"),body:(0,ht.Tl)("settings","The app or device will lose access on its next sync. This cannot be undone."),action:(0,ht.Tl)("settings","Revoke")}),r=(0,ut.EW)(()=>[{label:(0,ht.Tl)("settings","Cancel"),variant:"tertiary",callback:()=>t("update:open",!1)},{label:i.value.action,variant:"error",callback:()=>{t("confirm"),t("update:open",!1)}}]);return{__sfc:!0,props:n,emit:t,wiping:o,messages:i,buttons:r,t:ht.Tl,NcDialog:Tt.A,NcNoteCard:Ot.A}}});var It=o(85072),jt=o.n(It),Mt=o(97825),Bt=o.n(Mt),Rt=o(77659),Ht=o.n(Rt),Ft=o(55056),Wt=o.n(Ft),zt=o(10540),qt=o.n(zt),Vt=o(41113),Gt=o.n(Vt),Ut=o(89639),Kt={};Kt.styleTagTransform=Gt(),Kt.setAttributes=Wt(),Kt.insert=Ht().bind(null,"head"),Kt.domAPI=Bt(),Kt.insertStyleElement=qt(),jt()(Ut.A,Kt),Ut.A&&Ut.A.locals&&Ut.A.locals;var Yt=o(14486);const Qt=(0,Yt.A)(Lt,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcDialog,{attrs:{open:e.open,name:n.messages.title,buttons:n.buttons,size:"normal"},on:{"update:open":function(e){return n.emit("update:open",e)}}},[n.wiping?t(n.NcNoteCard,{attrs:{heading:n.t("settings","Remote wipe has not started yet."),type:"error"}},[e._v("\n\t\t"+e._s(n.t("settings","Revoking now cancels the wipe. The device keeps its synced data."))+"\n\t")]):e._e(),e._v(" "),t("p",{staticClass:"auth-token-delete-dialog__body"},[e._v("\n\t\t"+e._s(n.messages.body)+"\n\t")])],1)},[],!1,null,"feb1e502",null).exports,Xt={ie:/(?:MSIE|Trident|Trident\/7.0; rv)[ :](\d+)/,edge:/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/,firefox:/^Mozilla\/5\.0 \((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\) Gecko\/[0-9.]+ Firefox\/(\d+)(?:\.\d)?$/,androidChrome:/^Mozilla\/5\.0 \(Linux; Android[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile )?Safari\/[0-9.]+$/,chrome:/^Mozilla\/5\.0 \((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+$/,safari:/^Mozilla\/5\.0 \([^)]*(Windows|OS X)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)(?: Version\/([0-9]+)[0-9.]+)? Safari\/[0-9.A-Z]+$/,iphone:/ *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,ipad:/\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,iosClient:/^Mozilla\/5\.0 \(iOS\) (?:ownCloud|Nextcloud)-iOS.*$/,androidClient:/^Mozilla\/5\.0 \(Android\) (?:ownCloud|Nextcloud)-android.*$/,iosTalkClient:/^Mozilla\/5\.0 \(iOS\) Nextcloud-Talk.*$/,androidTalkClient:/^Mozilla\/5\.0 \(Android\) Nextcloud-Talk.*$/,davx5:/DAV(?:droid|x5)\/([^ ]+)/,webPirate:/(Sailfish).*WebPirate\/(\d+)/,sailfishBrowser:/(Sailfish).*SailfishBrowser\/(\d+)/,neon:/Neon \d+\.\d+\.\d+\+\d+/},Jt=window.OC.theme.productName,Zt={edge:"Microsoft Edge",firefox:"Firefox",chrome:"Google Chrome",safari:"Safari",androidChrome:(0,ht.Tl)("settings","Google Chrome for Android"),iphone:"iPhone",ipad:"iPad",iosClient:(0,ht.Tl)("settings","{productName} iOS app",{productName:Jt}),androidClient:(0,ht.Tl)("settings","{productName} Android app",{productName:Jt}),iosTalkClient:(0,ht.Tl)("settings","{productName} Talk for iOS",{productName:Jt}),androidTalkClient:(0,ht.Tl)("settings","{productName} Talk for Android",{productName:Jt}),syncClient:(0,ht.Tl)("settings","Sync client"),davx5:"DAVx5",webPirate:"WebPirate",sailfishBrowser:"SailfishBrowser",neon:"Neon"},en=(0,ut.pM)({name:"AuthToken",components:{AuthTokenDeleteDialog:Qt,NcActions:_t.A,NcActionButton:yt.A,NcActionCheckbox:bt.N,NcButton:At.A,NcDateTime:wt.A,NcIconSvgWrapper:Ct.A,NcTextField:kt.A},props:{token:{type:Object,required:!0}},setup:()=>({authTokenStore:Dt()}),data:()=>({actionOpen:!1,renaming:!1,newName:"",oldName:"",deleteDialogOpen:!1,mdiCheck:mt.Tfj,TokenType:Pt}),computed:{canChangeScope(){return this.token.type===Pt.PERMANENT_TOKEN},client(){const e=this.token.name.match(/Mozilla\/5\.0 \((\w+)\) (?:mirall|csyncoC)\/(\d+\.\d+\.\d+)/);return e?{id:"syncClient",os:e[1],version:e[2]}:function(e){for(const t in Xt){const n=e.match(Xt[t]);if(n)return{id:t,version:n[2]??n[1],os:n[2]&&n[1]}}return null}(this.token.name)},tokenLastActivity(){return 1e3*this.token.lastActivity},tokenIcon(){if(this.token.type===Pt.PERMANENT_TOKEN)return mt.Mx_;switch(this.client?.id){case"edge":return mt.MXC;case"firefox":return mt.Ckb;case"chrome":return mt.KR_;case"safari":return mt.lWO;case"androidChrome":case"androidClient":case"androidTalkClient":return mt.mbi;case"iphone":case"iosClient":case"iosTalkClient":return mt.qFD;case"ipad":return mt.Fzw;case"davx5":return mt.vrq;case"syncClient":return mt.F5c;default:return mt.zY6}},tokenLabel(){if(this.token.current)return(0,ht.Tl)("settings","This session");if(null===this.client)return this.token.name;const e=Zt[this.client.id];return this.client.os?(0,ht.Tl)("settings","{client} - {version} ({system})",{client:e,system:this.client.os,version:this.client.version}):this.client.version?(0,ht.Tl)("settings","{client} - {version}",{client:e,version:this.client.version}):e},wiping(){return this.token.type===Pt.WIPING_TOKEN}},methods:{t:ht.Tl,updateFileSystemScope(e){this.authTokenStore.setTokenScope(this.token,"filesystem",e)},startRename(){this.actionOpen=!1,this.oldName=this.token.name,this.newName=this.token.name,this.renaming=!0,this.$nextTick(()=>{this.$refs.input.select()})},cancelRename(){this.renaming=!1},revoke(){this.actionOpen=!1,this.deleteDialogOpen=!0},confirmDelete(){this.authTokenStore.deleteToken(this.token)},rename(){this.renaming=!1,this.authTokenStore.renameToken(this.token,this.newName)},async wipe(){this.actionOpen=!1,await(0,gt.$T)({name:(0,ht.Tl)("settings","Confirm wipe"),text:(0,ht.Tl)("settings","Do you really want to wipe your data from this device?"),labelConfirm:(0,ht.Tl)("settings","Wipe device"),labelReject:(0,ht.Tl)("settings","Cancel"),severity:"warning"})&&this.authTokenStore.wipeToken(this.token)}}}),tn=en;var nn=o(66899),on={};on.styleTagTransform=Gt(),on.setAttributes=Wt(),on.insert=Ht().bind(null,"head"),on.domAPI=Bt(),on.insertStyleElement=qt(),jt()(nn.A,on),nn.A&&nn.A.locals&&nn.A.locals;var rn=(0,Yt.A)(tn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"auth-token",class:[{"auth-token--wiping":e.wiping}],attrs:{"data-id":e.token.id}},[t("td",{staticClass:"auth-token__name"},[t("NcIconSvgWrapper",{attrs:{path:e.tokenIcon}}),e._v(" "),t("div",{staticClass:"auth-token__name-wrapper"},[e.token.canRename&&e.renaming?t("form",{staticClass:"auth-token__name-form",on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.rename.apply(null,arguments)}}},[t("NcTextField",{ref:"input",attrs:{label:e.t("settings","Device name"),"show-trailing-button":!0,"trailing-button-label":e.t("settings","Cancel renaming")},on:{"trailing-button-click":e.cancelRename,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.cancelRename.apply(null,arguments)}},model:{value:e.newName,callback:function(t){e.newName=t},expression:"newName"}}),e._v(" "),t("NcButton",{attrs:{"aria-label":e.t("settings","Save new name"),variant:"tertiary",type:"submit"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.mdiCheck}})]},proxy:!0}],null,!1,1018299955)})],1):t("span",[e._v(e._s(e.tokenLabel))]),e._v(" "),e.wiping?t("span",{staticClass:"wiping-warning"},[e._v("("+e._s(e.t("settings","Marked for remote wipe"))+")")]):e._e()])],1),e._v(" "),t("td",[t("NcDateTime",{staticClass:"auth-token__last-activity",attrs:{"ignore-seconds":!0,timestamp:e.tokenLastActivity}})],1),e._v(" "),t("td",{staticClass:"auth-token__actions"},[e.token.current?e._e():t("NcActions",{attrs:{title:e.t("settings","Device settings"),"aria-label":e.t("settings","Device settings"),open:e.actionOpen},on:{"update:open":function(t){e.actionOpen=t}}},[e.canChangeScope?t("NcActionCheckbox",{attrs:{"model-value":e.token.scope.filesystem},on:{"update:modelValue":e.updateFileSystemScope}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Allow filesystem access"))+"\n\t\t\t")]):e._e(),e._v(" "),e.token.canRename?t("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.startRename.apply(null,arguments)}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Rename"))+"\n\t\t\t")]):e._e(),e._v(" "),e.token.canDelete?[e.token.type!==e.TokenType.WIPING_TOKEN?[t("NcActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.revoke.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("settings","Revoke"))+"\n\t\t\t\t\t")]),e._v(" "),t("NcActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.wipe.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("settings","Wipe device"))+"\n\t\t\t\t\t")])]:t("NcActionButton",{attrs:{icon:"icon-delete",name:e.t("settings","Revoke")},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.revoke.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Revoking this token might prevent the wiping of your device if it has not started the wipe yet."))+"\n\t\t\t\t")])]:e._e()],2)],1),e._v(" "),e.deleteDialogOpen?t("AuthTokenDeleteDialog",{attrs:{token:e.token,open:e.deleteDialogOpen},on:{"update:open":function(t){e.deleteDialogOpen=t},confirm:e.confirmDelete}}):e._e()],1)},[],!1,null,"1be2f070",null);const sn=rn.exports,an=(0,ut.pM)({name:"AuthTokenList",components:{AuthToken:sn},setup:()=>({authTokenStore:Dt()}),computed:{sortedTokens(){return[...this.authTokenStore.tokens].filter(e=>e.type!==Pt.ONETIME_TOKEN).sort((e,t)=>t.lastActivity-e.lastActivity)}},methods:{t:ht.Tl}});var ln=o(59340),pn={};pn.styleTagTransform=Gt(),pn.setAttributes=Wt(),pn.insert=Ht().bind(null,"head"),pn.domAPI=Bt(),pn.insertStyleElement=qt(),jt()(ln.A,pn),ln.A&&ln.A.locals&&ln.A.locals;const dn=(0,Yt.A)(an,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("table",{staticClass:"token-list",attrs:{id:"app-tokens-table"}},[t("thead",[t("tr",[t("th",{staticClass:"token-list__header-device"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Device"))+"\n\t\t\t")]),e._v(" "),t("th",{staticClass:"toke-list__header-activity"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Last activity"))+"\n\t\t\t")]),e._v(" "),t("th",[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Actions"))+"\n\t\t\t\t")])])])]),e._v(" "),t("tbody",{staticClass:"token-list__body"},e._l(e.sortedTokens,function(e){return t("AuthToken",{key:e.id,attrs:{token:e}})}),1)])},[],!1,null,"5fe11895",null).exports;var cn=o(17816),un=o.n(cn);const fn=(0,ut.pM)({name:"AuthTokenSetupDialog",components:{NcButton:At.A,NcDialog:Tt.A,NcIconSvgWrapper:Ct.A,NcTextField:kt.A,QR:un()},props:{token:{type:Object,required:!1,default:null}},data:()=>({isNameCopied:!1,isPasswordCopied:!1,showQRCode:!1}),computed:{open:{get(){return null!==this.token},set(e){e||this.$emit("close")}},copyPasswordIcon(){return this.isPasswordCopied?mt.Tfj:mt.$BT},copyNameIcon(){return this.isNameCopied?mt.Tfj:mt.$BT},appPassword(){return this.token?.token??""},loginName(){return this.token?.loginName??""},qrUrl(){const e=window.location.protocol+"//"+window.location.host+(0,Nt.aU)();return`nc://login/user:${this.loginName}&password:${this.appPassword}&server:${e}`},copyPasswordLabel(){return this.isPasswordCopied?(0,ht.Tl)("settings","App password copied!"):(0,ht.Tl)("settings","Copy app password")},copyLoginNameLabel(){return this.isNameCopied?(0,ht.Tl)("settings","Login name copied!"):(0,ht.Tl)("settings","Copy login name")}},watch:{token(){this.showQRCode=!1},open(){this.open&&this.$nextTick(()=>{this.$refs.appPassword.select()})}},methods:{t:ht.Tl,async copyPassword(){try{await navigator.clipboard.writeText(this.appPassword),this.isPasswordCopied=!0}catch(e){this.isPasswordCopied=!1,St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Could not copy app password. Please copy it manually."))}finally{setTimeout(()=>{this.isPasswordCopied=!1},4e3)}},async copyLoginName(){try{await navigator.clipboard.writeText(this.loginName),this.isNameCopied=!0}catch(e){this.isNameCopied=!1,St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Could not copy login name. Please copy it manually."))}finally{setTimeout(()=>{this.isNameCopied=!1},4e3)}}}});var hn=o(56982),vn={};vn.styleTagTransform=Gt(),vn.setAttributes=Wt(),vn.insert=Ht().bind(null,"head"),vn.domAPI=Bt(),vn.insertStyleElement=qt(),jt()(hn.A,vn),hn.A&&hn.A.locals&&hn.A.locals;const mn=(0,Yt.A)(fn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcDialog",{attrs:{open:e.open,name:e.t("settings","New app password"),"content-classes":"token-dialog"},on:{"update:open":function(t){e.open=t}}},[t("p",[e._v("\n\t\t"+e._s(e.t("settings","Use the credentials below to configure your app or device. For security reasons this password will only be shown once."))+"\n\t")]),e._v(" "),t("div",{staticClass:"token-dialog__name"},[t("NcTextField",{attrs:{label:e.t("settings","Login"),"model-value":e.loginName,readonly:""}}),e._v(" "),t("NcButton",{attrs:{variant:"tertiary",title:e.copyLoginNameLabel,"aria-label":e.copyLoginNameLabel},on:{click:e.copyLoginName},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.copyNameIcon}})]},proxy:!0}])})],1),e._v(" "),t("div",{staticClass:"token-dialog__password"},[t("NcTextField",{ref:"appPassword",attrs:{label:e.t("settings","Password"),"model-value":e.appPassword,readonly:""}}),e._v(" "),t("NcButton",{attrs:{variant:"tertiary",title:e.copyPasswordLabel,"aria-label":e.copyPasswordLabel},on:{click:e.copyPassword},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.copyPasswordIcon}})]},proxy:!0}])})],1),e._v(" "),t("div",{staticClass:"token-dialog__qrcode"},[e.showQRCode?t("QR",{attrs:{value:e.qrUrl}}):t("NcButton",{on:{click:function(t){e.showQRCode=!0}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show QR code for mobile apps"))+"\n\t\t")])],1)])},[],!1,null,"1a608fc0",null).exports,gn=(0,ut.pM)({name:"AuthTokenSetup",components:{NcButton:At.A,NcTextField:kt.A,AuthTokenSetupDialog:mn},setup:()=>({authTokenStore:Dt()}),data:()=>({deviceName:"",loading:!1,newToken:null}),methods:{t:ht.Tl,reset(){this.loading=!1,this.deviceName="",this.newToken=null},async submit(){try{this.loading=!0,this.newToken=await this.authTokenStore.addToken(this.deviceName)}catch(e){St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Error while creating device token")),this.reset()}finally{this.loading=!1}}}});var yn=o(5981),bn={};bn.styleTagTransform=Gt(),bn.setAttributes=Wt(),bn.insert=Ht().bind(null,"head"),bn.domAPI=Bt(),bn.insertStyleElement=qt(),jt()(yn.A,bn),yn.A&&yn.A.locals&&yn.A.locals;var _n=(0,Yt.A)(gn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("form",{attrs:{id:"generate-app-token-section"},on:{submit:function(t){return t.preventDefault(),e.submit.apply(null,arguments)}}},[t("NcTextField",{staticClass:"app-name-text-field",attrs:{type:"text",maxlength:120,disabled:e.loading,label:e.t("settings","App name"),placeholder:e.t("settings","App name")},model:{value:e.deviceName,callback:function(t){e.deviceName=t},expression:"deviceName"}}),e._v(" "),t("NcButton",{attrs:{variant:"primary",disabled:e.loading||0===e.deviceName.length,type:"submit"}},[e._v("\n\t\t"+e._s(e.t("settings","Create new app password"))+"\n\t")]),e._v(" "),t("AuthTokenSetupDialog",{attrs:{token:e.newToken},on:{close:function(t){e.newToken=null}}})],1)},[],!1,null,"1966201e",null);const An=_n.exports,wn=(0,ut.pM)({name:"AuthTokenSection",components:{AuthTokenList:dn,AuthTokenSetup:An,NcSettingsSection:vt.A},data:()=>({canCreateToken:(0,ft.C)("settings","can_create_app_token")}),methods:{t:ht.Tl}}),Cn=(0,Yt.A)(wn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcSettingsSection",{attrs:{name:e.t("settings","Devices & sessions",{},void 0,{sanitize:!1}),description:e.t("settings","Web, desktop and mobile clients currently logged in to your account.")}},[t("AuthTokenList"),e._v(" "),e.canCreateToken?t("AuthTokenSetup"):e._e()],1)},[],!1,null,null,null).exports;o.nc=(0,i.aV)();const kn=(0,r.Ey)();ut.Ay.use(r.R2),ut.Ay.use(ct,{defaultHtml:!1}),ut.Ay.prototype.t=t,new(ut.Ay.extend(Cn))({pinia:kn}).$mount("#security-authtokens")},66899(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".auth-token[data-v-1be2f070]{border-top:2px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}.auth-token--wiping[data-v-1be2f070]{background-color:var(--color-background-dark)}.auth-token__name[data-v-1be2f070]{padding-block:10px;display:flex;align-items:center;gap:6px;min-width:355px}.auth-token__name-wrapper[data-v-1be2f070]{display:flex;flex-direction:column}.auth-token__name-form[data-v-1be2f070]{align-items:end;display:flex;gap:4px}.auth-token__actions[data-v-1be2f070]{padding:0 10px}.auth-token__last-activity[data-v-1be2f070]{padding-inline-start:10px}.auth-token .wiping-warning[data-v-1be2f070]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthToken.vue"],names:[],mappings:"AACA,6BACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,qCACC,6CAAA,CAGD,mCACC,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CAGD,2CACC,YAAA,CACA,qBAAA,CAGD,wCACC,eAAA,CACA,YAAA,CACA,OAAA,CAGD,sCACC,cAAA,CAGD,4CACC,yBAAA,CAGD,6CACC,mCAAA",sourcesContent:["\n.auth-token {\n\tborder-top: 2px solid var(--color-border);\n\tmax-width: 200px;\n\twhite-space: normal;\n\tvertical-align: middle;\n\tposition: relative;\n\n\t&--wiping {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__name {\n\t\tpadding-block: 10px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\tmin-width: 355px; // ensure no jumping when renaming\n\t}\n\n\t&__name-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__name-form {\n\t\talign-items: end;\n\t\tdisplay: flex;\n\t\tgap: 4px;\n\t}\n\n\t&__actions {\n\t\tpadding: 0 10px;\n\t}\n\n\t&__last-activity {\n\t\tpadding-inline-start: 10px;\n\t}\n\n\t.wiping-warning {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},89639(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".auth-token-delete-dialog__body[data-v-feb1e502]{margin-block-start:calc(var(--default-grid-baseline)*2)}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenDeleteDialog.vue"],names:[],mappings:"AACA,iDACC,uDAAA",sourcesContent:["\n.auth-token-delete-dialog__body {\n\tmargin-block-start: calc(var(--default-grid-baseline) * 2);\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},59340(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".token-list[data-v-5fe11895]{width:100%;min-height:50px;padding-top:5px;max-width:fit-content}.token-list th[data-v-5fe11895]{padding-block:10px;padding-inline-start:10px}.token-list .token-list__header-device[data-v-5fe11895]{padding-inline-start:50px}.token-list__header-activity[data-v-5fe11895]{text-align:end}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AACA,6BACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CAEA,gCACC,kBAAA,CACA,yBAAA,CAGD,wDACC,yBAAA,CAED,8CACC,cAAA",sourcesContent:["\n.token-list {\n\twidth: 100%;\n\tmin-height: 50px;\n\tpadding-top: 5px;\n\tmax-width: fit-content;\n\n\tth {\n\t\tpadding-block: 10px;\n\t\tpadding-inline-start: 10px;\n\t}\n\n\t#{&}__header-device {\n\t\tpadding-inline-start: 50px; // 44px icon + 6px padding\n\t}\n\t&__header-activity {\n\t\ttext-align: end;\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},5981(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,"#generate-app-token-section[data-v-1966201e]{display:flex;flex-direction:column;gap:1rem;max-width:400px;padding-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetup.vue"],names:[],mappings:"AACA,6CACC,YAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA",sourcesContent:["\n#generate-app-token-section {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 1rem;\n\tmax-width: 400px;\n\tpadding-top: 16px;\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},56982(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,"[data-v-1a608fc0] .token-dialog{display:flex;flex-direction:column;gap:12px;padding-inline:22px;padding-block-end:20px}[data-v-1a608fc0] .token-dialog>*{box-sizing:border-box}.token-dialog__name[data-v-1a608fc0],.token-dialog__password[data-v-1a608fc0]{align-items:end;display:flex;gap:10px}.token-dialog__name[data-v-1a608fc0] input,.token-dialog__password[data-v-1a608fc0] input{font-family:monospace}.token-dialog__qrcode[data-v-1a608fc0]{display:flex;justify-content:center}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetupDialog.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,qBAAA,CACA,QAAA,CAEA,mBAAA,CACA,sBAAA,CAEA,kCACC,qBAAA,CAKD,8EACC,eAAA,CACA,YAAA,CACA,QAAA,CAEA,0FACC,qBAAA,CAIF,uCACC,YAAA,CACA,sBAAA",sourcesContent:["\n:deep(.token-dialog) {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\n\tpadding-inline: 22px;\n\tpadding-block-end: 20px;\n\n\t> * {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.token-dialog {\n\t&__name, &__password {\n\t\talign-items: end;\n\t\tdisplay: flex;\n\t\tgap: 10px;\n\n\t\t:deep(input) {\n\t\t\tfont-family: monospace;\n\t\t}\n\t}\n\n\t&__qrcode {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},87805(e,t,n){var o=n(43360),i=n(75288);e.exports=function(e,t,n){(void 0!==n&&!i(e[t],n)||void 0===n&&!(t in e))&&o(e,t,n)}},85250(e,t,n){var o=n(37217),i=n(87805),r=n(86649),s=n(42824),a=n(23805),l=n(37241),p=n(14974);e.exports=function e(t,n,d,c,u){t!==n&&r(n,function(r,l){if(u||(u=new o),a(r))s(t,n,l,d,e,c,u);else{var f=c?c(p(t,l),r,l+"",t,n,u):void 0;void 0===f&&(f=r),i(t,l,f)}},l)}},42824(e,t,n){var o=n(87805),i=n(93290),r=n(71961),s=n(23007),a=n(35529),l=n(72428),p=n(56449),d=n(83693),c=n(3656),u=n(1882),f=n(23805),h=n(11331),v=n(37167),m=n(14974),g=n(69884);e.exports=function(e,t,n,y,b,_,A){var w=m(e,n),C=m(t,n),k=A.get(C);if(k)o(e,n,k);else{var T=_?_(w,C,n+"",e,t,A):void 0,O=void 0===T;if(O){var x=p(C),E=!x&&c(C),N=!x&&!E&&v(C);T=C,x||E||N?p(w)?T=w:d(w)?T=s(w):E?(O=!1,T=i(C,!0)):N?(O=!1,T=r(C,!0)):T=[]:h(C)||l(C)?(T=w,l(w)?T=g(w):f(w)&&!u(w)||(T=a(C))):O=!1}O&&(A.set(C,T),b(T,C,y,_,A),A.delete(C)),o(e,n,T)}}},20999(e,t,n){var o=n(69302),i=n(36800);e.exports=function(e){return o(function(t,n){var o=-1,r=n.length,s=r>1?n[r-1]:void 0,a=r>2?n[2]:void 0;for(s=e.length>3&&"function"==typeof s?(r--,s):void 0,a&&i(n[0],n[1],a)&&(s=r<3?void 0:s,r=1),t=Object(t);++o{const e=[];o.O=(t,n,i,r)=>{if(n){r=r||0;for(var s=e.length;s>0&&e[s-1][2]>r;s--)e[s]=e[s-1];return void(e[s]=[n,i,r])}let a=1/0;for(s=0;s=r)&&Object.keys(o.O).every(e=>o.O[e](n[l]))?n.splice(l--,1):(p=!1,r{const t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{if(Array.isArray(t))for(var n=0;nPromise.all(Object.keys(o.f).reduce((t,n)=>(o.f[n](e,t),t),[])),o.u=e=>e+"-"+e+".js?v="+{4005:"4b3dad6afbff5677b20b",4017:"a703785212051935cebe",5236:"60f50adafd6da836b663",7859:"14c2bc9e9c3e71f7c9fe",8259:"01c4c15639039d74785f",8374:"fe6d51c7051cdb5e2df3",8689:"46b7672ccc9fa22cee44"}[e],o.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={},t="nextcloud-ui-legacy:";o.l=(n,i,r,s)=>{if(e[n])return void e[n].push(i);let a,l;if(void 0!==r){const e=document.getElementsByTagName("script");for(var p=0;p{a.onerror=a.onload=null,clearTimeout(c);const i=e[n];if(delete e[n],a.parentNode?.removeChild(a),i?.forEach(e=>e(o)),t)return t(o)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}})(),o.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2131,o.dn=e=>{var t=Object.getOwnPropertyDescriptor(e,"name");(!t||!t.writable&&t.configurable)&&Object.defineProperty(e,"name",{value:"default",configurable:!0})},o.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},(()=>{let e;globalThis.importScripts&&(e=globalThis.location+"");const t=globalThis.document;if(!e&&t&&("SCRIPT"===t.currentScript?.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){const n=t.getElementsByTagName("script");if(n.length){let t=n.length-1;for(;t>-1&&(!e||!/^http(s?):/.test(e));)e=n[t--].src}}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;const e={2131:0};o.f.j=(t,n)=>{let i=o.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const r=new Promise((n,o)=>i=e[t]=[n,o]);n.push(i[2]=r);const s=o.p+o.u(t),a=new Error,l=n=>{if(o.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;a.message="Loading chunk "+t+" failed.\n("+e+": "+o+")",a.name="ChunkLoadError",a.type=e,a.request=o,a.event=n,i[1](a)}};o.l(s,l,"chunk-"+t,t)}},o.O.j=t=>0===e[t];const t=(t,n)=>{let[i,r,s]=n;var a,l,p=0;if(i.some(t=>0!==e[t])){for(a in r)o.o(r,a)&&(o.m[a]=r[a]);if(s)var d=s(o)}for(t&&t(n);po(80650));i=o.O(i)})(); -//# sourceMappingURL=settings-vue-settings-personal-security.js.map?v=bae74b512eee0ca288a2 \ No newline at end of file +(()=>{var e={80650(e,n,o){"use strict";var i=o(21777),r=o(10810);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function a(e){var t=function(e){if("object"!=s(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=s(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==s(t)?t:t+""}function l(e,t,n){return(t=a(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){for(var n=0;n=0)return 1;return 0}(),u=d&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then(function(){t=!1,e()}))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout(function(){t=!1,e()},c))}};function f(e){return e&&"[object Function]"==={}.toString.call(e)}function h(e,t){if(1!==e.nodeType)return[];var n=e.ownerDocument.defaultView.getComputedStyle(e,null);return t?n[t]:n}function v(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function m(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=h(e),n=t.overflow,o=t.overflowX,i=t.overflowY;return/(auto|scroll|overlay)/.test(n+i+o)?e:m(v(e))}function g(e){return e&&e.referenceNode?e.referenceNode:e}var y=d&&!(!window.MSInputMethodContext||!document.documentMode),b=d&&/MSIE 10/.test(navigator.userAgent);function _(e){return 11===e?y:10===e?b:y||b}function A(e){if(!e)return document.documentElement;for(var t=_(10)?document.body:null,n=e.offsetParent||null;n===t&&e.nextElementSibling;)n=(e=e.nextElementSibling).offsetParent;var o=n&&n.nodeName;return o&&"BODY"!==o&&"HTML"!==o?-1!==["TH","TD","TABLE"].indexOf(n.nodeName)&&"static"===h(n,"position")?A(n):n:e?e.ownerDocument.documentElement:document.documentElement}function w(e){return null!==e.parentNode?w(e.parentNode):e}function C(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,o=n?e:t,i=n?t:e,r=document.createRange();r.setStart(o,0),r.setEnd(i,0);var s,a,l=r.commonAncestorContainer;if(e!==l&&t!==l||o.contains(i))return"BODY"===(a=(s=l).nodeName)||"HTML"!==a&&A(s.firstElementChild)!==s?A(l):l;var p=w(e);return p.host?C(p.host,t):C(e,w(t).host)}function k(e){var t="top"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top")?"scrollTop":"scrollLeft",n=e.nodeName;if("BODY"===n||"HTML"===n){var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[t]}return e[t]}function T(e,t){var n="x"===t?"Left":"Top",o="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"])+parseFloat(e["border"+o+"Width"])}function O(e,t,n,o){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],_(10)?parseInt(n["offset"+e])+parseInt(o["margin"+("Height"===e?"Top":"Left")])+parseInt(o["margin"+("Height"===e?"Bottom":"Right")]):0)}function x(e){var t=e.body,n=e.documentElement,o=_(10)&&getComputedStyle(n);return{height:O("Height",t,n,o),width:O("Width",t,n,o)}}var E=function(){function e(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2],o=_(10),i="HTML"===t.nodeName,r=P(e),s=P(t),a=m(e),l=h(t),p=parseFloat(l.borderTopWidth),d=parseFloat(l.borderLeftWidth);n&&i&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var c=$({top:r.top-s.top-p,left:r.left-s.left-d,width:r.width,height:r.height});if(c.marginTop=0,c.marginLeft=0,!o&&i){var u=parseFloat(l.marginTop),f=parseFloat(l.marginLeft);c.top-=p-u,c.bottom-=p-u,c.left-=d-f,c.right-=d-f,c.marginTop=u,c.marginLeft=f}return(o&&!n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(c=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=k(t,"top"),i=k(t,"left"),r=n?-1:1;return e.top+=o*r,e.bottom+=o*r,e.left+=i*r,e.right+=i*r,e}(c,t)),c}function L(e){var t=e.nodeName;if("BODY"===t||"HTML"===t)return!1;if("fixed"===h(e,"position"))return!0;var n=v(e);return!!n&&L(n)}function I(e){if(!e||!e.parentElement||_())return document.documentElement;for(var t=e.parentElement;t&&"none"===h(t,"transform");)t=t.parentElement;return t||document.documentElement}function j(e,t,n,o){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r={top:0,left:0},s=i?I(e):C(e,g(t));if("viewport"===o)r=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e.ownerDocument.documentElement,o=D(e,n),i=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=t?0:k(n),a=t?0:k(n,"left");return $({top:s-o.top+o.marginTop,left:a-o.left+o.marginLeft,width:i,height:r})}(s,i);else{var a=void 0;"scrollParent"===o?"BODY"===(a=m(v(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===o?e.ownerDocument.documentElement:o;var l=D(a,s,i);if("HTML"!==a.nodeName||L(s))r=l;else{var p=x(e.ownerDocument),d=p.height,c=p.width;r.top+=l.top-l.marginTop,r.bottom=d+l.top,r.left+=l.left-l.marginLeft,r.right=c+l.left}}var u="number"==typeof(n=n||0);return r.left+=u?n:n.left||0,r.top+=u?n:n.top||0,r.right-=u?n:n.right||0,r.bottom-=u?n:n.bottom||0,r}function M(e,t,n,o,i){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var s=j(n,o,r,i),a={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(a).map(function(e){return S({key:e},a[e],{area:(t=a[e],t.width*t.height)});var t}).sort(function(e,t){return t.area-e.area}),p=l.filter(function(e){var t=e.width,o=e.height;return t>=n.clientWidth&&o>=n.clientHeight}),d=p.length>0?p[0].key:l[0].key,c=e.split("-")[1];return d+(c?"-"+c:"")}function B(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return D(n,o?I(t):C(t,g(n)),o)}function R(e){var t=e.ownerDocument.defaultView.getComputedStyle(e),n=parseFloat(t.marginTop||0)+parseFloat(t.marginBottom||0),o=parseFloat(t.marginLeft||0)+parseFloat(t.marginRight||0);return{width:e.offsetWidth+o,height:e.offsetHeight+n}}function H(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,function(e){return t[e]})}function F(e,t,n){n=n.split("-")[0];var o=R(e),i={width:o.width,height:o.height},r=-1!==["right","left"].indexOf(n),s=r?"top":"left",a=r?"left":"top",l=r?"height":"width",p=r?"width":"height";return i[s]=t[s]+t[l]/2-o[l]/2,i[a]=n===a?t[a]-o[p]:t[H(a)],i}function W(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function z(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var o=W(e,function(e){return e[t]===n});return e.indexOf(o)}(e,"name",n))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&f(n)&&(t.offsets.popper=$(t.offsets.popper),t.offsets.reference=$(t.offsets.reference),t=n(t,e))}),t}function q(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=B(this.state,this.popper,this.reference,this.options.positionFixed),e.placement=M(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.positionFixed=this.options.positionFixed,e.offsets.popper=F(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",e=z(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function V(e,t){return e.some(function(e){var n=e.name;return e.enabled&&n===t})}function G(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),o=0;o1&&void 0!==arguments[1]&&arguments[1],n=ie.indexOf(e),o=ie.slice(n+1).concat(ie.slice(0,n));return t?o.reverse():o}var se={shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],o=t.split("-")[1];if(o){var i=e.offsets,r=i.reference,s=i.popper,a=-1!==["bottom","top"].indexOf(n),l=a?"left":"top",p=a?"width":"height",d={start:N({},l,r[l]),end:N({},l,r[l]+r[p]-s[p])};e.offsets.popper=S({},s,d[o])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n,o=t.offset,i=e.placement,r=e.offsets,s=r.popper,a=r.reference,l=i.split("-")[0];return n=Z(+o)?[+o,0]:function(e,t,n,o){var i=[0,0],r=-1!==["right","left"].indexOf(o),s=e.split(/(\+|\-)/).map(function(e){return e.trim()}),a=s.indexOf(W(s,function(e){return-1!==e.search(/,|\s/)}));s[a]&&-1===s[a].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,p=-1!==a?[s.slice(0,a).concat([s[a].split(l)[0]]),[s[a].split(l)[1]].concat(s.slice(a+1))]:[s];return(p=p.map(function(e,o){var i=(1===o?!r:r)?"height":"width",s=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,s=!0,e):s?(e[e.length-1]+=t,s=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,o){var i=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),r=+i[1],s=i[2];return r?0===s.indexOf("%")?$("%p"===s?n:o)[t]/100*r:"vh"===s||"vw"===s?("vh"===s?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*r:r:e}(e,i,t,n)})})).forEach(function(e,t){e.forEach(function(n,o){Z(n)&&(i[t]+=n*("-"===e[o-1]?-1:1))})}),i}(o,s,a,l),"left"===l?(s.top+=n[0],s.left-=n[1]):"right"===l?(s.top+=n[0],s.left+=n[1]):"top"===l?(s.left+=n[0],s.top-=n[1]):"bottom"===l&&(s.left+=n[0],s.top+=n[1]),e.popper=s,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||A(e.instance.popper);e.instance.reference===n&&(n=A(n));var o=G("transform"),i=e.instance.popper.style,r=i.top,s=i.left,a=i[o];i.top="",i.left="",i[o]="";var l=j(e.instance.popper,e.instance.reference,t.padding,n,e.positionFixed);i.top=r,i.left=s,i[o]=a,t.boundaries=l;var p=t.priority,d=e.offsets.popper,c={primary:function(e){var n=d[e];return d[e]l[e]&&!t.escapeWithReference&&(o=Math.min(d[n],l[e]-("right"===e?d.width:d.height))),N({},n,o)}};return p.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";d=S({},d,c[t](e))}),e.offsets.popper=d,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,o=t.reference,i=e.placement.split("-")[0],r=Math.floor,s=-1!==["top","bottom"].indexOf(i),a=s?"right":"bottom",l=s?"left":"top",p=s?"width":"height";return n[a]r(o[a])&&(e.offsets.popper[l]=r(o[a])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!ne(e.instance.modifiers,"arrow","keepTogether"))return e;var o=t.element;if("string"==typeof o){if(!(o=e.instance.popper.querySelector(o)))return e}else if(!e.instance.popper.contains(o))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var i=e.placement.split("-")[0],r=e.offsets,s=r.popper,a=r.reference,l=-1!==["left","right"].indexOf(i),p=l?"height":"width",d=l?"Top":"Left",c=d.toLowerCase(),u=l?"left":"top",f=l?"bottom":"right",v=R(o)[p];a[f]-vs[f]&&(e.offsets.popper[c]+=a[c]+v-s[f]),e.offsets.popper=$(e.offsets.popper);var m=a[c]+a[p]/2-v/2,g=h(e.instance.popper),y=parseFloat(g["margin"+d]),b=parseFloat(g["border"+d+"Width"]),_=m-e.offsets.popper[c]-y-b;return _=Math.max(Math.min(s[p]-v,_),0),e.arrowElement=o,e.offsets.arrow=(N(n={},c,Math.round(_)),N(n,u,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(V(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=j(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement,e.positionFixed),o=e.placement.split("-")[0],i=H(o),r=e.placement.split("-")[1]||"",s=[];switch(t.behavior){case"flip":s=[o,i];break;case"clockwise":s=re(o);break;case"counterclockwise":s=re(o,!0);break;default:s=t.behavior}return s.forEach(function(a,l){if(o!==a||s.length===l+1)return e;o=e.placement.split("-")[0],i=H(o);var p=e.offsets.popper,d=e.offsets.reference,c=Math.floor,u="left"===o&&c(p.right)>c(d.left)||"right"===o&&c(p.left)c(d.top)||"bottom"===o&&c(p.top)c(n.right),v=c(p.top)c(n.bottom),g="left"===o&&f||"right"===o&&h||"top"===o&&v||"bottom"===o&&m,y=-1!==["top","bottom"].indexOf(o),b=!!t.flipVariations&&(y&&"start"===r&&f||y&&"end"===r&&h||!y&&"start"===r&&v||!y&&"end"===r&&m),_=!!t.flipVariationsByContent&&(y&&"start"===r&&h||y&&"end"===r&&f||!y&&"start"===r&&m||!y&&"end"===r&&v),A=b||_;(u||g||A)&&(e.flipped=!0,(u||g)&&(o=s[l+1]),A&&(r=function(e){return"end"===e?"start":"start"===e?"end":e}(r)),e.placement=o+(r?"-"+r:""),e.offsets.popper=S({},e.offsets.popper,F(e.instance.popper,e.offsets.reference,e.placement)),e=z(e.instance.modifiers,e,"flip"))}),e},behavior:"flip",padding:5,boundariesElement:"viewport",flipVariations:!1,flipVariationsByContent:!1},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],o=e.offsets,i=o.popper,r=o.reference,s=-1!==["left","right"].indexOf(n),a=-1===["top","left"].indexOf(n);return i[s?"left":"top"]=r[n]-(a?i[s?"width":"height"]:0),e.placement=H(t),e.offsets.popper=$(i),e}},hide:{order:800,enabled:!0,fn:function(e){if(!ne(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=W(e.instance.modifiers,function(e){return"preventOverflow"===e.name}).boundaries;if(t.bottomn.right||t.top>n.bottom||t.right2&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(o.update)},this.update=u(this.update.bind(this)),this.options=S({},e.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(S({},e.Defaults.modifiers,i.modifiers)).forEach(function(t){o.options.modifiers[t]=S({},e.Defaults.modifiers[t]||{},i.modifiers?i.modifiers[t]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return S({name:e},o.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&f(e.onLoad)&&e.onLoad(o.reference,o.popper,o.options,e,o.state)}),this.update();var r=this.options.eventsEnabled;r&&this.enableEventListeners(),this.state.eventsEnabled=r}return E(e,[{key:"update",value:function(){return q.call(this)}},{key:"destroy",value:function(){return U.call(this)}},{key:"enableEventListeners",value:function(){return X.call(this)}},{key:"disableEventListeners",value:function(){return J.call(this)}}]),e}();le.Utils=("undefined"!=typeof window?window:globalThis).PopperUtils,le.placements=oe,le.Defaults=ae;const pe=le;var de,ce=o(2404),ue=o.n(ce);function fe(){fe.init||(fe.init=!0,de=-1!==function(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);if(e.indexOf("Trident/")>0){var n=e.indexOf("rv:");return parseInt(e.substring(n+3,e.indexOf(".",n)),10)}var o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}())}function he(e,t,n,o,i,r,s,a,l,p){"boolean"!=typeof s&&(l=a,a=s,s=!1);var d,c="function"==typeof n?n.options:n;if(e&&e.render&&(c.render=e.render,c.staticRenderFns=e.staticRenderFns,c._compiled=!0,i&&(c.functional=!0)),o&&(c._scopeId=o),r?(d=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,l(e)),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=d):t&&(d=s?function(e){t.call(this,p(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,a(e))}),d)if(c.functional){var u=c.render;c.render=function(e,t){return d.call(t),u(e,t)}}else{var f=c.beforeCreate;c.beforeCreate=f?[].concat(f,d):[d]}return n}var ve={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},mounted:function(){var e=this;fe(),this.$nextTick(function(){e._w=e.$el.offsetWidth,e._h=e.$el.offsetHeight,e.emitOnMount&&e.emitSize()});var t=document.createElement("object");this._resizeObject=t,t.setAttribute("aria-hidden","true"),t.setAttribute("tabindex",-1),t.onload=this.addResizeHandlers,t.type="text/html",de&&this.$el.appendChild(t),t.data="about:blank",de||this.$el.appendChild(t)},beforeDestroy:function(){this.removeResizeHandlers()},methods:{compareAndNotify:function(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize:function(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers:function(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers:function(){this._resizeObject&&this._resizeObject.onload&&(!de&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}},me=function(){var e=this.$createElement;return(this._self._c||e)("div",{staticClass:"resize-observer",attrs:{tabindex:"-1"}})};me._withStripped=!0;var ge=he({render:me,staticRenderFns:[]},void 0,ve,"data-v-8859cc6c",!1,void 0,!1,void 0,void 0,void 0),ye={version:"1.0.1",install:function(e){e.component("resize-observer",ge),e.component("ResizeObserver",ge)}},be=null;"undefined"!=typeof window?be=window.Vue:"undefined"!=typeof globalThis&&(be=globalThis.Vue),be&&be.use(ye);var _e=o(55364),Ae=o.n(_e),we=function(){};function Ce(e){return"string"==typeof e&&(e=e.split(" ")),e}function ke(e,t){var n,o=Ce(t);n=e.className instanceof we?Ce(e.className.baseVal):Ce(e.className),o.forEach(function(e){-1===n.indexOf(e)&&n.push(e)}),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}function Te(e,t){var n,o=Ce(t);n=e.className instanceof we?Ce(e.className.baseVal):Ce(e.className),o.forEach(function(e){var t=n.indexOf(e);-1!==t&&n.splice(t,1)}),e instanceof SVGElement?e.setAttribute("class",n.join(" ")):e.className=n.join(" ")}"undefined"!=typeof window&&(we=window.SVGAnimatedString);var Oe=!1;if("undefined"!=typeof window){Oe=!1;try{var xe=Object.defineProperty({},"passive",{get:function(){Oe=!0}});window.addEventListener("test",null,xe)}catch(e){}}function Ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Ne(e){for(var t=1;t
',trigger:"hover focus",offset:0},$e=[],Pe=function(){function e(t,n){var o=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),l(this,"_events",[]),l(this,"_setTooltipNodeEvent",function(e,t,n,i){var r=e.relatedreference||e.toElement||e.relatedTarget;return!!o._tooltipNode.contains(r)&&(o._tooltipNode.addEventListener(e.type,function n(r){var s=r.relatedreference||r.toElement||r.relatedTarget;o._tooltipNode.removeEventListener(e.type,n),t.contains(s)||o._scheduleHide(t,i.delay,i,r)}),!0)}),n=Ne(Ne({},Se),n),t.jquery&&(t=t[0]),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.reference=t,this.options=n,this._isOpen=!1,this._init()}return t=e,n=[{key:"show",value:function(){this._show(this.reference,this.options)}},{key:"hide",value:function(){this._hide()}},{key:"dispose",value:function(){this._dispose()}},{key:"toggle",value:function(){return this._isOpen?this.hide():this.show()}},{key:"setClasses",value:function(e){this._classes=e}},{key:"setContent",value:function(e){this.options.title=e,this._tooltipNode&&this._setContent(e,this.options)}},{key:"setOptions",value:function(e){var t=!1,n=e&&e.classes||ze.options.defaultClass;ue()(this._classes,n)||(this.setClasses(n),t=!0),e=Be(e);var o=!1,i=!1;for(var r in this.options.offset===e.offset&&this.options.placement===e.placement||(o=!0),(this.options.template!==e.template||this.options.trigger!==e.trigger||this.options.container!==e.container||t)&&(i=!0),e)this.options[r]=e[r];if(this._tooltipNode)if(i){var s=this._isOpen;this.dispose(),this._init(),s&&this.show()}else o&&this.popperInstance.update()}},{key:"_init",value:function(){var e="string"==typeof this.options.trigger?this.options.trigger.split(" "):[];this._isDisposed=!1,this._enableDocumentTouch=-1===e.indexOf("manual"),e=e.filter(function(e){return-1!==["click","hover","focus"].indexOf(e)}),this._setEventListeners(this.reference,e,this.options),this.$_originalTitle=this.reference.getAttribute("title"),this.reference.removeAttribute("title"),this.reference.setAttribute("data-original-title",this.$_originalTitle)}},{key:"_create",value:function(e,t){var n=this,o=window.document.createElement("div");o.innerHTML=t.trim();var i=o.childNodes[0];return i.id=this.options.ariaId||"tooltip_".concat(Math.random().toString(36).substr(2,10)),i.setAttribute("aria-hidden","true"),this.options.autoHide&&-1!==this.options.trigger.indexOf("hover")&&(i.addEventListener("mouseenter",function(t){return n._scheduleHide(e,n.options.delay,n.options,t)}),i.addEventListener("click",function(t){return n._scheduleHide(e,n.options.delay,n.options,t)})),i}},{key:"_setContent",value:function(e,t){var n=this;this.asyncContent=!1,this._applyContent(e,t).then(function(){n.popperInstance&&n.popperInstance.update()})}},{key:"_applyContent",value:function(e,t){var n=this;return new Promise(function(o,i){var r=t.html,s=n._tooltipNode;if(s){var a=s.querySelector(n.options.innerSelector);if(1===e.nodeType){if(r){for(;a.firstChild;)a.removeChild(a.firstChild);a.appendChild(e)}}else{if("function"==typeof e){var l=e();return void(l&&"function"==typeof l.then?(n.asyncContent=!0,t.loadingClass&&ke(s,t.loadingClass),t.loadingContent&&n._applyContent(t.loadingContent,t),l.then(function(e){return t.loadingClass&&Te(s,t.loadingClass),n._applyContent(e,t)}).then(o).catch(i)):n._applyContent(l,t).then(o).catch(i))}r?a.innerHTML=e:a.innerText=e}o()}})}},{key:"_show",value:function(e,t){if(!t||"string"!=typeof t.container||document.querySelector(t.container)){clearTimeout(this._disposeTimer),delete(t=Object.assign({},t)).offset;var n=!0;this._tooltipNode&&(ke(this._tooltipNode,this._classes),n=!1);var o=this._ensureShown(e,t);return n&&this._tooltipNode&&ke(this._tooltipNode,this._classes),ke(e,["v-tooltip-open"]),o}}},{key:"_ensureShown",value:function(e,t){var n=this;if(this._isOpen)return this;if(this._isOpen=!0,$e.push(this),this._tooltipNode)return this._tooltipNode.style.display="",this._tooltipNode.setAttribute("aria-hidden","false"),this.popperInstance.enableEventListeners(),this.popperInstance.update(),this.asyncContent&&this._setContent(t.title,t),this;var o=e.getAttribute("title")||t.title;if(!o)return this;var i=this._create(e,t.template);this._tooltipNode=i,e.setAttribute("aria-describedby",i.id);var r=this._findContainer(t.container,e);this._append(i,r);var s=Ne(Ne({},t.popperOptions),{},{placement:t.placement});return s.modifiers=Ne(Ne({},s.modifiers),{},{arrow:{element:this.options.arrowSelector}}),t.boundariesElement&&(s.modifiers.preventOverflow={boundariesElement:t.boundariesElement}),this.popperInstance=new pe(e,i,s),this._setContent(o,t),requestAnimationFrame(function(){!n._isDisposed&&n.popperInstance?(n.popperInstance.update(),requestAnimationFrame(function(){n._isDisposed?n.dispose():n._isOpen&&i.setAttribute("aria-hidden","false")})):n.dispose()}),this}},{key:"_noLongerOpen",value:function(){var e=$e.indexOf(this);-1!==e&&$e.splice(e,1)}},{key:"_hide",value:function(){var e=this;if(!this._isOpen)return this;this._isOpen=!1,this._noLongerOpen(),this._tooltipNode.style.display="none",this._tooltipNode.setAttribute("aria-hidden","true"),this.popperInstance&&this.popperInstance.disableEventListeners(),clearTimeout(this._disposeTimer);var t=ze.options.disposeTimeout;return null!==t&&(this._disposeTimer=setTimeout(function(){e._tooltipNode&&(e._tooltipNode.removeEventListener("mouseenter",e.hide),e._tooltipNode.removeEventListener("click",e.hide),e._removeTooltipNode())},t)),Te(this.reference,["v-tooltip-open"]),this}},{key:"_removeTooltipNode",value:function(){if(this._tooltipNode){var e=this._tooltipNode.parentNode;e&&(e.removeChild(this._tooltipNode),this.reference.removeAttribute("aria-describedby")),this._tooltipNode=null}}},{key:"_dispose",value:function(){var e=this;return this._isDisposed=!0,this.reference.removeAttribute("data-original-title"),this.$_originalTitle&&this.reference.setAttribute("title",this.$_originalTitle),this._events.forEach(function(t){var n=t.func,o=t.event;e.reference.removeEventListener(o,n)}),this._events=[],this._tooltipNode?(this._hide(),this._tooltipNode.removeEventListener("mouseenter",this.hide),this._tooltipNode.removeEventListener("click",this.hide),this.popperInstance.destroy(),this.popperInstance.options.removeOnDestroy||this._removeTooltipNode()):this._noLongerOpen(),this}},{key:"_findContainer",value:function(e,t){return"string"==typeof e?e=window.document.querySelector(e):!1===e&&(e=t.parentNode),e}},{key:"_append",value:function(e,t){t.appendChild(e)}},{key:"_setEventListeners",value:function(e,t,n){var o=this,i=[],r=[];t.forEach(function(e){switch(e){case"hover":i.push("mouseenter"),r.push("mouseleave"),o.options.hideOnTargetClick&&r.push("click");break;case"focus":i.push("focus"),r.push("blur"),o.options.hideOnTargetClick&&r.push("click");break;case"click":i.push("click"),r.push("click")}}),i.forEach(function(t){var i=function(t){!0!==o._isOpen&&(t.usedByTooltip=!0,o._scheduleShow(e,n.delay,n,t))};o._events.push({event:t,func:i}),e.addEventListener(t,i)}),r.forEach(function(t){var i=function(t){!0!==t.usedByTooltip&&o._scheduleHide(e,n.delay,n,t)};o._events.push({event:t,func:i}),e.addEventListener(t,i)})}},{key:"_onDocumentTouch",value:function(e){this._enableDocumentTouch&&this._scheduleHide(this.reference,this.options.delay,this.options,e)}},{key:"_scheduleShow",value:function(e,t,n){var o=this,i=t&&t.show||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){return o._show(e,n)},i)}},{key:"_scheduleHide",value:function(e,t,n,o){var i=this,r=t&&t.hide||t||0;clearTimeout(this._scheduleTimer),this._scheduleTimer=window.setTimeout(function(){if(!1!==i._isOpen&&i._tooltipNode.ownerDocument.body.contains(i._tooltipNode)){if("mouseleave"===o.type&&i._setTooltipNodeEvent(o,e,t,n))return;i._hide(e,n)}},r)}}],n&&p(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e;var t,n}();function De(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Le(e){for(var t=1;t
',defaultArrowSelector:".tooltip-arrow, .tooltip__arrow",defaultInnerSelector:".tooltip-inner, .tooltip__inner",defaultDelay:0,defaultTrigger:"hover focus",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultLoadingClass:"tooltip-loading",defaultLoadingContent:"...",autoHide:!0,defaultHideOnTargetClick:!0,disposeTimeout:5e3,popover:{defaultPlacement:"bottom",defaultClass:"vue-popover-theme",defaultBaseClass:"tooltip popover",defaultWrapperClass:"wrapper",defaultInnerClass:"tooltip-inner popover-inner",defaultArrowClass:"tooltip-arrow popover-arrow",defaultOpenClass:"open",defaultDelay:0,defaultTrigger:"click",defaultOffset:0,defaultContainer:"body",defaultBoundariesElement:void 0,defaultPopperOptions:{},defaultAutoHide:!0,defaultHandleResize:!0}};function Be(e){var t={placement:void 0!==e.placement?e.placement:ze.options.defaultPlacement,delay:void 0!==e.delay?e.delay:ze.options.defaultDelay,html:void 0!==e.html?e.html:ze.options.defaultHtml,template:void 0!==e.template?e.template:ze.options.defaultTemplate,arrowSelector:void 0!==e.arrowSelector?e.arrowSelector:ze.options.defaultArrowSelector,innerSelector:void 0!==e.innerSelector?e.innerSelector:ze.options.defaultInnerSelector,trigger:void 0!==e.trigger?e.trigger:ze.options.defaultTrigger,offset:void 0!==e.offset?e.offset:ze.options.defaultOffset,container:void 0!==e.container?e.container:ze.options.defaultContainer,boundariesElement:void 0!==e.boundariesElement?e.boundariesElement:ze.options.defaultBoundariesElement,autoHide:void 0!==e.autoHide?e.autoHide:ze.options.autoHide,hideOnTargetClick:void 0!==e.hideOnTargetClick?e.hideOnTargetClick:ze.options.defaultHideOnTargetClick,loadingClass:void 0!==e.loadingClass?e.loadingClass:ze.options.defaultLoadingClass,loadingContent:void 0!==e.loadingContent?e.loadingContent:ze.options.defaultLoadingContent,popperOptions:Le({},void 0!==e.popperOptions?e.popperOptions:ze.options.defaultPopperOptions)};if(t.offset){var n=s(t.offset),o=t.offset;("number"===n||"string"===n&&-1===o.indexOf(","))&&(o="0, ".concat(o)),t.popperOptions.modifiers||(t.popperOptions.modifiers={}),t.popperOptions.modifiers.offset={offset:o}}return t.trigger&&-1!==t.trigger.indexOf("click")&&(t.hideOnTargetClick=!1),t}function Re(e,t){for(var n=e.placement,o=0;o2&&void 0!==arguments[2]?arguments[2]:{},o=He(t),i=void 0!==t.classes?t.classes:ze.options.defaultClass,r=Le({title:o},Be(Le(Le({},"object"===s(t)?t:{}),{},{placement:Re(t,n)}))),a=e._tooltip=new Pe(e,r);a.setClasses(i),a._vueEl=e;var l=void 0!==t.targetClasses?t.targetClasses:ze.options.defaultTargetClass;return e._tooltipTargetClasses=l,ke(e,l),a}(e,n,i),void 0!==n.show&&n.show!==e._tooltipOldShow&&(e._tooltipOldShow=n.show,n.show?o.show():o.hide())):Fe(e)}var ze={options:Me,bind:We,update:We,unbind:function(e){Fe(e)}};function qe(e){e.addEventListener("click",Ge),e.addEventListener("touchstart",Ue,!!Oe&&{passive:!0})}function Ve(e){e.removeEventListener("click",Ge),e.removeEventListener("touchstart",Ue),e.removeEventListener("touchend",Ke),e.removeEventListener("touchcancel",Ye)}function Ge(e){var t=e.currentTarget;e.closePopover=!t.$_vclosepopover_touch,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}function Ue(e){if(1===e.changedTouches.length){var t=e.currentTarget;t.$_vclosepopover_touch=!0;var n=e.changedTouches[0];t.$_vclosepopover_touchPoint=n,t.addEventListener("touchend",Ke),t.addEventListener("touchcancel",Ye)}}function Ke(e){var t=e.currentTarget;if(t.$_vclosepopover_touch=!1,1===e.changedTouches.length){var n=e.changedTouches[0],o=t.$_vclosepopover_touchPoint;e.closePopover=Math.abs(n.screenY-o.screenY)<20&&Math.abs(n.screenX-o.screenX)<20,e.closeAllPopover=t.$_closePopoverModifiers&&!!t.$_closePopoverModifiers.all}}function Ye(e){e.currentTarget.$_vclosepopover_touch=!1}var Qe={bind:function(e,t){var n=t.value,o=t.modifiers;e.$_closePopoverModifiers=o,(void 0===n||n)&&qe(e)},update:function(e,t){var n=t.value,o=t.oldValue,i=t.modifiers;e.$_closePopoverModifiers=i,n!==o&&(void 0===n||n?qe(e):Ve(e))},unbind:function(e){Ve(e)}};function Xe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function Je(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},n=t.event;t.skipDelay;var o=t.force;!(void 0!==o&&o)&&this.disabled||(this.$_scheduleShow(n),this.$emit("show")),this.$emit("update:open",!0),this.$_beingShowed=!0,requestAnimationFrame(function(){e.$_beingShowed=!1})},hide:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.event;e.skipDelay,this.$_scheduleHide(t),this.$emit("hide"),this.$emit("update:open",!1)},dispose:function(){if(this.$_isDisposed=!0,this.$_removeEventListeners(),this.hide({skipDelay:!0}),this.popperInstance&&(this.popperInstance.destroy(),!this.popperInstance.options.removeOnDestroy)){var e=this.$refs.popover;e.parentNode&&e.parentNode.removeChild(e)}this.$_mounted=!1,this.popperInstance=null,this.isOpen=!1,this.$emit("dispose")},$_init:function(){-1===this.trigger.indexOf("manual")&&this.$_addEventListeners()},$_show:function(){var e=this,t=this.$refs.trigger,n=this.$refs.popover;if(clearTimeout(this.$_disposeTimer),!this.isOpen){if(this.popperInstance&&(this.isOpen=!0,this.popperInstance.enableEventListeners(),this.popperInstance.scheduleUpdate()),!this.$_mounted){var o=this.$_findContainer(this.container,t);if(!o)return void console.warn("No container for popover",this);o.appendChild(n),this.$_mounted=!0,this.isOpen=!1,this.popperInstance&&requestAnimationFrame(function(){e.hidden||(e.isOpen=!0)})}if(!this.popperInstance){var i=Je(Je({},this.popperOptions),{},{placement:this.placement});if(i.modifiers=Je(Je({},i.modifiers),{},{arrow:Je(Je({},i.modifiers&&i.modifiers.arrow),{},{element:this.$refs.arrow})}),this.offset){var r=this.$_getOffset();i.modifiers.offset=Je(Je({},i.modifiers&&i.modifiers.offset),{},{offset:r})}this.boundariesElement&&(i.modifiers.preventOverflow=Je(Je({},i.modifiers&&i.modifiers.preventOverflow),{},{boundariesElement:this.boundariesElement})),this.popperInstance=new pe(t,n,i),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();!e.$_isDisposed&&e.popperInstance?(e.popperInstance.scheduleUpdate(),requestAnimationFrame(function(){if(e.hidden)return e.hidden=!1,void e.$_hide();e.$_isDisposed?e.dispose():e.isOpen=!0})):e.dispose()})}var s=this.openGroup;if(s)for(var a,l=0;l1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),e)this.$_show();else{var t=parseInt(this.delay&&this.delay.show||this.delay||0);this.$_scheduleTimer=setTimeout(this.$_show.bind(this),t)}},$_scheduleHide:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(clearTimeout(this.$_scheduleTimer),n)this.$_hide();else{var o=parseInt(this.delay&&this.delay.hide||this.delay||0);this.$_scheduleTimer=setTimeout(function(){if(e.isOpen){if(t&&"mouseleave"===t.type&&e.$_setTooltipNodeEvent(t))return;e.$_hide()}},o)}},$_setTooltipNodeEvent:function(e){var t=this,n=this.$refs.trigger,o=this.$refs.popover,i=e.relatedreference||e.toElement||e.relatedTarget;return!!o.contains(i)&&(o.addEventListener(e.type,function i(r){var s=r.relatedreference||r.toElement||r.relatedTarget;o.removeEventListener(e.type,i),n.contains(s)||t.hide({event:r})}),!0)},$_removeEventListeners:function(){var e=this.$refs.trigger;this.$_events.forEach(function(t){var n=t.func,o=t.event;e.removeEventListener(o,n)}),this.$_events=[]},$_updatePopper:function(e){this.popperInstance&&(e(),this.isOpen&&this.popperInstance.scheduleUpdate())},$_restartPopper:function(){if(this.popperInstance){var e=this.isOpen;this.dispose(),this.$_isDisposed=!1,this.$_init(),e&&this.show({skipDelay:!0,force:!0})}},$_handleGlobalClose:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.$_beingShowed||(this.hide({event:e}),e.closePopover?this.$emit("close-directive"):this.$emit("auto-hide"),n&&(this.$_preventOpen=!0,setTimeout(function(){t.$_preventOpen=!1},300)))},$_handleResize:function(){this.isOpen&&this.popperInstance&&(this.popperInstance.scheduleUpdate(),this.$emit("resize"))}}};function it(e){for(var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=function(n){var o=tt[n];if(o.$refs.popover){var i=o.$refs.popover.contains(e.target);requestAnimationFrame(function(){(e.closeAllPopover||e.closePopover&&i||o.autoHide&&!i)&&o.$_handleGlobalClose(e,t)})}},o=0;o1&&void 0!==arguments[1]?arguments[1]:{};if(!e.installed){e.installed=!0;var o={};Ae()(o,Me,n),pt.options=o,ze.options=o,t.directive("tooltip",ze),t.directive("close-popover",Qe),t.component("VPopover",lt)}},get enabled(){return Ie.enabled},set enabled(e){Ie.enabled=e}},dt=null;"undefined"!=typeof window?dt=window.Vue:"undefined"!=typeof globalThis&&(dt=globalThis.Vue),dt&&dt.use(pt);const ct=pt;var ut=o(85471),ft=o(81222),ht=o(53334),vt=o(88837),mt=o(9165),gt=o(85168),yt=o(57505),bt=o(59837),_t=o(24764),At=o(74095),wt=o(4604),Ct=o(6695),kt=o(82182),Tt=o(94219),Ot=o(48240),xt=o(44368),Et=o(34300),Nt=o(63814);const St=(0,o(35947).YK)().setApp("settings").detectUser().build(),$t=(0,Nt.Jv)("/settings/personal/authtokens");var Pt;(0,Et.IF)(xt.Ay),function(e){e[e.TEMPORARY_TOKEN=0]="TEMPORARY_TOKEN",e[e.PERMANENT_TOKEN=1]="PERMANENT_TOKEN",e[e.WIPING_TOKEN=2]="WIPING_TOKEN",e[e.ONETIME_TOKEN=3]="ONETIME_TOKEN"}(Pt||(Pt={}));const Dt=(0,r.nY)("auth-token",{state:()=>({tokens:(0,ft.C)("settings","app_tokens",[])}),actions:{async updateToken(e){const{data:t}=await xt.Ay.put(`${$t}/${e.id}`,e,{confirmPassword:Et.mH.Strict});return t},async addToken(e){St.debug("Creating a new app token");const{data:t}=await xt.Ay.post($t,{name:e,oneTime:!0},{confirmPassword:Et.mH.Strict});return this.tokens.push(t.deviceToken),St.debug("App token created"),t},async deleteToken(e){St.debug("Deleting app token",{token:e}),this.tokens=this.tokens.filter(({id:t})=>t!==e.id);try{return await xt.Ay.delete(`${$t}/${e.id}`,{confirmPassword:Et.mH.Strict}),St.debug("App token deleted"),!0}catch(t){St.error("Could not delete app token",{error:t}),(0,gt.Qg)((0,ht.Tl)("settings","Could not delete the app token")),this.tokens.push(e)}return!1},async wipeToken(e){St.debug("Wiping app token",{token:e});try{return await(0,Et.C5)(),await xt.Ay.post(`${$t}/wipe/${e.id}`),St.debug("App token marked for wipe",{token:e}),e.type=Pt.WIPING_TOKEN,e.canRename=!1,!0}catch(e){St.error("Could not wipe app token",{error:e}),(0,gt.Qg)((0,ht.Tl)("settings","Error while wiping the device with the token"))}return!1},async renameToken(e,t){St.debug(`renaming app token ${e.id} from ${e.name} to '${t}'`);const n=e.name;e.name=t;try{return await this.updateToken(e),St.debug("App token name updated"),!0}catch(t){St.error("Could not update app token name",{error:t}),(0,gt.Qg)((0,ht.Tl)("settings","Error while updating device token name")),e.name=n}return!1},async setTokenScope(e,t,n){St.debug("Updating app token scope",{token:e,scope:t,value:n});const o=e.scope[t];e.scope[t]=n;try{return await this.updateToken(e),St.debug("app token scope updated"),!0}catch(n){St.error("could not update app token scope",{error:n}),(0,gt.Qg)((0,ht.Tl)("settings","Error while updating device token scope")),e.scope[t]=o}return!1}}}),Lt=(0,ut.pM)({__name:"AuthTokenDeleteDialog",props:{token:null,open:{type:Boolean}},setup(e,{emit:t}){const n=e,o=(0,ut.EW)(()=>n.token.type===Pt.WIPING_TOKEN),i=(0,ut.EW)(()=>o.value?{title:(0,ht.Tl)("settings","Revoke and cancel pending wipe?"),body:(0,ht.Tl)("settings","Only continue if you no longer need the device to be wiped."),action:(0,ht.Tl)("settings","Revoke and cancel wipe")}:{title:(0,ht.Tl)("settings","Revoke app password?"),body:(0,ht.Tl)("settings","The app or device will lose access on its next sync. This cannot be undone."),action:(0,ht.Tl)("settings","Revoke")}),r=(0,ut.EW)(()=>[{label:(0,ht.Tl)("settings","Cancel"),variant:"tertiary",callback:()=>t("update:open",!1)},{label:i.value.action,variant:"error",callback:()=>{t("confirm"),t("update:open",!1)}}]);return{__sfc:!0,props:n,emit:t,wiping:o,messages:i,buttons:r,t:ht.Tl,NcDialog:Tt.A,NcNoteCard:Ot.A}}});var It=o(85072),jt=o.n(It),Mt=o(97825),Bt=o.n(Mt),Rt=o(77659),Ht=o.n(Rt),Ft=o(55056),Wt=o.n(Ft),zt=o(10540),qt=o.n(zt),Vt=o(41113),Gt=o.n(Vt),Ut=o(89639),Kt={};Kt.styleTagTransform=Gt(),Kt.setAttributes=Wt(),Kt.insert=Ht().bind(null,"head"),Kt.domAPI=Bt(),Kt.insertStyleElement=qt(),jt()(Ut.A,Kt),Ut.A&&Ut.A.locals&&Ut.A.locals;var Yt=o(14486);const Qt=(0,Yt.A)(Lt,function(){var e=this,t=e._self._c,n=e._self._setupProxy;return t(n.NcDialog,{attrs:{open:e.open,name:n.messages.title,buttons:n.buttons,size:"normal"},on:{"update:open":function(e){return n.emit("update:open",e)}}},[n.wiping?t(n.NcNoteCard,{attrs:{heading:n.t("settings","Remote wipe has not started yet."),type:"error"}},[e._v("\n\t\t"+e._s(n.t("settings","Revoking now cancels the wipe. The device keeps its synced data."))+"\n\t")]):e._e(),e._v(" "),t("p",{staticClass:"auth-token-delete-dialog__body"},[e._v("\n\t\t"+e._s(n.messages.body)+"\n\t")])],1)},[],!1,null,"feb1e502",null).exports,Xt={ie:/(?:MSIE|Trident|Trident\/7.0; rv)[ :](\d+)/,edge:/^Mozilla\/5\.0 \([^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+ Edge\/[0-9.]+$/,firefox:/^Mozilla\/5\.0 \((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\) Gecko\/[0-9.]+ Firefox\/(\d+)(?:\.\d)?$/,androidChrome:/^Mozilla\/5\.0 \(Linux; Android[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile )?Safari\/[0-9.]+$/,chrome:/^Mozilla\/5\.0 \((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\) Chrome\/(\d+)[0-9.]+ (?:Mobile Safari|Safari)\/[0-9.]+$/,safari:/^Mozilla\/5\.0 \([^)]*(Windows|OS X)[^)]+\) AppleWebKit\/[0-9.]+ \(KHTML, like Gecko\)(?: Version\/([0-9]+)[0-9.]+)? Safari\/[0-9.A-Z]+$/,iphone:/ *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,ipad:/\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,iosClient:/^Mozilla\/5\.0 \(iOS\) (?:ownCloud|Nextcloud)-iOS.*$/,androidClient:/^Mozilla\/5\.0 \(Android\) (?:ownCloud|Nextcloud)-android.*$/,iosTalkClient:/^Mozilla\/5\.0 \(iOS\) Nextcloud-Talk.*$/,androidTalkClient:/^Mozilla\/5\.0 \(Android\) Nextcloud-Talk.*$/,davx5:/DAV(?:droid|x5)\/([^ ]+)/,webPirate:/(Sailfish).*WebPirate\/(\d+)/,sailfishBrowser:/(Sailfish).*SailfishBrowser\/(\d+)/,neon:/Neon \d+\.\d+\.\d+\+\d+/},Jt=window.OC.theme.productName,Zt={edge:"Microsoft Edge",firefox:"Firefox",chrome:"Google Chrome",safari:"Safari",androidChrome:(0,ht.Tl)("settings","Google Chrome for Android"),iphone:"iPhone",ipad:"iPad",iosClient:(0,ht.Tl)("settings","{productName} iOS app",{productName:Jt}),androidClient:(0,ht.Tl)("settings","{productName} Android app",{productName:Jt}),iosTalkClient:(0,ht.Tl)("settings","{productName} Talk for iOS",{productName:Jt}),androidTalkClient:(0,ht.Tl)("settings","{productName} Talk for Android",{productName:Jt}),syncClient:(0,ht.Tl)("settings","Sync client"),davx5:"DAVx5",webPirate:"WebPirate",sailfishBrowser:"SailfishBrowser",neon:"Neon"},en=(0,ut.pM)({name:"AuthToken",components:{AuthTokenDeleteDialog:Qt,NcActions:_t.A,NcActionButton:yt.A,NcActionCheckbox:bt.N,NcButton:At.A,NcDateTime:wt.A,NcIconSvgWrapper:Ct.A,NcTextField:kt.A},props:{token:{type:Object,required:!0}},setup:()=>({authTokenStore:Dt()}),data:()=>({actionOpen:!1,renaming:!1,newName:"",oldName:"",deleteDialogOpen:!1,mdiCheck:mt.Tfj,TokenType:Pt}),computed:{canChangeScope(){return this.token.type===Pt.PERMANENT_TOKEN},client(){const e=this.token.name.match(/Mozilla\/5\.0 \((\w+)\) (?:mirall|csyncoC)\/(\d+\.\d+\.\d+)/);return e?{id:"syncClient",os:e[1],version:e[2]}:function(e){for(const t in Xt){const n=e.match(Xt[t]);if(n)return{id:t,version:n[2]??n[1],os:n[2]&&n[1]}}return null}(this.token.name)},tokenLastActivity(){return 1e3*this.token.lastActivity},tokenIcon(){if(this.token.type===Pt.PERMANENT_TOKEN)return mt.Mx_;switch(this.client?.id){case"edge":return mt.MXC;case"firefox":return mt.Ckb;case"chrome":return mt.KR_;case"safari":return mt.lWO;case"androidChrome":case"androidClient":case"androidTalkClient":return mt.mbi;case"iphone":case"iosClient":case"iosTalkClient":return mt.qFD;case"ipad":return mt.Fzw;case"davx5":return mt.vrq;case"syncClient":return mt.F5c;default:return mt.zY6}},tokenLabel(){if(this.token.current)return(0,ht.Tl)("settings","This session");if(null===this.client)return this.token.name;const e=Zt[this.client.id];return this.client.os?(0,ht.Tl)("settings","{client} - {version} ({system})",{client:e,system:this.client.os,version:this.client.version}):this.client.version?(0,ht.Tl)("settings","{client} - {version}",{client:e,version:this.client.version}):e},wiping(){return this.token.type===Pt.WIPING_TOKEN}},methods:{t:ht.Tl,updateFileSystemScope(e){this.authTokenStore.setTokenScope(this.token,"filesystem",e)},startRename(){this.actionOpen=!1,this.oldName=this.token.name,this.newName=this.token.name,this.renaming=!0,this.$nextTick(()=>{this.$refs.input.select()})},cancelRename(){this.renaming=!1},revoke(){this.actionOpen=!1,this.deleteDialogOpen=!0},confirmDelete(){this.authTokenStore.deleteToken(this.token)},rename(){this.renaming=!1,this.authTokenStore.renameToken(this.token,this.newName)},async wipe(){this.actionOpen=!1,await(0,gt.$T)({name:(0,ht.Tl)("settings","Confirm wipe"),text:(0,ht.Tl)("settings","Do you really want to wipe your data from this device?"),labelConfirm:(0,ht.Tl)("settings","Wipe device"),labelReject:(0,ht.Tl)("settings","Cancel"),severity:"warning"})&&this.authTokenStore.wipeToken(this.token)}}}),tn=en;var nn=o(66899),on={};on.styleTagTransform=Gt(),on.setAttributes=Wt(),on.insert=Ht().bind(null,"head"),on.domAPI=Bt(),on.insertStyleElement=qt(),jt()(nn.A,on),nn.A&&nn.A.locals&&nn.A.locals;var rn=(0,Yt.A)(tn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("tr",{staticClass:"auth-token",class:[{"auth-token--wiping":e.wiping}],attrs:{"data-id":e.token.id}},[t("td",{staticClass:"auth-token__name"},[t("NcIconSvgWrapper",{attrs:{path:e.tokenIcon}}),e._v(" "),t("div",{staticClass:"auth-token__name-wrapper"},[e.token.canRename&&e.renaming?t("form",{staticClass:"auth-token__name-form",on:{submit:function(t){return t.preventDefault(),t.stopPropagation(),e.rename.apply(null,arguments)}}},[t("NcTextField",{ref:"input",attrs:{label:e.t("settings","Device name"),"show-trailing-button":!0,"trailing-button-label":e.t("settings","Cancel renaming")},on:{"trailing-button-click":e.cancelRename,keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:e.cancelRename.apply(null,arguments)}},model:{value:e.newName,callback:function(t){e.newName=t},expression:"newName"}}),e._v(" "),t("NcButton",{attrs:{"aria-label":e.t("settings","Save new name"),variant:"tertiary",type:"submit"},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.mdiCheck}})]},proxy:!0}],null,!1,1018299955)})],1):t("span",[e._v(e._s(e.tokenLabel))]),e._v(" "),e.wiping?t("span",{staticClass:"wiping-warning"},[e._v("("+e._s(e.t("settings","Marked for remote wipe"))+")")]):e._e()])],1),e._v(" "),t("td",[t("NcDateTime",{staticClass:"auth-token__last-activity",attrs:{"ignore-seconds":!0,timestamp:e.tokenLastActivity}})],1),e._v(" "),t("td",{staticClass:"auth-token__actions"},[e.token.current?e._e():t("NcActions",{attrs:{title:e.t("settings","Device settings"),"aria-label":e.t("settings","Device settings"),open:e.actionOpen},on:{"update:open":function(t){e.actionOpen=t}}},[e.canChangeScope?t("NcActionCheckbox",{attrs:{"model-value":e.token.scope.filesystem},on:{"update:modelValue":e.updateFileSystemScope}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Allow filesystem access"))+"\n\t\t\t")]):e._e(),e._v(" "),e.token.canRename?t("NcActionButton",{attrs:{icon:"icon-rename"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.startRename.apply(null,arguments)}}},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Rename"))+"\n\t\t\t")]):e._e(),e._v(" "),e.token.canDelete?[e.token.type!==e.TokenType.WIPING_TOKEN?[t("NcActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.revoke.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("settings","Revoke"))+"\n\t\t\t\t\t")]),e._v(" "),t("NcActionButton",{attrs:{icon:"icon-delete"},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.wipe.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t\t"+e._s(e.t("settings","Wipe device"))+"\n\t\t\t\t\t")])]:t("NcActionButton",{attrs:{icon:"icon-delete",name:e.t("settings","Revoke")},on:{click:function(t){return t.stopPropagation(),t.preventDefault(),e.revoke.apply(null,arguments)}}},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Revoking this token might prevent the wiping of your device if it has not started the wipe yet."))+"\n\t\t\t\t")])]:e._e()],2)],1),e._v(" "),e.deleteDialogOpen?t("AuthTokenDeleteDialog",{attrs:{token:e.token,open:e.deleteDialogOpen},on:{"update:open":function(t){e.deleteDialogOpen=t},confirm:e.confirmDelete}}):e._e()],1)},[],!1,null,"1be2f070",null);const sn=rn.exports,an=(0,ut.pM)({name:"AuthTokenList",components:{AuthToken:sn},setup:()=>({authTokenStore:Dt()}),computed:{sortedTokens(){return[...this.authTokenStore.tokens].filter(e=>e.type!==Pt.ONETIME_TOKEN).sort((e,t)=>t.lastActivity-e.lastActivity)}},methods:{t:ht.Tl}});var ln=o(59340),pn={};pn.styleTagTransform=Gt(),pn.setAttributes=Wt(),pn.insert=Ht().bind(null,"head"),pn.domAPI=Bt(),pn.insertStyleElement=qt(),jt()(ln.A,pn),ln.A&&ln.A.locals&&ln.A.locals;const dn=(0,Yt.A)(an,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("table",{staticClass:"token-list",attrs:{id:"app-tokens-table"}},[t("thead",[t("tr",[t("th",{staticClass:"token-list__header-device"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Device"))+"\n\t\t\t")]),e._v(" "),t("th",{staticClass:"toke-list__header-activity"},[e._v("\n\t\t\t\t"+e._s(e.t("settings","Last activity"))+"\n\t\t\t")]),e._v(" "),t("th",[t("span",{staticClass:"hidden-visually"},[e._v("\n\t\t\t\t\t"+e._s(e.t("settings","Actions"))+"\n\t\t\t\t")])])])]),e._v(" "),t("tbody",{staticClass:"token-list__body"},e._l(e.sortedTokens,function(e){return t("AuthToken",{key:e.id,attrs:{token:e}})}),1)])},[],!1,null,"5fe11895",null).exports;var cn=o(17816),un=o.n(cn);const fn=(0,ut.pM)({name:"AuthTokenSetupDialog",components:{NcButton:At.A,NcDialog:Tt.A,NcIconSvgWrapper:Ct.A,NcTextField:kt.A,QR:un()},props:{token:{type:Object,required:!1,default:null}},data:()=>({isNameCopied:!1,isPasswordCopied:!1,showQRCode:!1}),computed:{open:{get(){return null!==this.token},set(e){e||this.$emit("close")}},copyPasswordIcon(){return this.isPasswordCopied?mt.Tfj:mt.$BT},copyNameIcon(){return this.isNameCopied?mt.Tfj:mt.$BT},appPassword(){return this.token?.token??""},loginName(){return this.token?.loginName??""},qrUrl(){const e=window.location.protocol+"//"+window.location.host+(0,Nt.aU)();return`nc://login/user:${this.loginName}&password:${this.appPassword}&server:${e}`},copyPasswordLabel(){return this.isPasswordCopied?(0,ht.Tl)("settings","App password copied!"):(0,ht.Tl)("settings","Copy app password")},copyLoginNameLabel(){return this.isNameCopied?(0,ht.Tl)("settings","Login name copied!"):(0,ht.Tl)("settings","Copy login name")}},watch:{token(){this.showQRCode=!1},open(){this.open&&this.$nextTick(()=>{this.$refs.appPassword.select()})}},methods:{t:ht.Tl,async copyPassword(){try{await navigator.clipboard.writeText(this.appPassword),this.isPasswordCopied=!0}catch(e){this.isPasswordCopied=!1,St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Could not copy app password. Please copy it manually."))}finally{setTimeout(()=>{this.isPasswordCopied=!1},4e3)}},async copyLoginName(){try{await navigator.clipboard.writeText(this.loginName),this.isNameCopied=!0}catch(e){this.isNameCopied=!1,St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Could not copy login name. Please copy it manually."))}finally{setTimeout(()=>{this.isNameCopied=!1},4e3)}}}});var hn=o(56982),vn={};vn.styleTagTransform=Gt(),vn.setAttributes=Wt(),vn.insert=Ht().bind(null,"head"),vn.domAPI=Bt(),vn.insertStyleElement=qt(),jt()(hn.A,vn),hn.A&&hn.A.locals&&hn.A.locals;const mn=(0,Yt.A)(fn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcDialog",{attrs:{open:e.open,name:e.t("settings","New app password"),"content-classes":"token-dialog"},on:{"update:open":function(t){e.open=t}}},[t("p",[e._v("\n\t\t"+e._s(e.t("settings","Use the credentials below to configure your app or device. For security reasons this password will only be shown once."))+"\n\t")]),e._v(" "),t("div",{staticClass:"token-dialog__name"},[t("NcTextField",{attrs:{label:e.t("settings","Login"),"model-value":e.loginName,readonly:""}}),e._v(" "),t("NcButton",{attrs:{variant:"tertiary",title:e.copyLoginNameLabel,"aria-label":e.copyLoginNameLabel},on:{click:e.copyLoginName},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.copyNameIcon}})]},proxy:!0}])})],1),e._v(" "),t("div",{staticClass:"token-dialog__password"},[t("NcTextField",{ref:"appPassword",attrs:{label:e.t("settings","Password"),"model-value":e.appPassword,readonly:""}}),e._v(" "),t("NcButton",{attrs:{variant:"tertiary",title:e.copyPasswordLabel,"aria-label":e.copyPasswordLabel},on:{click:e.copyPassword},scopedSlots:e._u([{key:"icon",fn:function(){return[t("NcIconSvgWrapper",{attrs:{path:e.copyPasswordIcon}})]},proxy:!0}])})],1),e._v(" "),t("div",{staticClass:"token-dialog__qrcode"},[e.showQRCode?t("QR",{attrs:{value:e.qrUrl}}):t("NcButton",{on:{click:function(t){e.showQRCode=!0}}},[e._v("\n\t\t\t"+e._s(e.t("settings","Show QR code for mobile apps"))+"\n\t\t")])],1)])},[],!1,null,"1a608fc0",null).exports,gn=(0,ut.pM)({name:"AuthTokenSetup",components:{NcButton:At.A,NcTextField:kt.A,AuthTokenSetupDialog:mn},setup:()=>({authTokenStore:Dt()}),data:()=>({deviceName:"",loading:!1,newToken:null}),methods:{t:ht.Tl,reset(){this.loading=!1,this.deviceName="",this.newToken=null},async submit(){try{this.loading=!0,this.newToken=await this.authTokenStore.addToken(this.deviceName)}catch(e){St.error(e),(0,gt.Qg)((0,ht.Tl)("settings","Error while creating device token")),this.reset()}finally{this.loading=!1}}}});var yn=o(5981),bn={};bn.styleTagTransform=Gt(),bn.setAttributes=Wt(),bn.insert=Ht().bind(null,"head"),bn.domAPI=Bt(),bn.insertStyleElement=qt(),jt()(yn.A,bn),yn.A&&yn.A.locals&&yn.A.locals;var _n=(0,Yt.A)(gn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("form",{attrs:{id:"generate-app-token-section"},on:{submit:function(t){return t.preventDefault(),e.submit.apply(null,arguments)}}},[t("NcTextField",{staticClass:"app-name-text-field",attrs:{type:"text",maxlength:120,disabled:e.loading,label:e.t("settings","App name"),placeholder:e.t("settings","App name")},model:{value:e.deviceName,callback:function(t){e.deviceName=t},expression:"deviceName"}}),e._v(" "),t("NcButton",{attrs:{variant:"primary",disabled:e.loading||0===e.deviceName.length,type:"submit"}},[e._v("\n\t\t"+e._s(e.t("settings","Create new app password"))+"\n\t")]),e._v(" "),t("AuthTokenSetupDialog",{attrs:{token:e.newToken},on:{close:function(t){e.newToken=null}}})],1)},[],!1,null,"1966201e",null);const An=_n.exports,wn=(0,ut.pM)({name:"AuthTokenSection",components:{AuthTokenList:dn,AuthTokenSetup:An,NcSettingsSection:vt.A},data:()=>({canCreateToken:(0,ft.C)("settings","can_create_app_token")}),methods:{t:ht.Tl}}),Cn=(0,Yt.A)(wn,function(){var e=this,t=e._self._c;return e._self._setupProxy,t("NcSettingsSection",{attrs:{name:e.t("settings","Devices & sessions",{},void 0,{sanitize:!1}),description:e.t("settings","Web, desktop and mobile clients currently logged in to your account.")}},[t("AuthTokenList"),e._v(" "),e.canCreateToken?t("AuthTokenSetup"):e._e()],1)},[],!1,null,null,null).exports;o.nc=(0,i.aV)();const kn=(0,r.Ey)();ut.Ay.use(r.R2),ut.Ay.use(ct,{defaultHtml:!1}),ut.Ay.prototype.t=t,new(ut.Ay.extend(Cn))({pinia:kn}).$mount("#security-authtokens")},66899(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".auth-token[data-v-1be2f070]{border-top:2px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}.auth-token--wiping[data-v-1be2f070]{background-color:var(--color-background-dark)}.auth-token__name[data-v-1be2f070]{padding-block:10px;display:flex;align-items:center;gap:6px;min-width:355px}.auth-token__name-wrapper[data-v-1be2f070]{display:flex;flex-direction:column}.auth-token__name-form[data-v-1be2f070]{align-items:end;display:flex;gap:4px}.auth-token__actions[data-v-1be2f070]{padding:0 10px}.auth-token__last-activity[data-v-1be2f070]{padding-inline-start:10px}.auth-token .wiping-warning[data-v-1be2f070]{color:var(--color-text-maxcontrast)}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthToken.vue"],names:[],mappings:"AACA,6BACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,qCACC,6CAAA,CAGD,mCACC,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CAGD,2CACC,YAAA,CACA,qBAAA,CAGD,wCACC,eAAA,CACA,YAAA,CACA,OAAA,CAGD,sCACC,cAAA,CAGD,4CACC,yBAAA,CAGD,6CACC,mCAAA",sourcesContent:["\n.auth-token {\n\tborder-top: 2px solid var(--color-border);\n\tmax-width: 200px;\n\twhite-space: normal;\n\tvertical-align: middle;\n\tposition: relative;\n\n\t&--wiping {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__name {\n\t\tpadding-block: 10px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tgap: 6px;\n\t\tmin-width: 355px; // ensure no jumping when renaming\n\t}\n\n\t&__name-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t&__name-form {\n\t\talign-items: end;\n\t\tdisplay: flex;\n\t\tgap: 4px;\n\t}\n\n\t&__actions {\n\t\tpadding: 0 10px;\n\t}\n\n\t&__last-activity {\n\t\tpadding-inline-start: 10px;\n\t}\n\n\t.wiping-warning {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},89639(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".auth-token-delete-dialog__body[data-v-feb1e502]{margin-block-start:calc(var(--default-grid-baseline)*2)}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenDeleteDialog.vue"],names:[],mappings:"AACA,iDACC,uDAAA",sourcesContent:["\n.auth-token-delete-dialog__body {\n\tmargin-block-start: calc(var(--default-grid-baseline) * 2);\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},59340(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,".token-list[data-v-5fe11895]{width:100%;min-height:50px;padding-top:5px;max-width:fit-content}.token-list th[data-v-5fe11895]{padding-block:10px;padding-inline-start:10px}.token-list .token-list__header-device[data-v-5fe11895]{padding-inline-start:50px}.token-list__header-activity[data-v-5fe11895]{text-align:end}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenList.vue"],names:[],mappings:"AACA,6BACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CAEA,gCACC,kBAAA,CACA,yBAAA,CAGD,wDACC,yBAAA,CAED,8CACC,cAAA",sourcesContent:["\n.token-list {\n\twidth: 100%;\n\tmin-height: 50px;\n\tpadding-top: 5px;\n\tmax-width: fit-content;\n\n\tth {\n\t\tpadding-block: 10px;\n\t\tpadding-inline-start: 10px;\n\t}\n\n\t#{&}__header-device {\n\t\tpadding-inline-start: 50px; // 44px icon + 6px padding\n\t}\n\t&__header-activity {\n\t\ttext-align: end;\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},5981(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,"#generate-app-token-section[data-v-1966201e]{display:flex;flex-direction:column;gap:1rem;max-width:400px;padding-top:16px}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetup.vue"],names:[],mappings:"AACA,6CACC,YAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA",sourcesContent:["\n#generate-app-token-section {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 1rem;\n\tmax-width: 400px;\n\tpadding-top: 16px;\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},56982(e,t,n){"use strict";var o=n(71354),i=n.n(o),r=n(76314),s=n.n(r)()(i());s.push([e.id,"[data-v-1a608fc0] .token-dialog{display:flex;flex-direction:column;gap:12px;padding-inline:22px;padding-block-end:20px}[data-v-1a608fc0] .token-dialog>*{box-sizing:border-box}.token-dialog__name[data-v-1a608fc0],.token-dialog__password[data-v-1a608fc0]{align-items:end;display:flex;gap:10px}.token-dialog__name[data-v-1a608fc0] input,.token-dialog__password[data-v-1a608fc0] input{font-family:monospace}.token-dialog__qrcode[data-v-1a608fc0]{display:flex;justify-content:center}","",{version:3,sources:["webpack://./apps/settings/src/components/AuthTokenSetupDialog.vue"],names:[],mappings:"AACA,gCACC,YAAA,CACA,qBAAA,CACA,QAAA,CAEA,mBAAA,CACA,sBAAA,CAEA,kCACC,qBAAA,CAKD,8EACC,eAAA,CACA,YAAA,CACA,QAAA,CAEA,0FACC,qBAAA,CAIF,uCACC,YAAA,CACA,sBAAA",sourcesContent:["\n:deep(.token-dialog) {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 12px;\n\n\tpadding-inline: 22px;\n\tpadding-block-end: 20px;\n\n\t> * {\n\t\tbox-sizing: border-box;\n\t}\n}\n\n.token-dialog {\n\t&__name, &__password {\n\t\talign-items: end;\n\t\tdisplay: flex;\n\t\tgap: 10px;\n\n\t\t:deep(input) {\n\t\t\tfont-family: monospace;\n\t\t}\n\t}\n\n\t&__qrcode {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t}\n}\n"],sourceRoot:""}]);const a=s;n.d(t,["A",0,a])},87805(e,t,n){var o=n(43360),i=n(75288);e.exports=function(e,t,n){(void 0!==n&&!i(e[t],n)||void 0===n&&!(t in e))&&o(e,t,n)}},85250(e,t,n){var o=n(37217),i=n(87805),r=n(86649),s=n(42824),a=n(23805),l=n(37241),p=n(14974);e.exports=function e(t,n,d,c,u){t!==n&&r(n,function(r,l){if(u||(u=new o),a(r))s(t,n,l,d,e,c,u);else{var f=c?c(p(t,l),r,l+"",t,n,u):void 0;void 0===f&&(f=r),i(t,l,f)}},l)}},42824(e,t,n){var o=n(87805),i=n(93290),r=n(71961),s=n(23007),a=n(35529),l=n(72428),p=n(56449),d=n(83693),c=n(3656),u=n(1882),f=n(23805),h=n(11331),v=n(37167),m=n(14974),g=n(69884);e.exports=function(e,t,n,y,b,_,A){var w=m(e,n),C=m(t,n),k=A.get(C);if(k)o(e,n,k);else{var T=_?_(w,C,n+"",e,t,A):void 0,O=void 0===T;if(O){var x=p(C),E=!x&&c(C),N=!x&&!E&&v(C);T=C,x||E||N?p(w)?T=w:d(w)?T=s(w):E?(O=!1,T=i(C,!0)):N?(O=!1,T=r(C,!0)):T=[]:h(C)||l(C)?(T=w,l(w)?T=g(w):f(w)&&!u(w)||(T=a(C))):O=!1}O&&(A.set(C,T),b(T,C,y,_,A),A.delete(C)),o(e,n,T)}}},20999(e,t,n){var o=n(69302),i=n(36800);e.exports=function(e){return o(function(t,n){var o=-1,r=n.length,s=r>1?n[r-1]:void 0,a=r>2?n[2]:void 0;for(s=e.length>3&&"function"==typeof s?(r--,s):void 0,a&&i(n[0],n[1],a)&&(s=r<3?void 0:s,r=1),t=Object(t);++o{const e=[];o.O=(t,n,i,r)=>{if(n){r=r||0;for(var s=e.length;s>0&&e[s-1][2]>r;s--)e[s]=e[s-1];return void(e[s]=[n,i,r])}let a=1/0;for(s=0;s=r)&&Object.keys(o.O).every(e=>o.O[e](n[l]))?n.splice(l--,1):(p=!1,r{const t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{if(Array.isArray(t))for(var n=0;nPromise.all(Object.keys(o.f).reduce((t,n)=>(o.f[n](e,t),t),[])),o.u=e=>e+"-"+e+".js?v="+{4005:"4b3dad6afbff5677b20b",4017:"a703785212051935cebe",5236:"60f50adafd6da836b663",7859:"14c2bc9e9c3e71f7c9fe",8259:"01c4c15639039d74785f",8374:"fe6d51c7051cdb5e2df3",8689:"46b7672ccc9fa22cee44"}[e],o.o=(e,t)=>Object.hasOwn(e,t),(()=>{const e={},t="nextcloud-ui-legacy:";o.l=(n,i,r,s)=>{if(e[n])return void e[n].push(i);let a,l;if(void 0!==r){const e=document.getElementsByTagName("script");for(var p=0;p{a.onerror=a.onload=null,clearTimeout(c);const i=e[n];if(delete e[n],a.parentNode?.removeChild(a),i?.forEach(e=>e(o)),t)return t(o)},c=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),l&&document.head.appendChild(a)}})(),o.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o.j=2131,o.dn=e=>{var t=Object.getOwnPropertyDescriptor(e,"name");(!t||!t.writable&&t.configurable)&&Object.defineProperty(e,"name",{value:"default",configurable:!0})},o.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},(()=>{let e;globalThis.importScripts&&(e=globalThis.location+"");const t=globalThis.document;if(!e&&t&&("SCRIPT"===t.currentScript?.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){const n=t.getElementsByTagName("script");if(n.length){let t=n.length-1;for(;t>-1&&(!e||!/^http(s?):/.test(e));)e=n[t--].src}}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=e})(),(()=>{o.b="undefined"!=typeof document&&document.baseURI||self.location.href;const e={2131:0};o.f.j=(t,n)=>{let i=o.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const r=new Promise((n,o)=>i=e[t]=[n,o]);n.push(i[2]=r);const s=o.p+o.u(t),a=new Error,l=n=>{if(o.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;a.message="Loading chunk "+t+" failed.\n("+e+": "+o+")",a.name="ChunkLoadError",a.type=e,a.request=o,a.event=n,i[1](a)}};o.l(s,l,"chunk-"+t,t)}},o.O.j=t=>0===e[t];const t=(t,n)=>{let[i,r,s]=n;var a,l,p=0;if(i.some(t=>0!==e[t])){for(a in r)o.o(r,a)&&(o.m[a]=r[a]);if(s)var d=s(o)}for(t&&t(n);po(80650));i=o.O(i)})(); +//# sourceMappingURL=settings-vue-settings-personal-security.js.map?v=ceaa44767b3e716c080c \ No newline at end of file diff --git a/dist/settings-vue-settings-personal-security.js.map b/dist/settings-vue-settings-personal-security.js.map index 41d5d7bb7e9f8..f8b62243fa51a 100644 --- a/dist/settings-vue-settings-personal-security.js.map +++ b/dist/settings-vue-settings-personal-security.js.map @@ -1 +1 @@ -{"version":3,"file":"settings-vue-settings-personal-security.js?v=cc91a4a60692b7ba8df3","mappings":"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","sources":["webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///nextcloud/node_modules/popper.js/dist/esm/popper.js","webpack:///nextcloud/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///nextcloud/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/store/authtoken.ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenDeleteDialog.vue?dcb9","webpack://nextcloud/./apps/settings/src/components/AuthTokenDeleteDialog.vue?70d6","webpack:///nextcloud/apps/settings/src/utils/userAgentMap.ts","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue","webpack:///nextcloud/apps/settings/src/utils/userAgentDetect.ts","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthToken.vue?90ba","webpack://nextcloud/./apps/settings/src/components/AuthToken.vue?1338","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenList.vue?299e","webpack://nextcloud/./apps/settings/src/components/AuthTokenList.vue?90cb","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetupDialog.vue?93e0","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetupDialog.vue?8aec","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetup.vue?0631","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetup.vue?8a43","webpack:///nextcloud/apps/settings/src/components/AuthTokenSection.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenSection.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenSection.vue?e9d0","webpack:///nextcloud/apps/settings/src/main-personal-security.js","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/lodash/_assignMergeValue.js","webpack:///nextcloud/node_modules/lodash/_baseMerge.js","webpack:///nextcloud/node_modules/lodash/_baseMergeDeep.js","webpack:///nextcloud/node_modules/lodash/_createAssigner.js","webpack:///nextcloud/node_modules/lodash/_safeGet.js","webpack:///nextcloud/node_modules/lodash/isArrayLikeObject.js","webpack:///nextcloud/node_modules/lodash/isEqual.js","webpack:///nextcloud/node_modules/lodash/merge.js","webpack:///nextcloud/node_modules/lodash/toPlainObject.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/set anonymous default export name","webpack:///nextcloud/webpack/runtime/wrap commonjs module","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","import axios from '@nextcloud/axios';\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { addPasswordConfirmationInterceptors, confirmPassword, PwdConfirmationMode } from '@nextcloud/password-confirmation';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport logger from '../logger.ts';\nconst BASE_URL = generateUrl('/settings/personal/authtokens');\naddPasswordConfirmationInterceptors(axios);\nexport var TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TEMPORARY_TOKEN\"] = 0] = \"TEMPORARY_TOKEN\";\n TokenType[TokenType[\"PERMANENT_TOKEN\"] = 1] = \"PERMANENT_TOKEN\";\n TokenType[TokenType[\"WIPING_TOKEN\"] = 2] = \"WIPING_TOKEN\";\n TokenType[TokenType[\"ONETIME_TOKEN\"] = 3] = \"ONETIME_TOKEN\";\n})(TokenType || (TokenType = {}));\nexport const useAuthTokenStore = defineStore('auth-token', {\n state() {\n return {\n tokens: loadState('settings', 'app_tokens', []),\n };\n },\n actions: {\n /**\n * Update a token on server\n *\n * @param token Token to update\n */\n async updateToken(token) {\n const { data } = await axios.put(`${BASE_URL}/${token.id}`, token, { confirmPassword: PwdConfirmationMode.Strict });\n return data;\n },\n /**\n * Add a new token\n *\n * @param name The token name\n */\n async addToken(name) {\n logger.debug('Creating a new app token');\n try {\n const { data } = await axios.post(BASE_URL, { name, oneTime: true }, { confirmPassword: PwdConfirmationMode.Strict });\n this.tokens.push(data.deviceToken);\n logger.debug('App token created');\n return data;\n }\n catch {\n return null;\n }\n },\n /**\n * Delete a given app token\n *\n * @param token Token to delete\n */\n async deleteToken(token) {\n logger.debug('Deleting app token', { token });\n this.tokens = this.tokens.filter(({ id }) => id !== token.id);\n try {\n await axios.delete(`${BASE_URL}/${token.id}`, { confirmPassword: PwdConfirmationMode.Strict });\n logger.debug('App token deleted');\n return true;\n }\n catch (error) {\n logger.error('Could not delete app token', { error });\n showError(t('settings', 'Could not delete the app token'));\n // Restore\n this.tokens.push(token);\n }\n return false;\n },\n /**\n * Wipe a token and the connected device\n *\n * @param token Token to wipe\n */\n async wipeToken(token) {\n logger.debug('Wiping app token', { token });\n try {\n await confirmPassword();\n await axios.post(`${BASE_URL}/wipe/${token.id}`);\n logger.debug('App token marked for wipe', { token });\n token.type = TokenType.WIPING_TOKEN;\n token.canRename = false; // wipe tokens can not be renamed\n return true;\n }\n catch (error) {\n logger.error('Could not wipe app token', { error });\n showError(t('settings', 'Error while wiping the device with the token'));\n }\n return false;\n },\n /**\n * Rename an existing token\n *\n * @param token The token to rename\n * @param newName The new name to set\n */\n async renameToken(token, newName) {\n logger.debug(`renaming app token ${token.id} from ${token.name} to '${newName}'`);\n const oldName = token.name;\n token.name = newName;\n try {\n await this.updateToken(token);\n logger.debug('App token name updated');\n return true;\n }\n catch (error) {\n logger.error('Could not update app token name', { error });\n showError(t('settings', 'Error while updating device token name'));\n // Restore\n token.name = oldName;\n }\n return false;\n },\n /**\n * Set scope of the token\n *\n * @param token Token to set scope\n * @param scope scope to set\n * @param value value to set\n */\n async setTokenScope(token, scope, value) {\n logger.debug('Updating app token scope', { token, scope, value });\n const oldVal = token.scope[scope];\n token.scope[scope] = value;\n try {\n await this.updateToken(token);\n logger.debug('app token scope updated');\n return true;\n }\n catch (error) {\n logger.error('could not update app token scope', { error });\n showError(t('settings', 'Error while updating device token scope'));\n // Restore\n token.scope[scope] = oldVal;\n }\n return false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.open,\"name\":_setup.messages.title,\"buttons\":_setup.buttons,\"size\":\"normal\"},on:{\"update:open\":function($event){return _setup.emit('update:open', $event)}}},[(_setup.wiping)?_c(_setup.NcNoteCard,{attrs:{\"heading\":_setup.t('settings', 'Remote wipe has not started yet.'),\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'Revoking now cancels the wipe. The device keeps its synced data.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"auth-token-delete-dialog__body\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.messages.body)+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../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!./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenDeleteDialog.vue?vue&type=template&id=feb1e502&scoped=true\"\nimport script from \"./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&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 \"feb1e502\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// When using capture groups the following parts are extracted\n// the first is used as the version number, the second as the OS\n// Exception: single-group regexes (ie, androidChrome) use the first group as the version.\nexport const userAgentMap = {\n ie: /(?:MSIE|Trident|Trident\\/7.0; rv)[ :](\\d+)/,\n // Microsoft Edge User Agent from https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx\n edge: /^Mozilla\\/5\\.0 \\([^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/[0-9.]+ (?:Mobile Safari|Safari)\\/[0-9.]+ Edge\\/[0-9.]+$/,\n // Firefox User Agent from https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference\n firefox: /^Mozilla\\/5\\.0 \\((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\\) Gecko\\/[0-9.]+ Firefox\\/(\\d+)(?:\\.\\d)?$/,\n // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent\n androidChrome: /^Mozilla\\/5\\.0 \\(Linux; Android[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/(\\d+)[0-9.]+ (?:Mobile )?Safari\\/[0-9.]+$/,\n // Chrome User Agent from https://developer.chrome.com/multidevice/user-agent\n chrome: /^Mozilla\\/5\\.0 \\((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/(\\d+)[0-9.]+ (?:Mobile Safari|Safari)\\/[0-9.]+$/,\n // Safari User Agent from http://www.useragentstring.com/pages/Safari/\n safari: /^Mozilla\\/5\\.0 \\([^)]*(Windows|OS X)[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\)(?: Version\\/([0-9]+)[0-9.]+)? Safari\\/[0-9.A-Z]+$/,\n iphone: / *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,\n ipad: /\\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,\n iosClient: /^Mozilla\\/5\\.0 \\(iOS\\) (?:ownCloud|Nextcloud)-iOS.*$/,\n androidClient: /^Mozilla\\/5\\.0 \\(Android\\) (?:ownCloud|Nextcloud)-android.*$/,\n iosTalkClient: /^Mozilla\\/5\\.0 \\(iOS\\) Nextcloud-Talk.*$/,\n androidTalkClient: /^Mozilla\\/5\\.0 \\(Android\\) Nextcloud-Talk.*$/,\n // DAVx5/3.3.8-beta2-gplay (2021/01/02; dav4jvm; okhttp/4.9.0) Android/10\n davx5: /DAV(?:droid|x5)\\/([^ ]+)/,\n // Mozilla/5.0 (U; Linux; Maemo; Jolla; Sailfish; like Android 4.3) AppleWebKit/538.1 (KHTML, like Gecko) WebPirate/2.0 like Mobile Safari/538.1 (compatible)\n webPirate: /(Sailfish).*WebPirate\\/(\\d+)/,\n // Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0\n sailfishBrowser: /(Sailfish).*SailfishBrowser\\/(\\d+)/,\n // Neon 1.0.0+1\n neon: /Neon \\d+\\.\\d+\\.\\d+\\+\\d+/,\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"auth-token\",class:[{ 'auth-token--wiping': _vm.wiping }],attrs:{\"data-id\":_vm.token.id}},[_c('td',{staticClass:\"auth-token__name\"},[_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.tokenIcon}}),_vm._v(\" \"),_c('div',{staticClass:\"auth-token__name-wrapper\"},[(_vm.token.canRename && _vm.renaming)?_c('form',{staticClass:\"auth-token__name-form\",on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.rename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"input\",attrs:{\"label\":_vm.t('settings', 'Device name'),\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Cancel renaming')},on:{\"trailing-button-click\":_vm.cancelRename,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancelRename.apply(null, arguments)}},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Save new name'),\"variant\":\"tertiary\",\"type\":\"submit\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)})],1):_c('span',[_vm._v(_vm._s(_vm.tokenLabel))]),_vm._v(\" \"),(_vm.wiping)?_c('span',{staticClass:\"wiping-warning\"},[_vm._v(\"(\"+_vm._s(_vm.t('settings', 'Marked for remote wipe'))+\")\")]):_vm._e()])],1),_vm._v(\" \"),_c('td',[_c('NcDateTime',{staticClass:\"auth-token__last-activity\",attrs:{\"ignore-seconds\":true,\"timestamp\":_vm.tokenLastActivity}})],1),_vm._v(\" \"),_c('td',{staticClass:\"auth-token__actions\"},[(!_vm.token.current)?_c('NcActions',{attrs:{\"title\":_vm.t('settings', 'Device settings'),\"aria-label\":_vm.t('settings', 'Device settings'),\"open\":_vm.actionOpen},on:{\"update:open\":function($event){_vm.actionOpen=$event}}},[(_vm.canChangeScope)?_c('NcActionCheckbox',{attrs:{\"model-value\":_vm.token.scope.filesystem},on:{\"update:modelValue\":_vm.updateFileSystemScope}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Allow filesystem access'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.token.canRename)?_c('NcActionButton',{attrs:{\"icon\":\"icon-rename\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.startRename.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Rename'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.token.canDelete)?[(_vm.token.type !== _vm.TokenType.WIPING_TOKEN)?[_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.revoke.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Revoke'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.wipe.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Wipe device'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\",\"name\":_vm.t('settings', 'Revoke')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.revoke.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Revoking this token might prevent the wiping of your device if it has not started the wipe yet.'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e()],2):_vm._e()],1),_vm._v(\" \"),(_vm.deleteDialogOpen)?_c('AuthTokenDeleteDialog',{attrs:{\"token\":_vm.token,\"open\":_vm.deleteDialogOpen},on:{\"update:open\":function($event){_vm.deleteDialogOpen=$event},\"confirm\":_vm.confirmDelete}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { userAgentMap } from './userAgentMap.ts';\n/**\n * Detect the client from a user agent string.\n *\n * @param ua Raw user agent string\n * @return Detected client information or null if unknown\n */\nexport function detect(ua) {\n for (const id in userAgentMap) {\n const matches = ua.match(userAgentMap[id]);\n if (matches) {\n return {\n id,\n version: matches[2] ?? matches[1],\n os: matches[2] && matches[1],\n };\n }\n }\n return null;\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=script&lang=ts\"","\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!./AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthToken.vue?vue&type=template&id=1be2f070&scoped=true\"\nimport script from \"./AuthToken.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthToken.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthToken.vue?vue&type=style&index=0&id=1be2f070&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 \"1be2f070\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"token-list\",attrs:{\"id\":\"app-tokens-table\"}},[_c('thead',[_c('tr',[_c('th',{staticClass:\"token-list__header-device\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Device'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('th',{staticClass:\"toke-list__header-activity\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Last activity'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Actions'))+\"\\n\\t\\t\\t\\t\")])])])]),_vm._v(\" \"),_c('tbody',{staticClass:\"token-list__body\"},_vm._l((_vm.sortedTokens),function(token){return _c('AuthToken',{key:token.id,attrs:{\"token\":token}})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../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!./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenList.vue?vue&type=template&id=5fe11895&scoped=true\"\nimport script from \"./AuthTokenList.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&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 \"5fe11895\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{attrs:{\"id\":\"generate-app-token-section\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('NcTextField',{staticClass:\"app-name-text-field\",attrs:{\"type\":\"text\",\"maxlength\":120,\"disabled\":_vm.loading,\"label\":_vm.t('settings', 'App name'),\"placeholder\":_vm.t('settings', 'App name')},model:{value:(_vm.deviceName),callback:function ($$v) {_vm.deviceName=$$v},expression:\"deviceName\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.loading || _vm.deviceName.length === 0,\"type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Create new app password'))+\"\\n\\t\")]),_vm._v(\" \"),_c('AuthTokenSetupDialog',{attrs:{\"token\":_vm.newToken},on:{\"close\":function($event){_vm.newToken = null}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcDialog',{attrs:{\"open\":_vm.open,\"name\":_vm.t('settings', 'New app password'),\"content-classes\":\"token-dialog\"},on:{\"update:open\":function($event){_vm.open=$event}}},[_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Use the credentials below to configure your app or device. For security reasons this password will only be shown once.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__name\"},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Login'),\"model-value\":_vm.loginName,\"readonly\":\"\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"title\":_vm.copyLoginNameLabel,\"aria-label\":_vm.copyLoginNameLabel},on:{\"click\":_vm.copyLoginName},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.copyNameIcon}})]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__password\"},[_c('NcTextField',{ref:\"appPassword\",attrs:{\"label\":_vm.t('settings', 'Password'),\"model-value\":_vm.appPassword,\"readonly\":\"\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"title\":_vm.copyPasswordLabel,\"aria-label\":_vm.copyPasswordLabel},on:{\"click\":_vm.copyPassword},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.copyPasswordIcon}})]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__qrcode\"},[(!_vm.showQRCode)?_c('NcButton',{on:{\"click\":function($event){_vm.showQRCode = true}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show QR code for mobile apps'))+\"\\n\\t\\t\")]):_c('QR',{attrs:{\"value\":_vm.qrUrl}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"","\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!./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenSetupDialog.vue?vue&type=template&id=1a608fc0&scoped=true\"\nimport script from \"./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\"\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 \"1a608fc0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=script&lang=ts\"","\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!./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenSetup.vue?vue&type=template&id=1966201e&scoped=true\"\nimport script from \"./AuthTokenSetup.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSetup.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&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 \"1966201e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSection.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('settings', 'Devices & sessions', {}, undefined, { sanitize: false }),\"description\":_vm.t('settings', 'Web, desktop and mobile clients currently logged in to your account.')}},[_c('AuthTokenList'),_vm._v(\" \"),(_vm.canCreateToken)?_c('AuthTokenSetup'):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AuthTokenSection.vue?vue&type=template&id=6ca0c5c6\"\nimport script from \"./AuthTokenSection.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSection.vue?vue&type=script&lang=ts\"\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","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { createPinia, PiniaVuePlugin } from 'pinia'\nimport VTooltipPlugin from 'v-tooltip'\nimport Vue from 'vue'\nimport AuthTokenSection from './components/AuthTokenSection.vue'\n\n__webpack_nonce__ = getCSPNonce()\n\nconst pinia = createPinia()\n\nVue.use(PiniaVuePlugin)\nVue.use(VTooltipPlugin, { defaultHtml: false })\nVue.prototype.t = t\n\nconst View = Vue.extend(AuthTokenSection)\nnew View({ pinia }).$mount('#security-authtokens')\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, `.auth-token[data-v-1be2f070]{border-top:2px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}.auth-token--wiping[data-v-1be2f070]{background-color:var(--color-background-dark)}.auth-token__name[data-v-1be2f070]{padding-block:10px;display:flex;align-items:center;gap:6px;min-width:355px}.auth-token__name-wrapper[data-v-1be2f070]{display:flex;flex-direction:column}.auth-token__name-form[data-v-1be2f070]{align-items:end;display:flex;gap:4px}.auth-token__actions[data-v-1be2f070]{padding:0 10px}.auth-token__last-activity[data-v-1be2f070]{padding-inline-start:10px}.auth-token .wiping-warning[data-v-1be2f070]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthToken.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,qCACC,6CAAA,CAGD,mCACC,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CAGD,2CACC,YAAA,CACA,qBAAA,CAGD,wCACC,eAAA,CACA,YAAA,CACA,OAAA,CAGD,sCACC,cAAA,CAGD,4CACC,yBAAA,CAGD,6CACC,mCAAA\",\"sourcesContent\":[\"\\n.auth-token {\\n\\tborder-top: 2px solid var(--color-border);\\n\\tmax-width: 200px;\\n\\twhite-space: normal;\\n\\tvertical-align: middle;\\n\\tposition: relative;\\n\\n\\t&--wiping {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__name {\\n\\t\\tpadding-block: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tgap: 6px;\\n\\t\\tmin-width: 355px; // ensure no jumping when renaming\\n\\t}\\n\\n\\t&__name-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__name-form {\\n\\t\\talign-items: end;\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tpadding: 0 10px;\\n\\t}\\n\\n\\t&__last-activity {\\n\\t\\tpadding-inline-start: 10px;\\n\\t}\\n\\n\\t.wiping-warning {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\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, `.auth-token-delete-dialog__body[data-v-feb1e502]{margin-block-start:calc(var(--default-grid-baseline)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenDeleteDialog.vue\"],\"names\":[],\"mappings\":\"AACA,iDACC,uDAAA\",\"sourcesContent\":[\"\\n.auth-token-delete-dialog__body {\\n\\tmargin-block-start: calc(var(--default-grid-baseline) * 2);\\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, `.token-list[data-v-5fe11895]{width:100%;min-height:50px;padding-top:5px;max-width:fit-content}.token-list th[data-v-5fe11895]{padding-block:10px;padding-inline-start:10px}.token-list .token-list__header-device[data-v-5fe11895]{padding-inline-start:50px}.token-list__header-activity[data-v-5fe11895]{text-align:end}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenList.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CAEA,gCACC,kBAAA,CACA,yBAAA,CAGD,wDACC,yBAAA,CAED,8CACC,cAAA\",\"sourcesContent\":[\"\\n.token-list {\\n\\twidth: 100%;\\n\\tmin-height: 50px;\\n\\tpadding-top: 5px;\\n\\tmax-width: fit-content;\\n\\n\\tth {\\n\\t\\tpadding-block: 10px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t}\\n\\n\\t#{&}__header-device {\\n\\t\\tpadding-inline-start: 50px; // 44px icon + 6px padding\\n\\t}\\n\\t&__header-activity {\\n\\t\\ttext-align: end;\\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, `#generate-app-token-section[data-v-1966201e]{display:flex;flex-direction:column;gap:1rem;max-width:400px;padding-top:16px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenSetup.vue\"],\"names\":[],\"mappings\":\"AACA,6CACC,YAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n#generate-app-token-section {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 1rem;\\n\\tmax-width: 400px;\\n\\tpadding-top: 16px;\\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, `[data-v-1a608fc0] .token-dialog{display:flex;flex-direction:column;gap:12px;padding-inline:22px;padding-block-end:20px}[data-v-1a608fc0] .token-dialog>*{box-sizing:border-box}.token-dialog__name[data-v-1a608fc0],.token-dialog__password[data-v-1a608fc0]{align-items:end;display:flex;gap:10px}.token-dialog__name[data-v-1a608fc0] input,.token-dialog__password[data-v-1a608fc0] input{font-family:monospace}.token-dialog__qrcode[data-v-1a608fc0]{display:flex;justify-content:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenSetupDialog.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,qBAAA,CACA,QAAA,CAEA,mBAAA,CACA,sBAAA,CAEA,kCACC,qBAAA,CAKD,8EACC,eAAA,CACA,YAAA,CACA,QAAA,CAEA,0FACC,qBAAA,CAIF,uCACC,YAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n:deep(.token-dialog) {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 12px;\\n\\n\\tpadding-inline: 22px;\\n\\tpadding-block-end: 20px;\\n\\n\\t> * {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.token-dialog {\\n\\t&__name, &__password {\\n\\t\\talign-items: end;\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 10px;\\n\\n\\t\\t:deep(input) {\\n\\t\\t\\tfont-family: monospace;\\n\\t\\t}\\n\\t}\\n\\n\\t&__qrcode {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst 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\tconst 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","const deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tlet notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tlet [chunkIds, fn, priority] = deferred[i];\n\t\tlet fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tconst r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tconst getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"79ce3b9cce1ed8b84286\",\"4017\":\"e7952469fd7013d6763c\",\"5236\":\"8e879d97ee553106c876\",\"7859\":\"94ba8355b803c98a5893\",\"8259\":\"c62c545c007df2a740b1\",\"8374\":\"1c6ec75c525cfd72ccec\",\"8689\":\"22ea03649fce27dd0cb7\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.hasOwn(obj, prop))","const inProgress = {};\nconst dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tlet script, needAttach;\n\tif(key !== undefined) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tconst s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tconst onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tconst doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode?.removeChild(script);\n\t\tdoneFns?.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tconst timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2131;","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = (x) => {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// execute a CommonJS module body with real module/exports objects, returning the final exports\n__webpack_require__.cjs = (body) => {\n\tconst mod = { exports: {} };\n\tbody.call(mod.exports, mod, mod.exports);\n\treturn mod.exports;\n};","let scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nconst document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript?.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tlet i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nconst installedChunks = {\n\t2131: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tlet installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tconst promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tconst url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tconst error = new Error();\n\t\t\t\t\tconst loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tconst errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tconst realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\terror.event = event;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nconst webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tlet [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nconst chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] ||= [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nlet __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(80650)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","e","toPrimitive","call","r","TypeError","String","_defineProperty","Object","defineProperty","value","enumerable","configurable","writable","_defineProperties","length","key","isBrowser","window","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","toString","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","height","width","createClass","defineProperties","target","props","descriptor","Constructor","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","console","warn","enabled","update","this","isDestroyed","instance","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","shift","basePlacement","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","offset","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","parseOffset","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Defaults","Popper","_this","classCallCheck","requestAnimationFrame","bind","jquery","Utils","globalThis","PopperUtils","vue_resize_esm_isIE","initCompat","init","ua","msie","substring","rv","edge","getInternetExplorerVersion","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","__vue_script__","emitOnMount","type","Boolean","default","ignoreWidth","ignoreHeight","mounted","$nextTick","_w","$el","_h","emitSize","object","createElement","_resizeObject","onload","addResizeHandlers","appendChild","beforeDestroy","removeResizeHandlers","methods","compareAndNotify","$emit","contentDocument","__vue_render__","$createElement","_self","_c","staticClass","attrs","tabindex","_withStripped","__vue_component__","vue_resize_esm_plugin","install","Vue","component","GlobalVue","use","SVGAnimatedString","convertToArray","addClasses","classes","classList","newClasses","className","baseVal","newClass","SVGElement","join","removeClasses","splice","supportsPassive","opts","get","ownKeys$2","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread$2","getOwnPropertyDescriptors","DEFAULT_OPTIONS","container","delay","title","trigger","openTooltips","Tooltip","_reference","_options","_classCallCheck","evt","relatedreference","toElement","relatedTarget","_tooltipNode","evt2","relatedreference2","_scheduleHide","show","_isOpen","_init","_show","_hide","_dispose","_classes","content","_setContent","classesUpdated","directive","defaultClass","isEqual","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","events","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","getAttribute","_this2","tooltipGenerator","innerHTML","tooltipNode","childNodes","id","ariaId","random","substr","autoHide","_this3","asyncContent","_applyContent","_this4","reject","allowHtml","rootNode","titleNode","innerSelector","firstChild","loadingClass","loadingContent","asyncResult","catch","innerText","clearTimeout","_disposeTimer","updateClasses","_ensureShown","_this5","display","_create","_findContainer","_append","popperOptions","arrowSelector","_this6","_noLongerOpen","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_events","func","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","capture","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","pos","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","oldValue","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","unbind","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","all","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","ownKeys","_objectSpread","getDefault","isIOS","MSStream","openPopovers","Element","components","ResizeObserver","open","disabled","Number","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","computed","cssClass","popoverId","watch","val","oldVal","popoverNode","$refs","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","handler","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","skipDelay","_ref2$force","force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","hidden","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","cb","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","_vm","class","ref","staticStyle","_t","_v","visibility","on","keyup","$event","_k","keyCode","notify","_e","insertAt","head","getElementsByTagName","insertBefore","styleSheet","cssText","createTextNode","styleInject","plugin","installed","finalOptions","merge","global","v_tooltip_esm","logger","getLoggerBuilder","setApp","detectUser","build","BASE_URL","generateUrl","TokenType","addPasswordConfirmationInterceptors","axios","useAuthTokenStore","defineStore","tokens","loadState","actions","updateToken","token","put","confirmPassword","PwdConfirmationMode","Strict","addToken","debug","post","oneTime","deviceToken","deleteToken","delete","error","showError","wipeToken","WIPING_TOKEN","canRename","renameToken","newName","oldName","setTokenScope","scope","components_AuthTokenDeleteDialogvue_type_script_setup_true_lang_ts","_defineComponent","__name","setup","__props","emit","wiping","messages","action","buttons","label","variant","__sfc","l10n_dist","Tl","NcDialog","A","NcNoteCard","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","AuthTokenDeleteDialogvue_type_style_index_0_id_feb1e502_prod_lang_scss_scoped_true","locals","AuthTokenDeleteDialog","componentNormalizer","_setup","_setupProxy","size","heading","_s","userAgentMap","ie","firefox","androidChrome","chrome","safari","iphone","ipad","iosClient","androidClient","iosTalkClient","androidTalkClient","davx5","webPirate","sailfishBrowser","neon","productName","OC","theme","nameMap","syncClient","AuthTokenvue_type_script_lang_ts","defineComponent","NcActions","NcActionButton","NcActionCheckbox","NcActionCheckbox_Cbg5yktN","N","NcButton","NcDateTime","NcIconSvgWrapper","NcTextField","required","authTokenStore","actionOpen","renaming","deleteDialogOpen","mdiCheck","mdi","Tfj","canChangeScope","PERMANENT_TOKEN","client","matches","os","detect","tokenLastActivity","lastActivity","tokenIcon","mdiKeyOutline","mdiMicrosoftEdge","mdiFirefox","mdiGoogleChrome","mdiAppleSafari","mdiAndroid","mdiAppleIos","mdiTablet","mdiCellphone","mdiMonitor","mdiWeb","tokenLabel","current","system","updateFileSystemScope","startRename","input","select","cancelRename","revoke","confirmDelete","rename","wipe","showConfirmation","text","labelConfirm","labelReject","severity","components_AuthTokenvue_type_script_lang_ts","AuthTokenvue_type_style_index_0_id_1be2f070_prod_lang_scss_scoped_true_options","AuthTokenvue_type_style_index_0_id_1be2f070_prod_lang_scss_scoped_true","AuthToken_component","path","submit","preventDefault","stopPropagation","model","$$v","expression","scopedSlots","_u","proxy","timestamp","filesystem","icon","click","canDelete","confirm","AuthToken","components_AuthTokenListvue_type_script_lang_ts","sortedTokens","ONETIME_TOKEN","t1","t2","AuthTokenListvue_type_style_index_0_id_5fe11895_prod_lang_scss_scoped_true_options","AuthTokenListvue_type_style_index_0_id_5fe11895_prod_lang_scss_scoped_true","AuthTokenList","_l","components_AuthTokenSetupDialogvue_type_script_lang_ts","QR","isNameCopied","isPasswordCopied","showQRCode","set","copyPasswordIcon","mdiContentCopy","copyNameIcon","appPassword","loginName","qrUrl","server","location","protocol","getRootUrl","copyPasswordLabel","copyLoginNameLabel","copyPassword","clipboard","writeText","copyLoginName","AuthTokenSetupDialogvue_type_style_index_0_id_1a608fc0_prod_scoped_true_lang_scss_options","AuthTokenSetupDialogvue_type_style_index_0_id_1a608fc0_prod_scoped_true_lang_scss","AuthTokenSetupDialog","readonly","components_AuthTokenSetupvue_type_script_lang_ts","deviceName","loading","newToken","reset","AuthTokenSetupvue_type_style_index_0_id_1966201e_prod_lang_scss_scoped_true_options","AuthTokenSetupvue_type_style_index_0_id_1966201e_prod_lang_scss_scoped_true","AuthTokenSetup_component","maxlength","placeholder","close","AuthTokenSetup","components_AuthTokenSectionvue_type_script_lang_ts","NcSettingsSection","canCreateToken","AuthTokenSection","sanitize","description","__webpack_nonce__","getCSPNonce","pinia","createPinia","PiniaVuePlugin","VTooltipPlugin","extend","$mount","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","baseAssignValue","__webpack_require__","eq","exports","Stack","assignMergeValue","baseFor","baseMergeDeep","isObject","keysIn","safeGet","baseMerge","srcIndex","customizer","stack","srcValue","newValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArguments","isArray","isArrayLikeObject","isBuffer","isPlainObject","isTypedArray","toPlainObject","mergeFunc","objValue","stacked","isCommon","isArr","isBuff","isTyped","baseRest","isIterateeCall","assigner","guard","isArrayLike","isObjectLike","baseIsEqual","other","createAssigner","copyObject","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","m","deferred","O","chunkIds","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","d","definition","binding","f","chunkId","promises","u","hasOwn","inProgress","dataWebpackPrefix","l","url","done","needAttach","scripts","s","charset","nc","src","onScriptComplete","prev","onerror","timeout","doneFns","toStringTag","nmd","paths","dn","cjs","mod","scriptUrl","importScripts","currentScript","tagName","Error","p","baseURI","self","href","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"settings-vue-settings-personal-security.js?v=bce9aab661b24da2246a","mappings":"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","sources":["webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///nextcloud/node_modules/popper.js/dist/esm/popper.js","webpack:///nextcloud/node_modules/vue-resize/dist/vue-resize.esm.js","webpack:///nextcloud/node_modules/v-tooltip/dist/v-tooltip.esm.js","webpack:///nextcloud/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///nextcloud/apps/settings/src/logger.ts","webpack:///nextcloud/apps/settings/src/store/authtoken.ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenDeleteDialog.vue?dcb9","webpack://nextcloud/./apps/settings/src/components/AuthTokenDeleteDialog.vue?70d6","webpack:///nextcloud/apps/settings/src/utils/userAgentMap.ts","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue","webpack:///nextcloud/apps/settings/src/utils/userAgentDetect.ts","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthToken.vue?90ba","webpack://nextcloud/./apps/settings/src/components/AuthToken.vue?1338","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenList.vue?299e","webpack://nextcloud/./apps/settings/src/components/AuthTokenList.vue?90cb","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetupDialog.vue?93e0","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetupDialog.vue?8aec","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetup.vue?0631","webpack://nextcloud/./apps/settings/src/components/AuthTokenSetup.vue?8a43","webpack:///nextcloud/apps/settings/src/components/AuthTokenSection.vue?vue&type=script&lang=ts","webpack:///nextcloud/apps/settings/src/components/AuthTokenSection.vue","webpack://nextcloud/./apps/settings/src/components/AuthTokenSection.vue?e9d0","webpack:///nextcloud/apps/settings/src/main-personal-security.js","webpack:///nextcloud/apps/settings/src/components/AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/settings/src/components/AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss","webpack:///nextcloud/node_modules/lodash/_assignMergeValue.js","webpack:///nextcloud/node_modules/lodash/_baseMerge.js","webpack:///nextcloud/node_modules/lodash/_baseMergeDeep.js","webpack:///nextcloud/node_modules/lodash/_createAssigner.js","webpack:///nextcloud/node_modules/lodash/_safeGet.js","webpack:///nextcloud/node_modules/lodash/isArrayLikeObject.js","webpack:///nextcloud/node_modules/lodash/isEqual.js","webpack:///nextcloud/node_modules/lodash/merge.js","webpack:///nextcloud/node_modules/lodash/toPlainObject.js","webpack:///nextcloud/webpack/bootstrap","webpack:///nextcloud/webpack/runtime/chunk loaded","webpack:///nextcloud/webpack/runtime/compat get default export","webpack:///nextcloud/webpack/runtime/define property getters","webpack:///nextcloud/webpack/runtime/ensure chunk","webpack:///nextcloud/webpack/runtime/get javascript chunk filename","webpack:///nextcloud/webpack/runtime/hasOwnProperty shorthand","webpack:///nextcloud/webpack/runtime/load script","webpack:///nextcloud/webpack/runtime/make namespace object","webpack:///nextcloud/webpack/runtime/node module decorator","webpack:///nextcloud/webpack/runtime/runtimeId","webpack:///nextcloud/webpack/runtime/set anonymous default export name","webpack:///nextcloud/webpack/runtime/wrap commonjs module","webpack:///nextcloud/webpack/runtime/publicPath","webpack:///nextcloud/webpack/runtime/jsonp chunk loading","webpack:///nextcloud/webpack/runtime/nonce","webpack:///nextcloud/webpack/startup"],"sourcesContent":["function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nexport { _createClass as default };","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","function getInternetExplorerVersion() {\n var ua = window.navigator.userAgent;\n var msie = ua.indexOf('MSIE ');\n\n if (msie > 0) {\n // IE 10 or older => return version number\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n }\n\n var trident = ua.indexOf('Trident/');\n\n if (trident > 0) {\n // IE 11 => return version number\n var rv = ua.indexOf('rv:');\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n }\n\n var edge = ua.indexOf('Edge/');\n\n if (edge > 0) {\n // Edge (IE 12+) => return version number\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n } // other browser\n\n\n return -1;\n}\n\n//\nvar isIE;\n\nfunction initCompat() {\n if (!initCompat.init) {\n initCompat.init = true;\n isIE = getInternetExplorerVersion() !== -1;\n }\n}\n\nvar script = {\n name: 'ResizeObserver',\n props: {\n emitOnMount: {\n type: Boolean,\n default: false\n },\n ignoreWidth: {\n type: Boolean,\n default: false\n },\n ignoreHeight: {\n type: Boolean,\n default: false\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n initCompat();\n this.$nextTick(function () {\n _this._w = _this.$el.offsetWidth;\n _this._h = _this.$el.offsetHeight;\n\n if (_this.emitOnMount) {\n _this.emitSize();\n }\n });\n var object = document.createElement('object');\n this._resizeObject = object;\n object.setAttribute('aria-hidden', 'true');\n object.setAttribute('tabindex', -1);\n object.onload = this.addResizeHandlers;\n object.type = 'text/html';\n\n if (isIE) {\n this.$el.appendChild(object);\n }\n\n object.data = 'about:blank';\n\n if (!isIE) {\n this.$el.appendChild(object);\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.removeResizeHandlers();\n },\n methods: {\n compareAndNotify: function compareAndNotify() {\n if (!this.ignoreWidth && this._w !== this.$el.offsetWidth || !this.ignoreHeight && this._h !== this.$el.offsetHeight) {\n this._w = this.$el.offsetWidth;\n this._h = this.$el.offsetHeight;\n this.emitSize();\n }\n },\n emitSize: function emitSize() {\n this.$emit('notify', {\n width: this._w,\n height: this._h\n });\n },\n addResizeHandlers: function addResizeHandlers() {\n this._resizeObject.contentDocument.defaultView.addEventListener('resize', this.compareAndNotify);\n\n this.compareAndNotify();\n },\n removeResizeHandlers: function removeResizeHandlers() {\n if (this._resizeObject && this._resizeObject.onload) {\n if (!isIE && this._resizeObject.contentDocument) {\n this._resizeObject.contentDocument.defaultView.removeEventListener('resize', this.compareAndNotify);\n }\n\n this.$el.removeChild(this._resizeObject);\n this._resizeObject.onload = null;\n this._resizeObject = null;\n }\n }\n }\n};\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier\n/* server only */\n, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\n if (typeof shadowMode !== 'boolean') {\n createInjectorSSR = createInjector;\n createInjector = shadowMode;\n shadowMode = false;\n } // Vue.extend constructor export interop.\n\n\n var options = typeof script === 'function' ? script.options : script; // render functions\n\n if (template && template.render) {\n options.render = template.render;\n options.staticRenderFns = template.staticRenderFns;\n options._compiled = true; // functional template\n\n if (isFunctionalTemplate) {\n options.functional = true;\n }\n } // scopedId\n\n\n if (scopeId) {\n options._scopeId = scopeId;\n }\n\n var hook;\n\n if (moduleIdentifier) {\n // server build\n hook = function hook(context) {\n // 2.3 injection\n context = context || // cached call\n this.$vnode && this.$vnode.ssrContext || // stateful\n this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional\n // 2.2 with runInNewContext: true\n\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__;\n } // inject component styles\n\n\n if (style) {\n style.call(this, createInjectorSSR(context));\n } // register component module identifier for async chunk inference\n\n\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier);\n }\n }; // used by ssr in case component is cached and beforeCreate\n // never gets called\n\n\n options._ssrRegister = hook;\n } else if (style) {\n hook = shadowMode ? function (context) {\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\n } : function (context) {\n style.call(this, createInjector(context));\n };\n }\n\n if (hook) {\n if (options.functional) {\n // register for functional component in vue file\n var originalRender = options.render;\n\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context);\n return originalRender(h, context);\n };\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate;\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\n }\n }\n\n return script;\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"resize-observer\",\n attrs: {\n tabindex: \"-1\"\n }\n });\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = \"data-v-8859cc6c\";\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction install(Vue) {\n // eslint-disable-next-line vue/component-definition-name-casing\n Vue.component('resize-observer', __vue_component__);\n Vue.component('ResizeObserver', __vue_component__);\n}\n\nvar plugin = {\n // eslint-disable-next-line no-undef\n version: \"1.0.1\",\n install: install\n};\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { __vue_component__ as ResizeObserver, install };\n//# sourceMappingURL=vue-resize.esm.js.map\n","import _typeof from '@babel/runtime/helpers/typeof';\nimport _defineProperty from '@babel/runtime/helpers/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/createClass';\nimport Popper from 'popper.js';\nimport isEqual from 'lodash/isEqual';\nimport { ResizeObserver } from 'vue-resize';\nimport merge from 'lodash/merge';\n\nvar SVGAnimatedString = function SVGAnimatedString() {};\n\nif (typeof window !== 'undefined') {\n SVGAnimatedString = window.SVGAnimatedString;\n}\n\nfunction convertToArray(value) {\n if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n return value;\n}\n/**\n * Add classes to an element.\n * This method checks to ensure that the classes don't already exist before adding them.\n * It uses el.className rather than classList in order to be IE friendly.\n * @param {object} el - The element to add the classes to.\n * @param {classes} string - List of space separated classes to be added to the element.\n */\n\nfunction addClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n if (classList.indexOf(newClass) === -1) {\n classList.push(newClass);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\n/**\n * Remove classes from an element.\n * It uses el.className rather than classList in order to be IE friendly.\n * @export\n * @param {any} el The element to remove the classes from.\n * @param {any} classes List of space separated classes to be removed from the element.\n */\n\nfunction removeClasses(el, classes) {\n var newClasses = convertToArray(classes);\n var classList;\n\n if (el.className instanceof SVGAnimatedString) {\n classList = convertToArray(el.className.baseVal);\n } else {\n classList = convertToArray(el.className);\n }\n\n newClasses.forEach(function (newClass) {\n var index = classList.indexOf(newClass);\n\n if (index !== -1) {\n classList.splice(index, 1);\n }\n });\n\n if (el instanceof SVGElement) {\n el.setAttribute('class', classList.join(' '));\n } else {\n el.className = classList.join(' ');\n }\n}\nvar supportsPassive = false;\n\nif (typeof window !== 'undefined') {\n supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('test', null, opts);\n } catch (e) {}\n}\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar DEFAULT_OPTIONS = {\n container: false,\n delay: 0,\n html: false,\n placement: 'top',\n title: '',\n template: '
',\n trigger: 'hover focus',\n offset: 0\n};\nvar openTooltips = [];\n\nvar Tooltip = /*#__PURE__*/function () {\n /**\n * Create a new Tooltip.js instance\n * @class Tooltip\n * @param {HTMLElement} reference - The DOM node used as reference of the tooltip (it can be a jQuery element).\n * @param {Object} options\n * @param {String} options.placement=bottom\n * Placement of the popper accepted values: `top(-start, -end), right(-start, -end), bottom(-start, -end),\n * left(-start, -end)`\n * @param {HTMLElement|String|false} options.container=false - Append the tooltip to a specific element.\n * @param {Number|Object} options.delay=0\n * Delay showing and hiding the tooltip (ms) - does not apply to manual trigger type.\n * If a number is supplied, delay is applied to both hide/show.\n * Object structure is: `{ show: 500, hide: 100 }`\n * @param {Boolean} options.html=false - Insert HTML into the tooltip. If false, the content will inserted with `innerText`.\n * @param {String|PlacementFunction} options.placement='top' - One of the allowed placements, or a function returning one of them.\n * @param {String} [options.template='
']\n * Base HTML to used when creating the tooltip.\n * The tooltip's `title` will be injected into the `.tooltip-inner` or `.tooltip__inner`.\n * `.tooltip-arrow` or `.tooltip__arrow` will become the tooltip's arrow.\n * The outermost wrapper element should have the `.tooltip` class.\n * @param {String|HTMLElement|TitleFunction} options.title='' - Default title value if `title` attribute isn't present.\n * @param {String} [options.trigger='hover focus']\n * How tooltip is triggered - click, hover, focus, manual.\n * You may pass multiple triggers; separate them with a space. `manual` cannot be combined with any other trigger.\n * @param {HTMLElement} options.boundariesElement\n * The element used as boundaries for the tooltip. For more information refer to Popper.js'\n * [boundariesElement docs](https://popper.js.org/popper-documentation.html)\n * @param {Number|String} options.offset=0 - Offset of the tooltip relative to its reference. For more information refer to Popper.js'\n * [offset docs](https://popper.js.org/popper-documentation.html)\n * @param {Object} options.popperOptions={} - Popper options, will be passed directly to popper instance. For more information refer to Popper.js'\n * [options docs](https://popper.js.org/popper-documentation.html)\n * @param {string} [options.ariaId] Id used for accessibility\n * @return {Object} instance - The generated tooltip instance\n */\n function Tooltip(_reference, _options) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n _defineProperty(this, \"_events\", []);\n\n _defineProperty(this, \"_setTooltipNodeEvent\", function (evt, reference, delay, options) {\n var relatedreference = evt.relatedreference || evt.toElement || evt.relatedTarget;\n\n var callback = function callback(evt2) {\n var relatedreference2 = evt2.relatedreference || evt2.toElement || evt2.relatedTarget; // Remove event listener after call\n\n _this._tooltipNode.removeEventListener(evt.type, callback); // If the new reference is not the reference element\n\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this._scheduleHide(reference, options.delay, options, evt2);\n }\n };\n\n if (_this._tooltipNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n _this._tooltipNode.addEventListener(evt.type, callback);\n\n return true;\n }\n\n return false;\n });\n\n // apply user options over default ones\n _options = _objectSpread$2(_objectSpread$2({}, DEFAULT_OPTIONS), _options);\n _reference.jquery && (_reference = _reference[0]);\n this.show = this.show.bind(this);\n this.hide = this.hide.bind(this); // cache reference and options\n\n this.reference = _reference;\n this.options = _options; // set initial state\n\n this._isOpen = false;\n\n this._init();\n } //\n // Public methods\n //\n\n /**\n * Reveals an element's tooltip. This is considered a \"manual\" triggering of the tooltip.\n * Tooltips with zero-length titles are never displayed.\n * @method Tooltip#show\n * @memberof Tooltip\n */\n\n\n _createClass(Tooltip, [{\n key: \"show\",\n value: function show() {\n this._show(this.reference, this.options);\n }\n /**\n * Hides an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#hide\n * @memberof Tooltip\n */\n\n }, {\n key: \"hide\",\n value: function hide() {\n this._hide();\n }\n /**\n * Hides and destroys an element’s tooltip.\n * @method Tooltip#dispose\n * @memberof Tooltip\n */\n\n }, {\n key: \"dispose\",\n value: function dispose() {\n this._dispose();\n }\n /**\n * Toggles an element’s tooltip. This is considered a “manual” triggering of the tooltip.\n * @method Tooltip#toggle\n * @memberof Tooltip\n */\n\n }, {\n key: \"toggle\",\n value: function toggle() {\n if (this._isOpen) {\n return this.hide();\n } else {\n return this.show();\n }\n }\n }, {\n key: \"setClasses\",\n value: function setClasses(classes) {\n this._classes = classes;\n }\n }, {\n key: \"setContent\",\n value: function setContent(content) {\n this.options.title = content;\n\n if (this._tooltipNode) {\n this._setContent(content, this.options);\n }\n }\n }, {\n key: \"setOptions\",\n value: function setOptions(options) {\n var classesUpdated = false;\n var classes = options && options.classes || directive.options.defaultClass;\n\n if (!isEqual(this._classes, classes)) {\n this.setClasses(classes);\n classesUpdated = true;\n }\n\n options = getOptions(options);\n var needPopperUpdate = false;\n var needRestart = false;\n\n if (this.options.offset !== options.offset || this.options.placement !== options.placement) {\n needPopperUpdate = true;\n }\n\n if (this.options.template !== options.template || this.options.trigger !== options.trigger || this.options.container !== options.container || classesUpdated) {\n needRestart = true;\n }\n\n for (var key in options) {\n this.options[key] = options[key];\n }\n\n if (this._tooltipNode) {\n if (needRestart) {\n var isOpen = this._isOpen;\n this.dispose();\n\n this._init();\n\n if (isOpen) {\n this.show();\n }\n } else if (needPopperUpdate) {\n this.popperInstance.update();\n }\n }\n } //\n // Private methods\n //\n\n }, {\n key: \"_init\",\n value: function _init() {\n // get events list\n var events = typeof this.options.trigger === 'string' ? this.options.trigger.split(' ') : [];\n this._isDisposed = false;\n this._enableDocumentTouch = events.indexOf('manual') === -1;\n events = events.filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }); // set event listeners\n\n this._setEventListeners(this.reference, events, this.options); // title attribute\n\n\n this.$_originalTitle = this.reference.getAttribute('title');\n this.reference.removeAttribute('title');\n this.reference.setAttribute('data-original-title', this.$_originalTitle);\n }\n /**\n * Creates a new tooltip node\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} reference\n * @param {String} template\n * @param {String|HTMLElement|TitleFunction} title\n * @param {Boolean} allowHtml\n * @return {HTMLelement} tooltipNode\n */\n\n }, {\n key: \"_create\",\n value: function _create(reference, template) {\n var _this2 = this;\n\n // create tooltip element\n var tooltipGenerator = window.document.createElement('div');\n tooltipGenerator.innerHTML = template.trim();\n var tooltipNode = tooltipGenerator.childNodes[0]; // add unique ID to our tooltip (needed for accessibility reasons)\n\n tooltipNode.id = this.options.ariaId || \"tooltip_\".concat(Math.random().toString(36).substr(2, 10)); // Initially hide the tooltip\n // The attribute will be switched in a next frame so\n // CSS transitions can play\n\n tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.options.autoHide && this.options.trigger.indexOf('hover') !== -1) {\n tooltipNode.addEventListener('mouseenter', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n tooltipNode.addEventListener('click', function (evt) {\n return _this2._scheduleHide(reference, _this2.options.delay, _this2.options, evt);\n });\n } // return the generated tooltip node\n\n\n return tooltipNode;\n }\n }, {\n key: \"_setContent\",\n value: function _setContent(content, options) {\n var _this3 = this;\n\n this.asyncContent = false;\n\n this._applyContent(content, options).then(function () {\n if (!_this3.popperInstance) return;\n\n _this3.popperInstance.update();\n });\n }\n }, {\n key: \"_applyContent\",\n value: function _applyContent(title, options) {\n var _this4 = this;\n\n return new Promise(function (resolve, reject) {\n var allowHtml = options.html;\n var rootNode = _this4._tooltipNode;\n if (!rootNode) return;\n var titleNode = rootNode.querySelector(_this4.options.innerSelector);\n\n if (title.nodeType === 1) {\n // if title is a node, append it only if allowHtml is true\n if (allowHtml) {\n while (titleNode.firstChild) {\n titleNode.removeChild(titleNode.firstChild);\n }\n\n titleNode.appendChild(title);\n }\n } else if (typeof title === 'function') {\n // if title is a function, call it and set innerText or innerHtml depending by `allowHtml` value\n var result = title();\n\n if (result && typeof result.then === 'function') {\n _this4.asyncContent = true;\n options.loadingClass && addClasses(rootNode, options.loadingClass);\n\n if (options.loadingContent) {\n _this4._applyContent(options.loadingContent, options);\n }\n\n result.then(function (asyncResult) {\n options.loadingClass && removeClasses(rootNode, options.loadingClass);\n return _this4._applyContent(asyncResult, options);\n }).then(resolve).catch(reject);\n } else {\n _this4._applyContent(result, options).then(resolve).catch(reject);\n }\n\n return;\n } else {\n // if it's just a simple text, set innerText or innerHtml depending by `allowHtml` value\n allowHtml ? titleNode.innerHTML = title : titleNode.innerText = title;\n }\n\n resolve();\n });\n }\n }, {\n key: \"_show\",\n value: function _show(reference, options) {\n if (options && typeof options.container === 'string') {\n var container = document.querySelector(options.container);\n if (!container) return;\n }\n\n clearTimeout(this._disposeTimer);\n options = Object.assign({}, options);\n delete options.offset;\n var updateClasses = true;\n\n if (this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n updateClasses = false;\n }\n\n var result = this._ensureShown(reference, options);\n\n if (updateClasses && this._tooltipNode) {\n addClasses(this._tooltipNode, this._classes);\n }\n\n addClasses(reference, ['v-tooltip-open']);\n return result;\n }\n }, {\n key: \"_ensureShown\",\n value: function _ensureShown(reference, options) {\n var _this5 = this;\n\n // don't show if it's already visible\n if (this._isOpen) {\n return this;\n }\n\n this._isOpen = true;\n openTooltips.push(this); // if the tooltipNode already exists, just show it\n\n if (this._tooltipNode) {\n this._tooltipNode.style.display = '';\n\n this._tooltipNode.setAttribute('aria-hidden', 'false');\n\n this.popperInstance.enableEventListeners();\n this.popperInstance.update();\n\n if (this.asyncContent) {\n this._setContent(options.title, options);\n }\n\n return this;\n } // get title\n\n\n var title = reference.getAttribute('title') || options.title; // don't show tooltip if no title is defined\n\n if (!title) {\n return this;\n } // create tooltip node\n\n\n var tooltipNode = this._create(reference, options.template);\n\n this._tooltipNode = tooltipNode; // Add `aria-describedby` to our reference element for accessibility reasons\n\n reference.setAttribute('aria-describedby', tooltipNode.id); // append tooltip to container\n\n var container = this._findContainer(options.container, reference);\n\n this._append(tooltipNode, container);\n\n var popperOptions = _objectSpread$2(_objectSpread$2({}, options.popperOptions), {}, {\n placement: options.placement\n });\n\n popperOptions.modifiers = _objectSpread$2(_objectSpread$2({}, popperOptions.modifiers), {}, {\n arrow: {\n element: this.options.arrowSelector\n }\n });\n\n if (options.boundariesElement) {\n popperOptions.modifiers.preventOverflow = {\n boundariesElement: options.boundariesElement\n };\n }\n\n this.popperInstance = new Popper(reference, tooltipNode, popperOptions);\n\n this._setContent(title, options); // Fix position\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed && _this5.popperInstance) {\n _this5.popperInstance.update(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (!_this5._isDisposed) {\n _this5._isOpen && tooltipNode.setAttribute('aria-hidden', 'false');\n } else {\n _this5.dispose();\n }\n });\n } else {\n _this5.dispose();\n }\n });\n return this;\n }\n }, {\n key: \"_noLongerOpen\",\n value: function _noLongerOpen() {\n var index = openTooltips.indexOf(this);\n\n if (index !== -1) {\n openTooltips.splice(index, 1);\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide()\n /* reference, options */\n {\n var _this6 = this;\n\n // don't hide if it's already hidden\n if (!this._isOpen) {\n return this;\n }\n\n this._isOpen = false;\n\n this._noLongerOpen(); // hide tooltipNode\n\n\n this._tooltipNode.style.display = 'none';\n\n this._tooltipNode.setAttribute('aria-hidden', 'true');\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this._disposeTimer);\n var disposeTime = directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this._disposeTimer = setTimeout(function () {\n if (_this6._tooltipNode) {\n _this6._tooltipNode.removeEventListener('mouseenter', _this6.hide);\n\n _this6._tooltipNode.removeEventListener('click', _this6.hide); // Don't remove popper instance, just the HTML element\n\n\n _this6._removeTooltipNode();\n }\n }, disposeTime);\n }\n\n removeClasses(this.reference, ['v-tooltip-open']);\n return this;\n }\n }, {\n key: \"_removeTooltipNode\",\n value: function _removeTooltipNode() {\n if (!this._tooltipNode) return;\n var parentNode = this._tooltipNode.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._tooltipNode);\n this.reference.removeAttribute('aria-describedby');\n }\n\n this._tooltipNode = null;\n }\n }, {\n key: \"_dispose\",\n value: function _dispose() {\n var _this7 = this;\n\n this._isDisposed = true;\n this.reference.removeAttribute('data-original-title');\n\n if (this.$_originalTitle) {\n this.reference.setAttribute('title', this.$_originalTitle);\n } // remove event listeners first to prevent any unexpected behaviour\n\n\n this._events.forEach(function (_ref) {\n var func = _ref.func,\n event = _ref.event;\n\n _this7.reference.removeEventListener(event, func);\n });\n\n this._events = [];\n\n if (this._tooltipNode) {\n this._hide();\n\n this._tooltipNode.removeEventListener('mouseenter', this.hide);\n\n this._tooltipNode.removeEventListener('click', this.hide); // destroy instance\n\n\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n this._removeTooltipNode();\n }\n } else {\n this._noLongerOpen();\n }\n\n return this;\n }\n }, {\n key: \"_findContainer\",\n value: function _findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n }\n /**\n * Append tooltip to container\n * @memberof Tooltip\n * @private\n * @param {HTMLElement} tooltip\n * @param {HTMLElement|String|false} container\n */\n\n }, {\n key: \"_append\",\n value: function _append(tooltipNode, container) {\n container.appendChild(tooltipNode);\n }\n }, {\n key: \"_setEventListeners\",\n value: function _setEventListeners(reference, events, options) {\n var _this8 = this;\n\n var directEvents = [];\n var oppositeEvents = [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n if (_this8.options.hideOnTargetClick) oppositeEvents.push('click');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(evt) {\n if (_this8._isOpen === true) {\n return;\n }\n\n evt.usedByTooltip = true;\n\n _this8._scheduleShow(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(evt) {\n if (evt.usedByTooltip === true) {\n return;\n }\n\n _this8._scheduleHide(reference, options.delay, options, evt);\n };\n\n _this8._events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n }\n }, {\n key: \"_onDocumentTouch\",\n value: function _onDocumentTouch(event) {\n if (this._enableDocumentTouch) {\n this._scheduleHide(this.reference, this.options.delay, this.options, event);\n }\n }\n }, {\n key: \"_scheduleShow\",\n value: function _scheduleShow(reference, delay, options\n /*, evt */\n ) {\n var _this9 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.show || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n return _this9._show(reference, options);\n }, computedDelay);\n }\n }, {\n key: \"_scheduleHide\",\n value: function _scheduleHide(reference, delay, options, evt) {\n var _this10 = this;\n\n // defaults to 0\n var computedDelay = delay && delay.hide || delay || 0;\n clearTimeout(this._scheduleTimer);\n this._scheduleTimer = window.setTimeout(function () {\n if (_this10._isOpen === false) {\n return;\n }\n\n if (!_this10._tooltipNode.ownerDocument.body.contains(_this10._tooltipNode)) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (evt.type === 'mouseleave') {\n var isSet = _this10._setTooltipNodeEvent(evt, reference, delay, options); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this10._hide(reference, options);\n }, computedDelay);\n }\n }]);\n\n return Tooltip;\n}(); // Hide tooltips on touch devices\n\nif (typeof document !== 'undefined') {\n document.addEventListener('touchstart', function (event) {\n for (var i = 0; i < openTooltips.length; i++) {\n openTooltips[i]._onDocumentTouch(event);\n }\n }, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n}\n/**\n * Placement function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback PlacementFunction\n * @param {HTMLElement} tooltip - tooltip DOM node.\n * @param {HTMLElement} reference - reference DOM node.\n * @return {String} placement - One of the allowed placement options.\n */\n\n/**\n * Title function, its context is the Tooltip instance.\n * @memberof Tooltip\n * @callback TitleFunction\n * @return {String} placement - The desired title.\n */\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar state = {\n enabled: true\n};\nvar positions = ['top', 'top-start', 'top-end', 'right', 'right-start', 'right-end', 'bottom', 'bottom-start', 'bottom-end', 'left', 'left-start', 'left-end'];\nvar defaultOptions = {\n // Default tooltip placement relative to target element\n defaultPlacement: 'top',\n // Default CSS classes applied to the tooltip element\n defaultClass: 'vue-tooltip-theme',\n // Default CSS classes applied to the target element of the tooltip\n defaultTargetClass: 'has-tooltip',\n // Is the content HTML by default?\n defaultHtml: true,\n // Default HTML template of the tooltip element\n // It must include `tooltip-arrow` & `tooltip-inner` CSS classes (can be configured, see below)\n // Change if the classes conflict with other libraries (for example bootstrap)\n defaultTemplate: '
',\n // Selector used to get the arrow element in the tooltip template\n defaultArrowSelector: '.tooltip-arrow, .tooltip__arrow',\n // Selector used to get the inner content element in the tooltip template\n defaultInnerSelector: '.tooltip-inner, .tooltip__inner',\n // Delay (ms)\n defaultDelay: 0,\n // Default events that trigger the tooltip\n defaultTrigger: 'hover focus',\n // Default position offset (px)\n defaultOffset: 0,\n // Default container where the tooltip will be appended\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Class added when content is loading\n defaultLoadingClass: 'tooltip-loading',\n // Displayed when tooltip content is loading\n defaultLoadingContent: '...',\n // Hide on mouseover tooltip\n autoHide: true,\n // Close tooltip on click on tooltip target?\n defaultHideOnTargetClick: true,\n // Auto destroy tooltip DOM nodes (ms)\n disposeTimeout: 5000,\n // Options for popover\n popover: {\n defaultPlacement: 'bottom',\n // Use the `popoverClass` prop for theming\n defaultClass: 'vue-popover-theme',\n // Base class (change if conflicts with other libraries)\n defaultBaseClass: 'tooltip popover',\n // Wrapper class (contains arrow and inner)\n defaultWrapperClass: 'wrapper',\n // Inner content class\n defaultInnerClass: 'tooltip-inner popover-inner',\n // Arrow class\n defaultArrowClass: 'tooltip-arrow popover-arrow',\n // Class added when popover is open\n defaultOpenClass: 'open',\n defaultDelay: 0,\n defaultTrigger: 'click',\n defaultOffset: 0,\n defaultContainer: 'body',\n defaultBoundariesElement: undefined,\n defaultPopperOptions: {},\n // Hides if clicked outside of popover\n defaultAutoHide: true,\n // Update popper on content resize\n defaultHandleResize: true\n }\n};\nfunction getOptions(options) {\n var result = {\n placement: typeof options.placement !== 'undefined' ? options.placement : directive.options.defaultPlacement,\n delay: typeof options.delay !== 'undefined' ? options.delay : directive.options.defaultDelay,\n html: typeof options.html !== 'undefined' ? options.html : directive.options.defaultHtml,\n template: typeof options.template !== 'undefined' ? options.template : directive.options.defaultTemplate,\n arrowSelector: typeof options.arrowSelector !== 'undefined' ? options.arrowSelector : directive.options.defaultArrowSelector,\n innerSelector: typeof options.innerSelector !== 'undefined' ? options.innerSelector : directive.options.defaultInnerSelector,\n trigger: typeof options.trigger !== 'undefined' ? options.trigger : directive.options.defaultTrigger,\n offset: typeof options.offset !== 'undefined' ? options.offset : directive.options.defaultOffset,\n container: typeof options.container !== 'undefined' ? options.container : directive.options.defaultContainer,\n boundariesElement: typeof options.boundariesElement !== 'undefined' ? options.boundariesElement : directive.options.defaultBoundariesElement,\n autoHide: typeof options.autoHide !== 'undefined' ? options.autoHide : directive.options.autoHide,\n hideOnTargetClick: typeof options.hideOnTargetClick !== 'undefined' ? options.hideOnTargetClick : directive.options.defaultHideOnTargetClick,\n loadingClass: typeof options.loadingClass !== 'undefined' ? options.loadingClass : directive.options.defaultLoadingClass,\n loadingContent: typeof options.loadingContent !== 'undefined' ? options.loadingContent : directive.options.defaultLoadingContent,\n popperOptions: _objectSpread$1({}, typeof options.popperOptions !== 'undefined' ? options.popperOptions : directive.options.defaultPopperOptions)\n };\n\n if (result.offset) {\n var typeofOffset = _typeof(result.offset);\n\n var offset = result.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n if (!result.popperOptions.modifiers) {\n result.popperOptions.modifiers = {};\n }\n\n result.popperOptions.modifiers.offset = {\n offset: offset\n };\n }\n\n if (result.trigger && result.trigger.indexOf('click') !== -1) {\n result.hideOnTargetClick = false;\n }\n\n return result;\n}\nfunction getPlacement(value, modifiers) {\n var placement = value.placement;\n\n for (var i = 0; i < positions.length; i++) {\n var pos = positions[i];\n\n if (modifiers[pos]) {\n placement = pos;\n }\n }\n\n return placement;\n}\nfunction getContent(value) {\n var type = _typeof(value);\n\n if (type === 'string') {\n return value;\n } else if (value && type === 'object') {\n return value.content;\n } else {\n return false;\n }\n}\nfunction createTooltip(el, value) {\n var modifiers = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var content = getContent(value);\n var classes = typeof value.classes !== 'undefined' ? value.classes : directive.options.defaultClass;\n\n var opts = _objectSpread$1({\n title: content\n }, getOptions(_objectSpread$1(_objectSpread$1({}, _typeof(value) === 'object' ? value : {}), {}, {\n placement: getPlacement(value, modifiers)\n })));\n\n var tooltip = el._tooltip = new Tooltip(el, opts);\n tooltip.setClasses(classes);\n tooltip._vueEl = el; // Class on target\n\n var targetClasses = typeof value.targetClasses !== 'undefined' ? value.targetClasses : directive.options.defaultTargetClass;\n el._tooltipTargetClasses = targetClasses;\n addClasses(el, targetClasses);\n return tooltip;\n}\nfunction destroyTooltip(el) {\n if (el._tooltip) {\n el._tooltip.dispose();\n\n delete el._tooltip;\n delete el._tooltipOldShow;\n }\n\n if (el._tooltipTargetClasses) {\n removeClasses(el, el._tooltipTargetClasses);\n delete el._tooltipTargetClasses;\n }\n}\nfunction bind(el, _ref) {\n var value = _ref.value;\n _ref.oldValue;\n var modifiers = _ref.modifiers;\n var content = getContent(value);\n\n if (!content || !state.enabled) {\n destroyTooltip(el);\n } else {\n var tooltip;\n\n if (el._tooltip) {\n tooltip = el._tooltip; // Content\n\n tooltip.setContent(content); // Options\n\n tooltip.setOptions(_objectSpread$1(_objectSpread$1({}, value), {}, {\n placement: getPlacement(value, modifiers)\n }));\n } else {\n tooltip = createTooltip(el, value, modifiers);\n } // Manual show\n\n\n if (typeof value.show !== 'undefined' && value.show !== el._tooltipOldShow) {\n el._tooltipOldShow = value.show;\n value.show ? tooltip.show() : tooltip.hide();\n }\n }\n}\nvar directive = {\n options: defaultOptions,\n bind: bind,\n update: bind,\n unbind: function unbind(el) {\n destroyTooltip(el);\n }\n};\n\nfunction addListeners(el) {\n el.addEventListener('click', onClick);\n el.addEventListener('touchstart', onTouchStart, supportsPassive ? {\n passive: true\n } : false);\n}\n\nfunction removeListeners(el) {\n el.removeEventListener('click', onClick);\n el.removeEventListener('touchstart', onTouchStart);\n el.removeEventListener('touchend', onTouchEnd);\n el.removeEventListener('touchcancel', onTouchCancel);\n}\n\nfunction onClick(event) {\n var el = event.currentTarget;\n event.closePopover = !el.$_vclosepopover_touch;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n}\n\nfunction onTouchStart(event) {\n if (event.changedTouches.length === 1) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = true;\n var touch = event.changedTouches[0];\n el.$_vclosepopover_touchPoint = touch;\n el.addEventListener('touchend', onTouchEnd);\n el.addEventListener('touchcancel', onTouchCancel);\n }\n}\n\nfunction onTouchEnd(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n\n if (event.changedTouches.length === 1) {\n var touch = event.changedTouches[0];\n var firstTouch = el.$_vclosepopover_touchPoint;\n event.closePopover = Math.abs(touch.screenY - firstTouch.screenY) < 20 && Math.abs(touch.screenX - firstTouch.screenX) < 20;\n event.closeAllPopover = el.$_closePopoverModifiers && !!el.$_closePopoverModifiers.all;\n }\n}\n\nfunction onTouchCancel(event) {\n var el = event.currentTarget;\n el.$_vclosepopover_touch = false;\n}\n\nvar vclosepopover = {\n bind: function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n }\n },\n update: function update(el, _ref2) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n el.$_closePopoverModifiers = modifiers;\n\n if (value !== oldValue) {\n if (typeof value === 'undefined' || value) {\n addListeners(el);\n } else {\n removeListeners(el);\n }\n }\n },\n unbind: function unbind(el) {\n removeListeners(el);\n }\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction getDefault(key) {\n var value = directive.options.popover[key];\n\n if (typeof value === 'undefined') {\n return directive.options[key];\n }\n\n return value;\n}\n\nvar isIOS = false;\n\nif (typeof window !== 'undefined' && typeof navigator !== 'undefined') {\n isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n}\n\nvar openPopovers = [];\n\nvar Element = function Element() {};\n\nif (typeof window !== 'undefined') {\n Element = window.Element;\n}\n\nvar script = {\n name: 'VPopover',\n components: {\n ResizeObserver: ResizeObserver\n },\n props: {\n open: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n placement: {\n type: String,\n default: function _default() {\n return getDefault('defaultPlacement');\n }\n },\n delay: {\n type: [String, Number, Object],\n default: function _default() {\n return getDefault('defaultDelay');\n }\n },\n offset: {\n type: [String, Number],\n default: function _default() {\n return getDefault('defaultOffset');\n }\n },\n trigger: {\n type: String,\n default: function _default() {\n return getDefault('defaultTrigger');\n }\n },\n container: {\n type: [String, Object, Element, Boolean],\n default: function _default() {\n return getDefault('defaultContainer');\n }\n },\n boundariesElement: {\n type: [String, Element],\n default: function _default() {\n return getDefault('defaultBoundariesElement');\n }\n },\n popperOptions: {\n type: Object,\n default: function _default() {\n return getDefault('defaultPopperOptions');\n }\n },\n popoverClass: {\n type: [String, Array],\n default: function _default() {\n return getDefault('defaultClass');\n }\n },\n popoverBaseClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultBaseClass;\n }\n },\n popoverInnerClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultInnerClass;\n }\n },\n popoverWrapperClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultWrapperClass;\n }\n },\n popoverArrowClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultArrowClass;\n }\n },\n autoHide: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultAutoHide;\n }\n },\n handleResize: {\n type: Boolean,\n default: function _default() {\n return directive.options.popover.defaultHandleResize;\n }\n },\n openGroup: {\n type: String,\n default: null\n },\n openClass: {\n type: [String, Array],\n default: function _default() {\n return directive.options.popover.defaultOpenClass;\n }\n },\n ariaId: {\n default: null\n }\n },\n data: function data() {\n return {\n isOpen: false,\n id: Math.random().toString(36).substr(2, 10)\n };\n },\n computed: {\n cssClass: function cssClass() {\n return _defineProperty({}, this.openClass, this.isOpen);\n },\n popoverId: function popoverId() {\n return \"popover_\".concat(this.ariaId != null ? this.ariaId : this.id);\n }\n },\n watch: {\n open: function open(val) {\n if (val) {\n this.show();\n } else {\n this.hide();\n }\n },\n disabled: function disabled(val, oldVal) {\n if (val !== oldVal) {\n if (val) {\n this.hide();\n } else if (this.open) {\n this.show();\n }\n }\n },\n container: function container(val) {\n if (this.isOpen && this.popperInstance) {\n var popoverNode = this.$refs.popover;\n var reference = this.$refs.trigger;\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.popperInstance.scheduleUpdate();\n }\n },\n trigger: function trigger(val) {\n this.$_removeEventListeners();\n this.$_addEventListeners();\n },\n placement: function placement(val) {\n var _this = this;\n\n this.$_updatePopper(function () {\n _this.popperInstance.options.placement = val;\n });\n },\n offset: '$_restartPopper',\n boundariesElement: '$_restartPopper',\n popperOptions: {\n handler: '$_restartPopper',\n deep: true\n }\n },\n created: function created() {\n this.$_isDisposed = false;\n this.$_mounted = false;\n this.$_events = [];\n this.$_preventOpen = false;\n },\n mounted: function mounted() {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n this.$_init();\n\n if (this.open) {\n this.show();\n }\n },\n deactivated: function deactivated() {\n this.hide();\n },\n beforeDestroy: function beforeDestroy() {\n this.dispose();\n },\n methods: {\n show: function show() {\n var _this2 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref2.event;\n _ref2.skipDelay;\n var _ref2$force = _ref2.force,\n force = _ref2$force === void 0 ? false : _ref2$force;\n\n if (force || !this.disabled) {\n this.$_scheduleShow(event);\n this.$emit('show');\n }\n\n this.$emit('update:open', true);\n this.$_beingShowed = true;\n requestAnimationFrame(function () {\n _this2.$_beingShowed = false;\n });\n },\n hide: function hide() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n event = _ref3.event;\n _ref3.skipDelay;\n\n this.$_scheduleHide(event);\n this.$emit('hide');\n this.$emit('update:open', false);\n },\n dispose: function dispose() {\n this.$_isDisposed = true;\n this.$_removeEventListeners();\n this.hide({\n skipDelay: true\n });\n\n if (this.popperInstance) {\n this.popperInstance.destroy(); // destroy tooltipNode if removeOnDestroy is not set, as popperInstance.destroy() already removes the element\n\n if (!this.popperInstance.options.removeOnDestroy) {\n var popoverNode = this.$refs.popover;\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n }\n }\n\n this.$_mounted = false;\n this.popperInstance = null;\n this.isOpen = false;\n this.$emit('dispose');\n },\n $_init: function $_init() {\n if (this.trigger.indexOf('manual') === -1) {\n this.$_addEventListeners();\n }\n },\n $_show: function $_show() {\n var _this3 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n clearTimeout(this.$_disposeTimer); // Already open\n\n if (this.isOpen) {\n return;\n } // Popper is already initialized\n\n\n if (this.popperInstance) {\n this.isOpen = true;\n this.popperInstance.enableEventListeners();\n this.popperInstance.scheduleUpdate();\n }\n\n if (!this.$_mounted) {\n var container = this.$_findContainer(this.container, reference);\n\n if (!container) {\n console.warn('No container for popover', this);\n return;\n }\n\n container.appendChild(popoverNode);\n this.$_mounted = true;\n this.isOpen = false;\n\n if (this.popperInstance) {\n requestAnimationFrame(function () {\n if (!_this3.hidden) {\n _this3.isOpen = true;\n }\n });\n }\n }\n\n if (!this.popperInstance) {\n var popperOptions = _objectSpread(_objectSpread({}, this.popperOptions), {}, {\n placement: this.placement\n });\n\n popperOptions.modifiers = _objectSpread(_objectSpread({}, popperOptions.modifiers), {}, {\n arrow: _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.arrow), {}, {\n element: this.$refs.arrow\n })\n });\n\n if (this.offset) {\n var offset = this.$_getOffset();\n popperOptions.modifiers.offset = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.offset), {}, {\n offset: offset\n });\n }\n\n if (this.boundariesElement) {\n popperOptions.modifiers.preventOverflow = _objectSpread(_objectSpread({}, popperOptions.modifiers && popperOptions.modifiers.preventOverflow), {}, {\n boundariesElement: this.boundariesElement\n });\n }\n\n this.popperInstance = new Popper(reference, popoverNode, popperOptions); // Fix position\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed && _this3.popperInstance) {\n _this3.popperInstance.scheduleUpdate(); // Show the tooltip\n\n\n requestAnimationFrame(function () {\n if (_this3.hidden) {\n _this3.hidden = false;\n\n _this3.$_hide();\n\n return;\n }\n\n if (!_this3.$_isDisposed) {\n _this3.isOpen = true;\n } else {\n _this3.dispose();\n }\n });\n } else {\n _this3.dispose();\n }\n });\n }\n\n var openGroup = this.openGroup;\n\n if (openGroup) {\n var popover;\n\n for (var i = 0; i < openPopovers.length; i++) {\n popover = openPopovers[i];\n\n if (popover.openGroup !== openGroup) {\n popover.hide();\n popover.$emit('close-group');\n }\n }\n }\n\n openPopovers.push(this);\n this.$emit('apply-show');\n },\n $_hide: function $_hide() {\n var _this4 = this;\n\n // Already hidden\n if (!this.isOpen) {\n return;\n }\n\n var index = openPopovers.indexOf(this);\n\n if (index !== -1) {\n openPopovers.splice(index, 1);\n }\n\n this.isOpen = false;\n\n if (this.popperInstance) {\n this.popperInstance.disableEventListeners();\n }\n\n clearTimeout(this.$_disposeTimer);\n var disposeTime = directive.options.popover.disposeTimeout || directive.options.disposeTimeout;\n\n if (disposeTime !== null) {\n this.$_disposeTimer = setTimeout(function () {\n var popoverNode = _this4.$refs.popover;\n\n if (popoverNode) {\n // Don't remove popper instance, just the HTML element\n popoverNode.parentNode && popoverNode.parentNode.removeChild(popoverNode);\n _this4.$_mounted = false;\n }\n }, disposeTime);\n }\n\n this.$emit('apply-hide');\n },\n $_findContainer: function $_findContainer(container, reference) {\n // if container is a query, get the relative element\n if (typeof container === 'string') {\n container = window.document.querySelector(container);\n } else if (container === false) {\n // if container is `false`, set it to reference parent\n container = reference.parentNode;\n }\n\n return container;\n },\n $_getOffset: function $_getOffset() {\n var typeofOffset = _typeof(this.offset);\n\n var offset = this.offset; // One value -> switch\n\n if (typeofOffset === 'number' || typeofOffset === 'string' && offset.indexOf(',') === -1) {\n offset = \"0, \".concat(offset);\n }\n\n return offset;\n },\n $_addEventListeners: function $_addEventListeners() {\n var _this5 = this;\n\n var reference = this.$refs.trigger;\n var directEvents = [];\n var oppositeEvents = [];\n var events = typeof this.trigger === 'string' ? this.trigger.split(' ').filter(function (trigger) {\n return ['click', 'hover', 'focus'].indexOf(trigger) !== -1;\n }) : [];\n events.forEach(function (event) {\n switch (event) {\n case 'hover':\n directEvents.push('mouseenter');\n oppositeEvents.push('mouseleave');\n break;\n\n case 'focus':\n directEvents.push('focus');\n oppositeEvents.push('blur');\n break;\n\n case 'click':\n directEvents.push('click');\n oppositeEvents.push('click');\n break;\n }\n }); // schedule show tooltip\n\n directEvents.forEach(function (event) {\n var func = function func(event) {\n if (_this5.isOpen) {\n return;\n }\n\n event.usedByTooltip = true;\n !_this5.$_preventOpen && _this5.show({\n event: event\n });\n _this5.hidden = false;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n }); // schedule hide tooltip\n\n oppositeEvents.forEach(function (event) {\n var func = function func(event) {\n if (event.usedByTooltip) {\n return;\n }\n\n _this5.hide({\n event: event\n });\n\n _this5.hidden = true;\n };\n\n _this5.$_events.push({\n event: event,\n func: func\n });\n\n reference.addEventListener(event, func);\n });\n },\n $_scheduleShow: function $_scheduleShow() {\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_show();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.show || this.delay || 0);\n this.$_scheduleTimer = setTimeout(this.$_show.bind(this), computedDelay);\n }\n },\n $_scheduleHide: function $_scheduleHide() {\n var _this6 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var skipDelay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n clearTimeout(this.$_scheduleTimer);\n\n if (skipDelay) {\n this.$_hide();\n } else {\n // defaults to 0\n var computedDelay = parseInt(this.delay && this.delay.hide || this.delay || 0);\n this.$_scheduleTimer = setTimeout(function () {\n if (!_this6.isOpen) {\n return;\n } // if we are hiding because of a mouseleave, we must check that the new\n // reference isn't the tooltip, because in this case we don't want to hide it\n\n\n if (event && event.type === 'mouseleave') {\n var isSet = _this6.$_setTooltipNodeEvent(event); // if we set the new event, don't hide the tooltip yet\n // the new event will take care to hide it if necessary\n\n\n if (isSet) {\n return;\n }\n }\n\n _this6.$_hide();\n }, computedDelay);\n }\n },\n $_setTooltipNodeEvent: function $_setTooltipNodeEvent(event) {\n var _this7 = this;\n\n var reference = this.$refs.trigger;\n var popoverNode = this.$refs.popover;\n var relatedreference = event.relatedreference || event.toElement || event.relatedTarget;\n\n var callback = function callback(event2) {\n var relatedreference2 = event2.relatedreference || event2.toElement || event2.relatedTarget; // Remove event listener after call\n\n popoverNode.removeEventListener(event.type, callback); // If the new reference is not the reference element\n\n if (!reference.contains(relatedreference2)) {\n // Schedule to hide tooltip\n _this7.hide({\n event: event2\n });\n }\n };\n\n if (popoverNode.contains(relatedreference)) {\n // listen to mouseleave on the tooltip element to be able to hide the tooltip\n popoverNode.addEventListener(event.type, callback);\n return true;\n }\n\n return false;\n },\n $_removeEventListeners: function $_removeEventListeners() {\n var reference = this.$refs.trigger;\n this.$_events.forEach(function (_ref4) {\n var func = _ref4.func,\n event = _ref4.event;\n reference.removeEventListener(event, func);\n });\n this.$_events = [];\n },\n $_updatePopper: function $_updatePopper(cb) {\n if (this.popperInstance) {\n cb();\n if (this.isOpen) this.popperInstance.scheduleUpdate();\n }\n },\n $_restartPopper: function $_restartPopper() {\n if (this.popperInstance) {\n var isOpen = this.isOpen;\n this.dispose();\n this.$_isDisposed = false;\n this.$_init();\n\n if (isOpen) {\n this.show({\n skipDelay: true,\n force: true\n });\n }\n }\n },\n $_handleGlobalClose: function $_handleGlobalClose(event) {\n var _this8 = this;\n\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (this.$_beingShowed) return;\n this.hide({\n event: event\n });\n\n if (event.closePopover) {\n this.$emit('close-directive');\n } else {\n this.$emit('auto-hide');\n }\n\n if (touch) {\n this.$_preventOpen = true;\n setTimeout(function () {\n _this8.$_preventOpen = false;\n }, 300);\n }\n },\n $_handleResize: function $_handleResize() {\n if (this.isOpen && this.popperInstance) {\n this.popperInstance.scheduleUpdate();\n this.$emit('resize');\n }\n }\n }\n};\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (isIOS) {\n document.addEventListener('touchend', handleGlobalTouchend, supportsPassive ? {\n passive: true,\n capture: true\n } : true);\n } else {\n window.addEventListener('click', handleGlobalClick, true);\n }\n}\n\nfunction handleGlobalClick(event) {\n handleGlobalClose(event);\n}\n\nfunction handleGlobalTouchend(event) {\n handleGlobalClose(event, true);\n}\n\nfunction handleGlobalClose(event) {\n var touch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _loop = function _loop(i) {\n var popover = openPopovers[i];\n\n if (popover.$refs.popover) {\n var contains = popover.$refs.popover.contains(event.target);\n requestAnimationFrame(function () {\n if (event.closeAllPopover || event.closePopover && contains || popover.autoHide && !contains) {\n popover.$_handleGlobalClose(event, touch);\n }\n });\n }\n };\n\n // Delay so that close directive has time to set values\n for (var i = 0; i < openPopovers.length; i++) {\n _loop(i);\n }\n}\n\nfunction normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier /* server only */, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) {\r\n if (typeof shadowMode !== 'boolean') {\r\n createInjectorSSR = createInjector;\r\n createInjector = shadowMode;\r\n shadowMode = false;\r\n }\r\n // Vue.extend constructor export interop.\r\n const options = typeof script === 'function' ? script.options : script;\r\n // render functions\r\n if (template && template.render) {\r\n options.render = template.render;\r\n options.staticRenderFns = template.staticRenderFns;\r\n options._compiled = true;\r\n // functional template\r\n if (isFunctionalTemplate) {\r\n options.functional = true;\r\n }\r\n }\r\n // scopedId\r\n if (scopeId) {\r\n options._scopeId = scopeId;\r\n }\r\n let hook;\r\n if (moduleIdentifier) {\r\n // server build\r\n hook = function (context) {\r\n // 2.3 injection\r\n context =\r\n context || // cached call\r\n (this.$vnode && this.$vnode.ssrContext) || // stateful\r\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext); // functional\r\n // 2.2 with runInNewContext: true\r\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\r\n context = __VUE_SSR_CONTEXT__;\r\n }\r\n // inject component styles\r\n if (style) {\r\n style.call(this, createInjectorSSR(context));\r\n }\r\n // register component module identifier for async chunk inference\r\n if (context && context._registeredComponents) {\r\n context._registeredComponents.add(moduleIdentifier);\r\n }\r\n };\r\n // used by ssr in case component is cached and beforeCreate\r\n // never gets called\r\n options._ssrRegister = hook;\r\n }\r\n else if (style) {\r\n hook = shadowMode\r\n ? function (context) {\r\n style.call(this, createInjectorShadow(context, this.$root.$options.shadowRoot));\r\n }\r\n : function (context) {\r\n style.call(this, createInjector(context));\r\n };\r\n }\r\n if (hook) {\r\n if (options.functional) {\r\n // register for functional component in vue file\r\n const originalRender = options.render;\r\n options.render = function renderWithStyleInjection(h, context) {\r\n hook.call(context);\r\n return originalRender(h, context);\r\n };\r\n }\r\n else {\r\n // inject component registration as beforeCreate hook\r\n const existing = options.beforeCreate;\r\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook];\r\n }\r\n }\r\n return script;\r\n}\n\n/* script */\nvar __vue_script__ = script;\n/* template */\n\nvar __vue_render__ = function __vue_render__() {\n var _vm = this;\n\n var _h = _vm.$createElement;\n\n var _c = _vm._self._c || _h;\n\n return _c(\"div\", {\n staticClass: \"v-popover\",\n class: _vm.cssClass\n }, [_c(\"div\", {\n ref: \"trigger\",\n staticClass: \"trigger\",\n staticStyle: {\n display: \"inline-block\"\n },\n attrs: {\n \"aria-describedby\": _vm.isOpen ? _vm.popoverId : undefined,\n tabindex: _vm.trigger.indexOf(\"focus\") !== -1 ? 0 : undefined\n }\n }, [_vm._t(\"default\")], 2), _vm._v(\" \"), _c(\"div\", {\n ref: \"popover\",\n class: [_vm.popoverBaseClass, _vm.popoverClass, _vm.cssClass],\n style: {\n visibility: _vm.isOpen ? \"visible\" : \"hidden\"\n },\n attrs: {\n id: _vm.popoverId,\n \"aria-hidden\": _vm.isOpen ? \"false\" : \"true\",\n tabindex: _vm.autoHide ? 0 : undefined\n },\n on: {\n keyup: function keyup($event) {\n if (!$event.type.indexOf(\"key\") && _vm._k($event.keyCode, \"esc\", 27, $event.key, [\"Esc\", \"Escape\"])) {\n return null;\n }\n\n _vm.autoHide && _vm.hide();\n }\n }\n }, [_c(\"div\", {\n class: _vm.popoverWrapperClass\n }, [_c(\"div\", {\n ref: \"inner\",\n class: _vm.popoverInnerClass,\n staticStyle: {\n position: \"relative\"\n }\n }, [_c(\"div\", [_vm._t(\"popover\", null, {\n isOpen: _vm.isOpen\n })], 2), _vm._v(\" \"), _vm.handleResize ? _c(\"ResizeObserver\", {\n on: {\n notify: _vm.$_handleResize\n }\n }) : _vm._e()], 1), _vm._v(\" \"), _c(\"div\", {\n ref: \"arrow\",\n class: _vm.popoverArrowClass\n })])])]);\n};\n\nvar __vue_staticRenderFns__ = [];\n__vue_render__._withStripped = true;\n/* style */\n\nvar __vue_inject_styles__ = undefined;\n/* scoped */\n\nvar __vue_scope_id__ = undefined;\n/* module identifier */\n\nvar __vue_module_identifier__ = undefined;\n/* functional template */\n\nvar __vue_is_functional_template__ = false;\n/* style inject */\n\n/* style inject SSR */\n\n/* style inject shadow dom */\n\nvar __vue_component__ = /*#__PURE__*/normalizeComponent({\n render: __vue_render__,\n staticRenderFns: __vue_staticRenderFns__\n}, __vue_inject_styles__, __vue_script__, __vue_scope_id__, __vue_is_functional_template__, __vue_module_identifier__, false, undefined, undefined, undefined);\n\nfunction styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar css_248z = \".resize-observer[data-v-8859cc6c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-8859cc6c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}\";\nstyleInject(css_248z);\n\nfunction install(Vue) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (install.installed) return;\n install.installed = true;\n var finalOptions = {};\n merge(finalOptions, defaultOptions, options);\n plugin.options = finalOptions;\n directive.options = finalOptions;\n Vue.directive('tooltip', directive);\n Vue.directive('close-popover', vclosepopover);\n Vue.component('VPopover', __vue_component__);\n}\nvar VTooltip = directive;\nvar VClosePopover = vclosepopover;\nvar VPopover = __vue_component__;\nvar plugin = {\n install: install,\n\n get enabled() {\n return state.enabled;\n },\n\n set enabled(value) {\n state.enabled = value;\n }\n\n}; // Auto-install\n\nvar GlobalVue = null;\n\nif (typeof window !== 'undefined') {\n GlobalVue = window.Vue;\n} else if (typeof global !== 'undefined') {\n GlobalVue = global.Vue;\n}\n\nif (GlobalVue) {\n GlobalVue.use(plugin);\n}\n\nexport default plugin;\nexport { VClosePopover, VPopover, VTooltip, createTooltip, destroyTooltip, install };\n","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nexport { _classCallCheck as default };","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { getLoggerBuilder } from '@nextcloud/logger';\nexport default getLoggerBuilder()\n .setApp('settings')\n .detectUser()\n .build();\n","import axios from '@nextcloud/axios';\n/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { showError } from '@nextcloud/dialogs';\nimport { loadState } from '@nextcloud/initial-state';\nimport { translate as t } from '@nextcloud/l10n';\nimport { addPasswordConfirmationInterceptors, confirmPassword, PwdConfirmationMode } from '@nextcloud/password-confirmation';\nimport { generateUrl } from '@nextcloud/router';\nimport { defineStore } from 'pinia';\nimport logger from '../logger.ts';\nconst BASE_URL = generateUrl('/settings/personal/authtokens');\naddPasswordConfirmationInterceptors(axios);\nexport var TokenType;\n(function (TokenType) {\n TokenType[TokenType[\"TEMPORARY_TOKEN\"] = 0] = \"TEMPORARY_TOKEN\";\n TokenType[TokenType[\"PERMANENT_TOKEN\"] = 1] = \"PERMANENT_TOKEN\";\n TokenType[TokenType[\"WIPING_TOKEN\"] = 2] = \"WIPING_TOKEN\";\n TokenType[TokenType[\"ONETIME_TOKEN\"] = 3] = \"ONETIME_TOKEN\";\n})(TokenType || (TokenType = {}));\nexport const useAuthTokenStore = defineStore('auth-token', {\n state() {\n return {\n tokens: loadState('settings', 'app_tokens', []),\n };\n },\n actions: {\n /**\n * Update a token on server\n *\n * @param token Token to update\n */\n async updateToken(token) {\n const { data } = await axios.put(`${BASE_URL}/${token.id}`, token, { confirmPassword: PwdConfirmationMode.Strict });\n return data;\n },\n /**\n * Add a new token\n *\n * @param name The token name\n */\n async addToken(name) {\n logger.debug('Creating a new app token');\n // Let the failure reach the caller: AuthTokenSetup is the one that\n // reports it, the same way updateToken leaves reporting to its callers.\n const { data } = await axios.post(BASE_URL, { name, oneTime: true }, { confirmPassword: PwdConfirmationMode.Strict });\n this.tokens.push(data.deviceToken);\n logger.debug('App token created');\n return data;\n },\n /**\n * Delete a given app token\n *\n * @param token Token to delete\n */\n async deleteToken(token) {\n logger.debug('Deleting app token', { token });\n this.tokens = this.tokens.filter(({ id }) => id !== token.id);\n try {\n await axios.delete(`${BASE_URL}/${token.id}`, { confirmPassword: PwdConfirmationMode.Strict });\n logger.debug('App token deleted');\n return true;\n }\n catch (error) {\n logger.error('Could not delete app token', { error });\n showError(t('settings', 'Could not delete the app token'));\n // Restore\n this.tokens.push(token);\n }\n return false;\n },\n /**\n * Wipe a token and the connected device\n *\n * @param token Token to wipe\n */\n async wipeToken(token) {\n logger.debug('Wiping app token', { token });\n try {\n await confirmPassword();\n await axios.post(`${BASE_URL}/wipe/${token.id}`);\n logger.debug('App token marked for wipe', { token });\n token.type = TokenType.WIPING_TOKEN;\n token.canRename = false; // wipe tokens can not be renamed\n return true;\n }\n catch (error) {\n logger.error('Could not wipe app token', { error });\n showError(t('settings', 'Error while wiping the device with the token'));\n }\n return false;\n },\n /**\n * Rename an existing token\n *\n * @param token The token to rename\n * @param newName The new name to set\n */\n async renameToken(token, newName) {\n logger.debug(`renaming app token ${token.id} from ${token.name} to '${newName}'`);\n const oldName = token.name;\n token.name = newName;\n try {\n await this.updateToken(token);\n logger.debug('App token name updated');\n return true;\n }\n catch (error) {\n logger.error('Could not update app token name', { error });\n showError(t('settings', 'Error while updating device token name'));\n // Restore\n token.name = oldName;\n }\n return false;\n },\n /**\n * Set scope of the token\n *\n * @param token Token to set scope\n * @param scope scope to set\n * @param value value to set\n */\n async setTokenScope(token, scope, value) {\n logger.debug('Updating app token scope', { token, scope, value });\n const oldVal = token.scope[scope];\n token.scope[scope] = value;\n try {\n await this.updateToken(token);\n logger.debug('app token scope updated');\n return true;\n }\n catch (error) {\n logger.error('could not update app token scope', { error });\n showError(t('settings', 'Error while updating device token scope'));\n // Restore\n token.scope[scope] = oldVal;\n }\n return false;\n },\n },\n});\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c(_setup.NcDialog,{attrs:{\"open\":_vm.open,\"name\":_setup.messages.title,\"buttons\":_setup.buttons,\"size\":\"normal\"},on:{\"update:open\":function($event){return _setup.emit('update:open', $event)}}},[(_setup.wiping)?_c(_setup.NcNoteCard,{attrs:{\"heading\":_setup.t('settings', 'Remote wipe has not started yet.'),\"type\":\"error\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.t('settings', 'Revoking now cancels the wipe. The device keeps its synced data.'))+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"auth-token-delete-dialog__body\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_setup.messages.body)+\"\\n\\t\")])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../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!./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenDeleteDialog.vue?vue&type=template&id=feb1e502&scoped=true\"\nimport script from \"./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AuthTokenDeleteDialog.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AuthTokenDeleteDialog.vue?vue&type=style&index=0&id=feb1e502&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 \"feb1e502\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n// When using capture groups the following parts are extracted\n// the first is used as the version number, the second as the OS\n// Exception: single-group regexes (ie, androidChrome) use the first group as the version.\nexport const userAgentMap = {\n ie: /(?:MSIE|Trident|Trident\\/7.0; rv)[ :](\\d+)/,\n // Microsoft Edge User Agent from https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx\n edge: /^Mozilla\\/5\\.0 \\([^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/[0-9.]+ (?:Mobile Safari|Safari)\\/[0-9.]+ Edge\\/[0-9.]+$/,\n // Firefox User Agent from https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference\n firefox: /^Mozilla\\/5\\.0 \\((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\\) Gecko\\/[0-9.]+ Firefox\\/(\\d+)(?:\\.\\d)?$/,\n // Android Chrome user agent: https://developers.google.com/chrome/mobile/docs/user-agent\n androidChrome: /^Mozilla\\/5\\.0 \\(Linux; Android[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/(\\d+)[0-9.]+ (?:Mobile )?Safari\\/[0-9.]+$/,\n // Chrome User Agent from https://developer.chrome.com/multidevice/user-agent\n chrome: /^Mozilla\\/5\\.0 \\((?![^)]*Android)[^)]*(Windows|OS X|Linux)[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\) Chrome\\/(\\d+)[0-9.]+ (?:Mobile Safari|Safari)\\/[0-9.]+$/,\n // Safari User Agent from http://www.useragentstring.com/pages/Safari/\n safari: /^Mozilla\\/5\\.0 \\([^)]*(Windows|OS X)[^)]+\\) AppleWebKit\\/[0-9.]+ \\(KHTML, like Gecko\\)(?: Version\\/([0-9]+)[0-9.]+)? Safari\\/[0-9.A-Z]+$/,\n iphone: / *CPU +iPhone +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,\n ipad: /\\(iPad; *CPU +OS +([0-9]+)_(?:[0-9_])+ +like +Mac +OS +X */,\n iosClient: /^Mozilla\\/5\\.0 \\(iOS\\) (?:ownCloud|Nextcloud)-iOS.*$/,\n androidClient: /^Mozilla\\/5\\.0 \\(Android\\) (?:ownCloud|Nextcloud)-android.*$/,\n iosTalkClient: /^Mozilla\\/5\\.0 \\(iOS\\) Nextcloud-Talk.*$/,\n androidTalkClient: /^Mozilla\\/5\\.0 \\(Android\\) Nextcloud-Talk.*$/,\n // DAVx5/3.3.8-beta2-gplay (2021/01/02; dav4jvm; okhttp/4.9.0) Android/10\n davx5: /DAV(?:droid|x5)\\/([^ ]+)/,\n // Mozilla/5.0 (U; Linux; Maemo; Jolla; Sailfish; like Android 4.3) AppleWebKit/538.1 (KHTML, like Gecko) WebPirate/2.0 like Mobile Safari/538.1 (compatible)\n webPirate: /(Sailfish).*WebPirate\\/(\\d+)/,\n // Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0\n sailfishBrowser: /(Sailfish).*SailfishBrowser\\/(\\d+)/,\n // Neon 1.0.0+1\n neon: /Neon \\d+\\.\\d+\\.\\d+\\+\\d+/,\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('tr',{staticClass:\"auth-token\",class:[{ 'auth-token--wiping': _vm.wiping }],attrs:{\"data-id\":_vm.token.id}},[_c('td',{staticClass:\"auth-token__name\"},[_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.tokenIcon}}),_vm._v(\" \"),_c('div',{staticClass:\"auth-token__name-wrapper\"},[(_vm.token.canRename && _vm.renaming)?_c('form',{staticClass:\"auth-token__name-form\",on:{\"submit\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.rename.apply(null, arguments)}}},[_c('NcTextField',{ref:\"input\",attrs:{\"label\":_vm.t('settings', 'Device name'),\"show-trailing-button\":true,\"trailing-button-label\":_vm.t('settings', 'Cancel renaming')},on:{\"trailing-button-click\":_vm.cancelRename,\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.cancelRename.apply(null, arguments)}},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"aria-label\":_vm.t('settings', 'Save new name'),\"variant\":\"tertiary\",\"type\":\"submit\"},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.mdiCheck}})]},proxy:true}],null,false,1018299955)})],1):_c('span',[_vm._v(_vm._s(_vm.tokenLabel))]),_vm._v(\" \"),(_vm.wiping)?_c('span',{staticClass:\"wiping-warning\"},[_vm._v(\"(\"+_vm._s(_vm.t('settings', 'Marked for remote wipe'))+\")\")]):_vm._e()])],1),_vm._v(\" \"),_c('td',[_c('NcDateTime',{staticClass:\"auth-token__last-activity\",attrs:{\"ignore-seconds\":true,\"timestamp\":_vm.tokenLastActivity}})],1),_vm._v(\" \"),_c('td',{staticClass:\"auth-token__actions\"},[(!_vm.token.current)?_c('NcActions',{attrs:{\"title\":_vm.t('settings', 'Device settings'),\"aria-label\":_vm.t('settings', 'Device settings'),\"open\":_vm.actionOpen},on:{\"update:open\":function($event){_vm.actionOpen=$event}}},[(_vm.canChangeScope)?_c('NcActionCheckbox',{attrs:{\"model-value\":_vm.token.scope.filesystem},on:{\"update:modelValue\":_vm.updateFileSystemScope}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Allow filesystem access'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.token.canRename)?_c('NcActionButton',{attrs:{\"icon\":\"icon-rename\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.startRename.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Rename'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.token.canDelete)?[(_vm.token.type !== _vm.TokenType.WIPING_TOKEN)?[_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.revoke.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Revoke'))+\"\\n\\t\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.wipe.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Wipe device'))+\"\\n\\t\\t\\t\\t\\t\")])]:_c('NcActionButton',{attrs:{\"icon\":\"icon-delete\",\"name\":_vm.t('settings', 'Revoke')},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.revoke.apply(null, arguments)}}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Revoking this token might prevent the wiping of your device if it has not started the wipe yet.'))+\"\\n\\t\\t\\t\\t\")])]:_vm._e()],2):_vm._e()],1),_vm._v(\" \"),(_vm.deleteDialogOpen)?_c('AuthTokenDeleteDialog',{attrs:{\"token\":_vm.token,\"open\":_vm.deleteDialogOpen},on:{\"update:open\":function($event){_vm.deleteDialogOpen=$event},\"confirm\":_vm.confirmDelete}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { userAgentMap } from './userAgentMap.ts';\n/**\n * Detect the client from a user agent string.\n *\n * @param ua Raw user agent string\n * @return Detected client information or null if unknown\n */\nexport function detect(ua) {\n for (const id in userAgentMap) {\n const matches = ua.match(userAgentMap[id]);\n if (matches) {\n return {\n id,\n version: matches[2] ?? matches[1],\n os: matches[2] && matches[1],\n };\n }\n }\n return null;\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=script&lang=ts\"","\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!./AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthToken.vue?vue&type=style&index=0&id=1be2f070&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthToken.vue?vue&type=template&id=1be2f070&scoped=true\"\nimport script from \"./AuthToken.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthToken.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthToken.vue?vue&type=style&index=0&id=1be2f070&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 \"1be2f070\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('table',{staticClass:\"token-list\",attrs:{\"id\":\"app-tokens-table\"}},[_c('thead',[_c('tr',[_c('th',{staticClass:\"token-list__header-device\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Device'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('th',{staticClass:\"toke-list__header-activity\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Last activity'))+\"\\n\\t\\t\\t\")]),_vm._v(\" \"),_c('th',[_c('span',{staticClass:\"hidden-visually\"},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Actions'))+\"\\n\\t\\t\\t\\t\")])])])]),_vm._v(\" \"),_c('tbody',{staticClass:\"token-list__body\"},_vm._l((_vm.sortedTokens),function(token){return _c('AuthToken',{key:token.id,attrs:{\"token\":token}})}),1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../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!./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenList.vue?vue&type=template&id=5fe11895&scoped=true\"\nimport script from \"./AuthTokenList.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenList.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenList.vue?vue&type=style&index=0&id=5fe11895&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 \"5fe11895\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('form',{attrs:{\"id\":\"generate-app-token-section\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.submit.apply(null, arguments)}}},[_c('NcTextField',{staticClass:\"app-name-text-field\",attrs:{\"type\":\"text\",\"maxlength\":120,\"disabled\":_vm.loading,\"label\":_vm.t('settings', 'App name'),\"placeholder\":_vm.t('settings', 'App name')},model:{value:(_vm.deviceName),callback:function ($$v) {_vm.deviceName=$$v},expression:\"deviceName\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"primary\",\"disabled\":_vm.loading || _vm.deviceName.length === 0,\"type\":\"submit\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Create new app password'))+\"\\n\\t\")]),_vm._v(\" \"),_c('AuthTokenSetupDialog',{attrs:{\"token\":_vm.newToken},on:{\"close\":function($event){_vm.newToken = null}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcDialog',{attrs:{\"open\":_vm.open,\"name\":_vm.t('settings', 'New app password'),\"content-classes\":\"token-dialog\"},on:{\"update:open\":function($event){_vm.open=$event}}},[_c('p',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('settings', 'Use the credentials below to configure your app or device. For security reasons this password will only be shown once.'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__name\"},[_c('NcTextField',{attrs:{\"label\":_vm.t('settings', 'Login'),\"model-value\":_vm.loginName,\"readonly\":\"\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"title\":_vm.copyLoginNameLabel,\"aria-label\":_vm.copyLoginNameLabel},on:{\"click\":_vm.copyLoginName},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.copyNameIcon}})]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__password\"},[_c('NcTextField',{ref:\"appPassword\",attrs:{\"label\":_vm.t('settings', 'Password'),\"model-value\":_vm.appPassword,\"readonly\":\"\"}}),_vm._v(\" \"),_c('NcButton',{attrs:{\"variant\":\"tertiary\",\"title\":_vm.copyPasswordLabel,\"aria-label\":_vm.copyPasswordLabel},on:{\"click\":_vm.copyPassword},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('NcIconSvgWrapper',{attrs:{\"path\":_vm.copyPasswordIcon}})]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"token-dialog__qrcode\"},[(!_vm.showQRCode)?_c('NcButton',{on:{\"click\":function($event){_vm.showQRCode = true}}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('settings', 'Show QR code for mobile apps'))+\"\\n\\t\\t\")]):_c('QR',{attrs:{\"value\":_vm.qrUrl}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"","\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!./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenSetupDialog.vue?vue&type=template&id=1a608fc0&scoped=true\"\nimport script from \"./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSetupDialog.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenSetupDialog.vue?vue&type=style&index=0&id=1a608fc0&prod&scoped=true&lang=scss\"\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 \"1a608fc0\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=script&lang=ts\"","\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!./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&prod&lang=scss&scoped=true\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AuthTokenSetup.vue?vue&type=template&id=1966201e&scoped=true\"\nimport script from \"./AuthTokenSetup.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSetup.vue?vue&type=script&lang=ts\"\nimport style0 from \"./AuthTokenSetup.vue?vue&type=style&index=0&id=1966201e&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 \"1966201e\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSection.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??clonedRuleSet-6.use[1]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthTokenSection.vue?vue&type=script&lang=ts\"","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('NcSettingsSection',{attrs:{\"name\":_vm.t('settings', 'Devices & sessions', {}, undefined, { sanitize: false }),\"description\":_vm.t('settings', 'Web, desktop and mobile clients currently logged in to your account.')}},[_c('AuthTokenList'),_vm._v(\" \"),(_vm.canCreateToken)?_c('AuthTokenSetup'):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AuthTokenSection.vue?vue&type=template&id=6ca0c5c6\"\nimport script from \"./AuthTokenSection.vue?vue&type=script&lang=ts\"\nexport * from \"./AuthTokenSection.vue?vue&type=script&lang=ts\"\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","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport { getCSPNonce } from '@nextcloud/auth'\nimport { createPinia, PiniaVuePlugin } from 'pinia'\nimport VTooltipPlugin from 'v-tooltip'\nimport Vue from 'vue'\nimport AuthTokenSection from './components/AuthTokenSection.vue'\n\n__webpack_nonce__ = getCSPNonce()\n\nconst pinia = createPinia()\n\nVue.use(PiniaVuePlugin)\nVue.use(VTooltipPlugin, { defaultHtml: false })\nVue.prototype.t = t\n\nconst View = Vue.extend(AuthTokenSection)\nnew View({ pinia }).$mount('#security-authtokens')\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, `.auth-token[data-v-1be2f070]{border-top:2px solid var(--color-border);max-width:200px;white-space:normal;vertical-align:middle;position:relative}.auth-token--wiping[data-v-1be2f070]{background-color:var(--color-background-dark)}.auth-token__name[data-v-1be2f070]{padding-block:10px;display:flex;align-items:center;gap:6px;min-width:355px}.auth-token__name-wrapper[data-v-1be2f070]{display:flex;flex-direction:column}.auth-token__name-form[data-v-1be2f070]{align-items:end;display:flex;gap:4px}.auth-token__actions[data-v-1be2f070]{padding:0 10px}.auth-token__last-activity[data-v-1be2f070]{padding-inline-start:10px}.auth-token .wiping-warning[data-v-1be2f070]{color:var(--color-text-maxcontrast)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthToken.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,wCAAA,CACA,eAAA,CACA,kBAAA,CACA,qBAAA,CACA,iBAAA,CAEA,qCACC,6CAAA,CAGD,mCACC,kBAAA,CACA,YAAA,CACA,kBAAA,CACA,OAAA,CACA,eAAA,CAGD,2CACC,YAAA,CACA,qBAAA,CAGD,wCACC,eAAA,CACA,YAAA,CACA,OAAA,CAGD,sCACC,cAAA,CAGD,4CACC,yBAAA,CAGD,6CACC,mCAAA\",\"sourcesContent\":[\"\\n.auth-token {\\n\\tborder-top: 2px solid var(--color-border);\\n\\tmax-width: 200px;\\n\\twhite-space: normal;\\n\\tvertical-align: middle;\\n\\tposition: relative;\\n\\n\\t&--wiping {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__name {\\n\\t\\tpadding-block: 10px;\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tgap: 6px;\\n\\t\\tmin-width: 355px; // ensure no jumping when renaming\\n\\t}\\n\\n\\t&__name-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&__name-form {\\n\\t\\talign-items: end;\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 4px;\\n\\t}\\n\\n\\t&__actions {\\n\\t\\tpadding: 0 10px;\\n\\t}\\n\\n\\t&__last-activity {\\n\\t\\tpadding-inline-start: 10px;\\n\\t}\\n\\n\\t.wiping-warning {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\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, `.auth-token-delete-dialog__body[data-v-feb1e502]{margin-block-start:calc(var(--default-grid-baseline)*2)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenDeleteDialog.vue\"],\"names\":[],\"mappings\":\"AACA,iDACC,uDAAA\",\"sourcesContent\":[\"\\n.auth-token-delete-dialog__body {\\n\\tmargin-block-start: calc(var(--default-grid-baseline) * 2);\\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, `.token-list[data-v-5fe11895]{width:100%;min-height:50px;padding-top:5px;max-width:fit-content}.token-list th[data-v-5fe11895]{padding-block:10px;padding-inline-start:10px}.token-list .token-list__header-device[data-v-5fe11895]{padding-inline-start:50px}.token-list__header-activity[data-v-5fe11895]{text-align:end}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenList.vue\"],\"names\":[],\"mappings\":\"AACA,6BACC,UAAA,CACA,eAAA,CACA,eAAA,CACA,qBAAA,CAEA,gCACC,kBAAA,CACA,yBAAA,CAGD,wDACC,yBAAA,CAED,8CACC,cAAA\",\"sourcesContent\":[\"\\n.token-list {\\n\\twidth: 100%;\\n\\tmin-height: 50px;\\n\\tpadding-top: 5px;\\n\\tmax-width: fit-content;\\n\\n\\tth {\\n\\t\\tpadding-block: 10px;\\n\\t\\tpadding-inline-start: 10px;\\n\\t}\\n\\n\\t#{&}__header-device {\\n\\t\\tpadding-inline-start: 50px; // 44px icon + 6px padding\\n\\t}\\n\\t&__header-activity {\\n\\t\\ttext-align: end;\\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, `#generate-app-token-section[data-v-1966201e]{display:flex;flex-direction:column;gap:1rem;max-width:400px;padding-top:16px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenSetup.vue\"],\"names\":[],\"mappings\":\"AACA,6CACC,YAAA,CACA,qBAAA,CACA,QAAA,CACA,eAAA,CACA,gBAAA\",\"sourcesContent\":[\"\\n#generate-app-token-section {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 1rem;\\n\\tmax-width: 400px;\\n\\tpadding-top: 16px;\\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, `[data-v-1a608fc0] .token-dialog{display:flex;flex-direction:column;gap:12px;padding-inline:22px;padding-block-end:20px}[data-v-1a608fc0] .token-dialog>*{box-sizing:border-box}.token-dialog__name[data-v-1a608fc0],.token-dialog__password[data-v-1a608fc0]{align-items:end;display:flex;gap:10px}.token-dialog__name[data-v-1a608fc0] input,.token-dialog__password[data-v-1a608fc0] input{font-family:monospace}.token-dialog__qrcode[data-v-1a608fc0]{display:flex;justify-content:center}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AuthTokenSetupDialog.vue\"],\"names\":[],\"mappings\":\"AACA,gCACC,YAAA,CACA,qBAAA,CACA,QAAA,CAEA,mBAAA,CACA,sBAAA,CAEA,kCACC,qBAAA,CAKD,8EACC,eAAA,CACA,YAAA,CACA,QAAA,CAEA,0FACC,qBAAA,CAIF,uCACC,YAAA,CACA,sBAAA\",\"sourcesContent\":[\"\\n:deep(.token-dialog) {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tgap: 12px;\\n\\n\\tpadding-inline: 22px;\\n\\tpadding-block-end: 20px;\\n\\n\\t> * {\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n.token-dialog {\\n\\t&__name, &__password {\\n\\t\\talign-items: end;\\n\\t\\tdisplay: flex;\\n\\t\\tgap: 10px;\\n\\n\\t\\t:deep(input) {\\n\\t\\t\\tfont-family: monospace;\\n\\t\\t}\\n\\t}\\n\\n\\t&__qrcode {\\n\\t\\tdisplay: flex;\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","// The module cache\nconst __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tconst 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\tconst 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","const deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tlet notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tlet [chunkIds, fn, priority] = deferred[i];\n\t\tlet fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tconst r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tconst getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter/value functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tif(Array.isArray(definition)) {\n\t\tvar i = 0;\n\t\twhile(i < definition.length) {\n\t\t\tvar key = definition[i++];\n\t\t\tvar binding = definition[i++];\n\t\t\tif(!__webpack_require__.o(exports, key)) {\n\t\t\t\tif(binding === 0) {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, value: definition[i++] });\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: binding });\n\t\t\t\t}\n\t\t\t} else if(binding === 0) { i++; }\n\t\t}\n\t} else {\n\t\tfor(var key in definition) {\n\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t\t}\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \"-\" + chunkId + \".js?v=\" + {\"4005\":\"79ce3b9cce1ed8b84286\",\"4017\":\"e7952469fd7013d6763c\",\"5236\":\"8e879d97ee553106c876\",\"7859\":\"94ba8355b803c98a5893\",\"8259\":\"c62c545c007df2a740b1\",\"8374\":\"1c6ec75c525cfd72ccec\",\"8689\":\"22ea03649fce27dd0cb7\"}[chunkId] + \"\";\n};","__webpack_require__.o = (obj, prop) => (Object.hasOwn(obj, prop))","const inProgress = {};\nconst dataWebpackPrefix = \"nextcloud-ui-legacy:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tlet script, needAttach;\n\tif(key !== undefined) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tconst s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tconst onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tconst doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode?.removeChild(script);\n\t\tdoneFns?.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tconst timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 2131;","// set .name for anonymous default exports per ES spec\n// skipped when the property is non-configurable (pre-ES2015 engines),\n// where Object.defineProperty would throw\n__webpack_require__.dn = (x) => {\n\tvar descriptor = Object.getOwnPropertyDescriptor(x, \"name\");\n\tif (!descriptor || (!descriptor.writable && descriptor.configurable)) Object.defineProperty(x, \"name\", { value: \"default\", configurable: true });\n};","// execute a CommonJS module body with real module/exports objects, returning the final exports\n__webpack_require__.cjs = (body) => {\n\tconst mod = { exports: {} };\n\tbody.call(mod.exports, mod, mod.exports);\n\treturn mod.exports;\n};","let scriptUrl;\nif (globalThis.importScripts) scriptUrl = globalThis.location + \"\";\nconst document = globalThis.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript?.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tconst scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tlet i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/^blob:/, \"\").replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","__webpack_require__.b = (typeof document !== 'undefined' && document.baseURI) || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nconst installedChunks = {\n\t2131: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tlet installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tconst promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tconst url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tconst error = new Error();\n\t\t\t\t\tconst loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tconst errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tconst realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\terror.event = event;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nconst webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tlet [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nconst chunkLoadingGlobal = globalThis[\"webpackChunknextcloud_ui_legacy\"] ||= [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nlet __webpack_exports__ = __webpack_require__.O(undefined, [4208], () => (__webpack_require__(80650)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","toPropertyKey","t","i","e","toPrimitive","call","r","TypeError","String","_defineProperty","Object","defineProperty","value","enumerable","configurable","writable","_defineProperties","length","key","isBrowser","window","document","navigator","timeoutDuration","longerTimeoutBrowsers","userAgent","indexOf","debounce","Promise","fn","called","resolve","then","scheduled","setTimeout","isFunction","functionToCheck","toString","getStyleComputedProperty","element","property","nodeType","css","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","overflowX","overflowY","test","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","start","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","upperSide","arguments","undefined","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","Math","max","parseInt","getWindowSizes","height","width","createClass","defineProperties","target","props","descriptor","Constructor","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","result","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","children","parent","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getFixedPositionOffsetParent","parentElement","el","getBoundaries","popper","padding","boundariesElement","boundaries","excludeScroll","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","isPaddingNumber","computeAutoPlacement","placement","refRect","rects","sortedAreas","keys","map","area","_ref","sort","a","b","filteredAreas","filter","_ref2","computedPlacement","variation","split","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","replace","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","find","arr","check","Array","runModifiers","modifiers","data","ends","slice","prop","findIndex","cur","match","forEach","console","warn","enabled","update","this","isDestroyed","instance","arrowStyles","attributes","flipped","options","positionFixed","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","name","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","style","destroy","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","push","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","removeEventListeners","isNumeric","n","isNaN","isFinite","setStyles","unit","isFirefox","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","placements","validPlacements","clockwise","counter","index","concat","reverse","shift","basePlacement","shiftvariation","_data$offsets","isVertical","side","shiftOffsets","offset","useHeight","fragments","frag","trim","divider","search","splitRegex","ops","op","mergeWithPrevious","reduce","str","toValue","index2","parseOffset","preventOverflow","transformProp","popperStyles","transform","priority","primary","escapeWithReference","secondary","min","keepTogether","floor","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","toLowerCase","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","getOppositeVariation","inner","subtractLength","hide","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","shouldRound","noRound","v","referenceWidth","popperWidth","isVariation","horizontalToInteger","verticalToInteger","getRoundedOffsets","devicePixelRatio","prefixedProperty","invertTop","invertLeft","applyStyle","setAttribute","onLoad","modifierOptions","Defaults","Popper","_this","classCallCheck","requestAnimationFrame","bind","jquery","Utils","globalThis","PopperUtils","vue_resize_esm_isIE","initCompat","init","ua","msie","substring","rv","edge","getInternetExplorerVersion","normalizeComponent","template","script","scopeId","isFunctionalTemplate","moduleIdentifier","shadowMode","createInjector","createInjectorSSR","createInjectorShadow","hook","render","staticRenderFns","_compiled","functional","_scopeId","context","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","originalRender","h","existing","beforeCreate","__vue_script__","emitOnMount","type","Boolean","default","ignoreWidth","ignoreHeight","mounted","$nextTick","_w","$el","_h","emitSize","object","createElement","_resizeObject","onload","addResizeHandlers","appendChild","beforeDestroy","removeResizeHandlers","methods","compareAndNotify","$emit","contentDocument","__vue_render__","$createElement","_self","_c","staticClass","attrs","tabindex","_withStripped","__vue_component__","vue_resize_esm_plugin","install","Vue","component","GlobalVue","use","SVGAnimatedString","convertToArray","addClasses","classes","classList","newClasses","className","baseVal","newClass","SVGElement","join","removeClasses","splice","supportsPassive","opts","get","ownKeys$2","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","apply","_objectSpread$2","getOwnPropertyDescriptors","DEFAULT_OPTIONS","container","delay","title","trigger","openTooltips","Tooltip","_reference","_options","_classCallCheck","evt","relatedreference","toElement","relatedTarget","_tooltipNode","evt2","relatedreference2","_scheduleHide","show","_isOpen","_init","_show","_hide","_dispose","_classes","content","_setContent","classesUpdated","directive","defaultClass","isEqual","setClasses","getOptions","needPopperUpdate","needRestart","isOpen","dispose","popperInstance","events","_isDisposed","_enableDocumentTouch","_setEventListeners","$_originalTitle","getAttribute","_this2","tooltipGenerator","innerHTML","tooltipNode","childNodes","id","ariaId","random","substr","autoHide","_this3","asyncContent","_applyContent","_this4","reject","allowHtml","rootNode","titleNode","innerSelector","firstChild","loadingClass","loadingContent","asyncResult","catch","innerText","clearTimeout","_disposeTimer","updateClasses","_ensureShown","_this5","display","_create","_findContainer","_append","popperOptions","arrowSelector","_this6","_noLongerOpen","disposeTime","disposeTimeout","_removeTooltipNode","_this7","_events","func","_this8","directEvents","oppositeEvents","hideOnTargetClick","usedByTooltip","_scheduleShow","_this9","computedDelay","_scheduleTimer","_this10","_setTooltipNodeEvent","ownKeys$1","_objectSpread$1","_onDocumentTouch","capture","positions","defaultOptions","defaultPlacement","defaultTargetClass","defaultHtml","defaultTemplate","defaultArrowSelector","defaultInnerSelector","defaultDelay","defaultTrigger","defaultOffset","defaultContainer","defaultBoundariesElement","defaultPopperOptions","defaultLoadingClass","defaultLoadingContent","defaultHideOnTargetClick","popover","defaultBaseClass","defaultWrapperClass","defaultInnerClass","defaultArrowClass","defaultOpenClass","defaultAutoHide","defaultHandleResize","typeofOffset","getPlacement","pos","getContent","destroyTooltip","_tooltip","_tooltipOldShow","_tooltipTargetClasses","oldValue","tooltip","setContent","setOptions","_vueEl","targetClasses","createTooltip","unbind","addListeners","onClick","onTouchStart","removeListeners","onTouchEnd","onTouchCancel","currentTarget","closePopover","$_vclosepopover_touch","closeAllPopover","$_closePopoverModifiers","all","changedTouches","touch","$_vclosepopover_touchPoint","firstTouch","abs","screenY","screenX","vclosepopover","ownKeys","_objectSpread","getDefault","isIOS","MSStream","openPopovers","Element","components","ResizeObserver","open","disabled","Number","popoverClass","popoverBaseClass","popoverInnerClass","popoverWrapperClass","popoverArrowClass","handleResize","openGroup","openClass","computed","cssClass","popoverId","watch","val","oldVal","popoverNode","$refs","$_findContainer","$_removeEventListeners","$_addEventListeners","$_updatePopper","handler","deep","created","$_isDisposed","$_mounted","$_events","$_preventOpen","$_init","deactivated","skipDelay","_ref2$force","force","$_scheduleShow","$_beingShowed","_ref3","$_scheduleHide","$_show","$_disposeTimer","hidden","$_getOffset","$_hide","$_scheduleTimer","$_setTooltipNodeEvent","event2","_ref4","cb","$_restartPopper","$_handleGlobalClose","$_handleResize","handleGlobalClose","_loop","_vm","class","ref","staticStyle","_t","_v","visibility","on","keyup","$event","_k","keyCode","notify","_e","insertAt","head","getElementsByTagName","insertBefore","styleSheet","cssText","createTextNode","styleInject","plugin","installed","finalOptions","merge","global","v_tooltip_esm","logger","getLoggerBuilder","setApp","detectUser","build","BASE_URL","generateUrl","TokenType","addPasswordConfirmationInterceptors","axios","useAuthTokenStore","defineStore","tokens","loadState","actions","updateToken","token","put","confirmPassword","PwdConfirmationMode","Strict","addToken","debug","post","oneTime","deviceToken","deleteToken","delete","error","showError","wipeToken","WIPING_TOKEN","canRename","renameToken","newName","oldName","setTokenScope","scope","components_AuthTokenDeleteDialogvue_type_script_setup_true_lang_ts","_defineComponent","__name","setup","__props","emit","wiping","messages","action","buttons","label","variant","__sfc","l10n_dist","Tl","NcDialog","A","NcNoteCard","styleTagTransform","styleTagTransform_default","setAttributes","setAttributesWithoutAttributes_default","insert","insertBySelector_default","domAPI","styleDomAPI_default","insertStyleElement","insertStyleElement_default","injectStylesIntoStyleTag_default","AuthTokenDeleteDialogvue_type_style_index_0_id_feb1e502_prod_lang_scss_scoped_true","locals","AuthTokenDeleteDialog","componentNormalizer","_setup","_setupProxy","size","heading","_s","userAgentMap","ie","firefox","androidChrome","chrome","safari","iphone","ipad","iosClient","androidClient","iosTalkClient","androidTalkClient","davx5","webPirate","sailfishBrowser","neon","productName","OC","theme","nameMap","syncClient","AuthTokenvue_type_script_lang_ts","defineComponent","NcActions","NcActionButton","NcActionCheckbox","NcActionCheckbox_Cbg5yktN","N","NcButton","NcDateTime","NcIconSvgWrapper","NcTextField","required","authTokenStore","actionOpen","renaming","deleteDialogOpen","mdiCheck","mdi","Tfj","canChangeScope","PERMANENT_TOKEN","client","matches","os","detect","tokenLastActivity","lastActivity","tokenIcon","mdiKeyOutline","mdiMicrosoftEdge","mdiFirefox","mdiGoogleChrome","mdiAppleSafari","mdiAndroid","mdiAppleIos","mdiTablet","mdiCellphone","mdiMonitor","mdiWeb","tokenLabel","current","system","updateFileSystemScope","startRename","input","select","cancelRename","revoke","confirmDelete","rename","wipe","showConfirmation","text","labelConfirm","labelReject","severity","components_AuthTokenvue_type_script_lang_ts","AuthTokenvue_type_style_index_0_id_1be2f070_prod_lang_scss_scoped_true_options","AuthTokenvue_type_style_index_0_id_1be2f070_prod_lang_scss_scoped_true","AuthToken_component","path","submit","preventDefault","stopPropagation","model","$$v","expression","scopedSlots","_u","proxy","timestamp","filesystem","icon","click","canDelete","confirm","AuthToken","components_AuthTokenListvue_type_script_lang_ts","sortedTokens","ONETIME_TOKEN","t1","t2","AuthTokenListvue_type_style_index_0_id_5fe11895_prod_lang_scss_scoped_true_options","AuthTokenListvue_type_style_index_0_id_5fe11895_prod_lang_scss_scoped_true","AuthTokenList","_l","components_AuthTokenSetupDialogvue_type_script_lang_ts","QR","isNameCopied","isPasswordCopied","showQRCode","set","copyPasswordIcon","mdiContentCopy","copyNameIcon","appPassword","loginName","qrUrl","server","location","protocol","getRootUrl","copyPasswordLabel","copyLoginNameLabel","copyPassword","clipboard","writeText","copyLoginName","AuthTokenSetupDialogvue_type_style_index_0_id_1a608fc0_prod_scoped_true_lang_scss_options","AuthTokenSetupDialogvue_type_style_index_0_id_1a608fc0_prod_scoped_true_lang_scss","AuthTokenSetupDialog","readonly","components_AuthTokenSetupvue_type_script_lang_ts","deviceName","loading","newToken","reset","AuthTokenSetupvue_type_style_index_0_id_1966201e_prod_lang_scss_scoped_true_options","AuthTokenSetupvue_type_style_index_0_id_1966201e_prod_lang_scss_scoped_true","AuthTokenSetup_component","maxlength","placeholder","close","AuthTokenSetup","components_AuthTokenSectionvue_type_script_lang_ts","NcSettingsSection","canCreateToken","AuthTokenSection","sanitize","description","__webpack_nonce__","getCSPNonce","pinia","createPinia","PiniaVuePlugin","VTooltipPlugin","extend","$mount","___CSS_LOADER_EXPORT___","_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default","_node_modules_css_loader_dist_runtime_sourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default","module","sources","names","mappings","sourcesContent","sourceRoot","__WEBPACK_DEFAULT_EXPORT__","baseAssignValue","__webpack_require__","eq","exports","Stack","assignMergeValue","baseFor","baseMergeDeep","isObject","keysIn","safeGet","baseMerge","srcIndex","customizer","stack","srcValue","newValue","cloneBuffer","cloneTypedArray","copyArray","initCloneObject","isArguments","isArray","isArrayLikeObject","isBuffer","isPlainObject","isTypedArray","toPlainObject","mergeFunc","objValue","stacked","isCommon","isArr","isBuff","isTyped","baseRest","isIterateeCall","assigner","guard","isArrayLike","isObjectLike","baseIsEqual","other","createAssigner","copyObject","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","m","deferred","O","chunkIds","notFulfilled","Infinity","fulfilled","j","every","getter","__esModule","d","definition","binding","f","chunkId","promises","u","hasOwn","inProgress","dataWebpackPrefix","l","url","done","needAttach","scripts","s","charset","nc","src","onScriptComplete","prev","onerror","timeout","doneFns","toStringTag","nmd","paths","dn","cjs","mod","scriptUrl","importScripts","currentScript","tagName","Error","p","baseURI","self","href","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","message","request","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file