diff --git a/js/BrowserStorage-CNOycwTd.chunk.mjs b/js/BrowserStorage-BfMD8rLD.chunk.mjs similarity index 99% rename from js/BrowserStorage-CNOycwTd.chunk.mjs rename to js/BrowserStorage-BfMD8rLD.chunk.mjs index e21a903b..72637fbc 100644 --- a/js/BrowserStorage-CNOycwTd.chunk.mjs +++ b/js/BrowserStorage-BfMD8rLD.chunk.mjs @@ -1,5 +1,5 @@ /*! third party licenses: js/vendor.LICENSE.txt */ -import{d as K,Q as yi,c as Dn,H as vi,R as bi,r as Nt,S as wi,T as xi,e as D,a as ze,v as Nn,U as Si,g as _i,_ as Tn,V as nn,W as Ai,X as sn,Y as Ht,Z as Le,$ as Ci,a0 as At,a1 as Pn,a2 as Oi,a3 as Ei,a4 as In,a5 as ki,B as Be,a6 as Li,a7 as Bi,f as Di,a8 as Mn,O as be,P as we,C as Ni,G as on,a9 as Ti}from"./_plugin-vue2_normalizer-DaF0lHjD.chunk.mjs";import{V as qt,a as Tt,b as Fn,w as Re,c as Pi}from"./style-BNtK61kD.chunk.mjs";const Ii={name:"NcIconSvgWrapper",props:{inline:{type:Boolean,default:!1},svg:{type:String,default:""},name:{type:String,default:""},path:{type:String,default:""},size:{type:[Number,String],default:20,validator:t=>typeof t=="number"||t==="auto"}},computed:{iconSize(){return typeof this.size=="number"?"".concat(this.size,"px"):this.size},cleanSvg(){if(!this.svg||this.path)return;const t=yi.sanitize(this.svg),e=new DOMParser().parseFromString(t,"image/svg+xml");return e.querySelector("parsererror")?(qt.util.warn("SVG is not valid"),""):(e.documentElement.id&&e.documentElement.removeAttribute("id"),e.documentElement.outerHTML)},attributes(){return{class:["icon-vue",{"icon-vue--inline":this.inline}],style:{"--icon-size":this.iconSize},role:"img","aria-hidden":this.name?void 0:!0,"aria-label":this.name||void 0}}}};var Mi=function(){var t=this,e=t._self._c;return t.cleanSvg?e("span",t._b({domProps:{innerHTML:t._s(t.cleanSvg)}},"span",t.attributes,!1)):e("span",t._b({},"span",t.attributes,!1),[e("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{d:t.path}})])])},Fi=[],ji=K(Ii,Mi,Fi,!1,null,"2d0a4d76");const jn=ji.exports;var Un={exports:{}};(function(t,e){(function(n,i){t.exports=i()})(typeof self<"u"?self:Dn,function(){return(()=>{var n={646:l=>{l.exports=function(r){if(Array.isArray(r)){for(var d=0,u=new Array(r.length);d{l.exports=function(r,d,u){return d in r?Object.defineProperty(r,d,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[d]=u,r}},860:l=>{l.exports=function(r){if(Symbol.iterator in Object(r)||Object.prototype.toString.call(r)==="[object Arguments]")return Array.from(r)}},206:l=>{l.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(l,r,d)=>{var u=d(646),h=d(860),c=d(206);l.exports=function(p){return u(p)||h(p)||c()}},8:l=>{function r(d){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?l.exports=r=function(u){return typeof u}:l.exports=r=function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(d)}l.exports=r}},i={};function s(l){var r=i[l];if(r!==void 0)return r.exports;var d=i[l]={exports:{}};return n[l](d,d.exports,s),d.exports}s.n=l=>{var r=l&&l.__esModule?()=>l.default:()=>l;return s.d(r,{a:r}),r},s.d=(l,r)=>{for(var d in r)s.o(r,d)&&!s.o(l,d)&&Object.defineProperty(l,d,{enumerable:!0,get:r[d]})},s.o=(l,r)=>Object.prototype.hasOwnProperty.call(l,r),s.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};return(()=>{s.r(a),s.d(a,{VueSelect:()=>T,default:()=>P,mixins:()=>V});var l=s(319),r=s.n(l),d=s(8),u=s.n(d),h=s(713),c=s.n(h);const p={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(o){var m=this;this.autoscroll&&o&&this.$nextTick(function(){return m.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var o,m=((o=this.$refs.dropdownMenu)===null||o===void 0?void 0:o.children[this.typeAheadPointer])||!1;if(m){var y=this.getDropdownViewport(),w=m.getBoundingClientRect(),k=w.top,E=w.bottom,N=w.height;if(ky.bottom)return this.$refs.dropdownMenu.scrollTop=m.offsetTop-(y.height-N)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},f={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var o=0;o=0;o--)if(this.selectable(this.filteredOptions[o])){this.typeAheadPointer=o;break}},typeAheadDown:function(){for(var o=this.typeAheadPointer+1;o0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=o??!this.mutableLoading}}};function v(o,m,y,w,k,E,N,M){var H,U=typeof o=="function"?o.options:o;return m&&(U.render=m,U.staticRenderFns=y,U._compiled=!0),{exports:o,options:U}}const S={Deselect:v({},function(){var o=this.$createElement,m=this._self._c||o;return m("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[m("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:v({},function(){var o=this.$createElement,m=this._self._c||o;return m("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[m("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},x={inserted:function(o,m,y){var w=y.context;if(w.appendToBody){document.body.appendChild(o);var k=w.$refs.toggle.getBoundingClientRect(),E=k.height,N=k.top,M=k.left,H=k.width,U=window.scrollX||window.pageXOffset,rt=window.scrollY||window.pageYOffset;o.unbindPosition=w.calculatePosition(o,w,{width:H+"px",left:U+M+"px",top:rt+N+E+"px"})}},unbind:function(o,m,y){y.context.appendToBody&&(o.unbindPosition&&typeof o.unbindPosition=="function"&&o.unbindPosition(),o.parentNode&&o.parentNode.removeChild(o))}},C=function(o){var m={};return Object.keys(o).sort().forEach(function(y){m[y]=o[y]}),JSON.stringify(m)};var A=0;const B=function(){return++A};function L(o,m){var y=Object.keys(o);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);m&&(w=w.filter(function(k){return Object.getOwnPropertyDescriptor(o,k).enumerable})),y.push.apply(y,w)}return y}function O(o){for(var m=1;mtypeof t=="number"||t==="auto"}},computed:{iconSize(){return typeof this.size=="number"?"".concat(this.size,"px"):this.size},cleanSvg(){if(!this.svg||this.path)return;const t=yi.sanitize(this.svg),e=new DOMParser().parseFromString(t,"image/svg+xml");return e.querySelector("parsererror")?(qt.util.warn("SVG is not valid"),""):(e.documentElement.id&&e.documentElement.removeAttribute("id"),e.documentElement.outerHTML)},attributes(){return{class:["icon-vue",{"icon-vue--inline":this.inline}],style:{"--icon-size":this.iconSize},role:"img","aria-hidden":this.name?void 0:!0,"aria-label":this.name||void 0}}}};var Mi=function(){var t=this,e=t._self._c;return t.cleanSvg?e("span",t._b({domProps:{innerHTML:t._s(t.cleanSvg)}},"span",t.attributes,!1)):e("span",t._b({},"span",t.attributes,!1),[e("svg",{attrs:{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"}},[e("path",{attrs:{d:t.path}})])])},Fi=[],ji=K(Ii,Mi,Fi,!1,null,"2d0a4d76");const jn=ji.exports;var Un={exports:{}};(function(t,e){(function(n,i){t.exports=i()})(typeof self<"u"?self:Dn,function(){return(()=>{var n={646:l=>{l.exports=function(r){if(Array.isArray(r)){for(var d=0,u=new Array(r.length);d{l.exports=function(r,d,u){return d in r?Object.defineProperty(r,d,{value:u,enumerable:!0,configurable:!0,writable:!0}):r[d]=u,r}},860:l=>{l.exports=function(r){if(Symbol.iterator in Object(r)||Object.prototype.toString.call(r)==="[object Arguments]")return Array.from(r)}},206:l=>{l.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},319:(l,r,d)=>{var u=d(646),h=d(860),c=d(206);l.exports=function(p){return u(p)||h(p)||c()}},8:l=>{function r(d){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?l.exports=r=function(u){return typeof u}:l.exports=r=function(u){return u&&typeof Symbol=="function"&&u.constructor===Symbol&&u!==Symbol.prototype?"symbol":typeof u},r(d)}l.exports=r}},i={};function s(l){var r=i[l];if(r!==void 0)return r.exports;var d=i[l]={exports:{}};return n[l](d,d.exports,s),d.exports}s.n=l=>{var r=l&&l.__esModule?()=>l.default:()=>l;return s.d(r,{a:r}),r},s.d=(l,r)=>{for(var d in r)s.o(r,d)&&!s.o(l,d)&&Object.defineProperty(l,d,{enumerable:!0,get:r[d]})},s.o=(l,r)=>Object.prototype.hasOwnProperty.call(l,r),s.r=l=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})};var a={};return(()=>{s.r(a),s.d(a,{VueSelect:()=>T,default:()=>P,mixins:()=>V});var l=s(319),r=s.n(l),d=s(8),u=s.n(d),h=s(713),c=s.n(h);const p={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(o){var m=this;this.autoscroll&&o&&this.$nextTick(function(){return m.maybeAdjustScroll()})}},methods:{maybeAdjustScroll:function(){var o,m=((o=this.$refs.dropdownMenu)===null||o===void 0?void 0:o.children[this.typeAheadPointer])||!1;if(m){var y=this.getDropdownViewport(),w=m.getBoundingClientRect(),k=w.top,E=w.bottom,N=w.height;if(ky.bottom)return this.$refs.dropdownMenu.scrollTop=m.offsetTop-(y.height-N)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},f={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange){for(var o=0;o=0;o--)if(this.selectable(this.filteredOptions[o])){this.typeAheadPointer=o;break}},typeAheadDown:function(){for(var o=this.typeAheadPointer+1;o0&&arguments[0]!==void 0?arguments[0]:null;return this.mutableLoading=o??!this.mutableLoading}}};function v(o,m,y,w,k,E,N,M){var H,U=typeof o=="function"?o.options:o;return m&&(U.render=m,U.staticRenderFns=y,U._compiled=!0),{exports:o,options:U}}const S={Deselect:v({},function(){var o=this.$createElement,m=this._self._c||o;return m("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"10",height:"10"}},[m("path",{attrs:{d:"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z"}})])},[]).exports,OpenIndicator:v({},function(){var o=this.$createElement,m=this._self._c||o;return m("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",width:"14",height:"10"}},[m("path",{attrs:{d:"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z"}})])},[]).exports},x={inserted:function(o,m,y){var w=y.context;if(w.appendToBody){document.body.appendChild(o);var k=w.$refs.toggle.getBoundingClientRect(),E=k.height,N=k.top,M=k.left,H=k.width,U=window.scrollX||window.pageXOffset,rt=window.scrollY||window.pageYOffset;o.unbindPosition=w.calculatePosition(o,w,{width:H+"px",left:U+M+"px",top:rt+N+E+"px"})}},unbind:function(o,m,y){y.context.appendToBody&&(o.unbindPosition&&typeof o.unbindPosition=="function"&&o.unbindPosition(),o.parentNode&&o.parentNode.removeChild(o))}},C=function(o){var m={};return Object.keys(o).sort().forEach(function(y){m[y]=o[y]}),JSON.stringify(m)};var A=0;const B=function(){return++A};function L(o,m){var y=Object.keys(o);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);m&&(w=w.filter(function(k){return Object.getOwnPropertyDescriptor(o,k).enumerable})),y.push.apply(y,w)}return y}function O(o){for(var m=1;m-1}},filter:{type:Function,default:function(o,m){var y=this;return o.filter(function(w){var k=y.getOptionLabel(w);return typeof k=="number"&&(k=k.toString()),y.filterBy(w,k,m)})}},createOption:{type:Function,default:function(o){return u()(this.optionList[0])==="object"?c()({},this.label,o):o}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(o){return["function","boolean"].includes(u()(o))}},clearSearchOnBlur:{type:Function,default:function(o){var m=o.clearSearchOnSelect,y=o.multiple;return m&&!y}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:"auto"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:"[type=search]"},mapKeydown:{type:Function,default:function(o,m){return o}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(o,m,y){var w=y.width,k=y.top,E=y.left;o.style.top=k,o.style.left=E,o.style.width=w}},dropdownShouldOpen:{type:Function,default:function(o){var m=o.noDrop,y=o.open,w=o.mutableLoading;return!m&&y&&!w}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return B()}}},data:function(){return{search:"",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return this.value===void 0||this.$options.propsData.hasOwnProperty("reduce")},selectedValue:function(){var o=this.value;return this.isTrackingValues&&(o=this.$data._value),o!=null&&o!==""?[].concat(o):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var o=this,m={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:O({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:"combobox","aria-autocomplete":"list","aria-label":this.ariaLabelCombobox,"aria-controls":"vs-".concat(this.uid,"__listbox"),"aria-owns":"vs-".concat(this.uid,"__listbox"),"aria-expanded":this.dropdownOpen.toString(),ref:"search",type:"search",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{"aria-activedescendant":"vs-".concat(this.uid,"__option-").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return o.isComposing=!0},compositionend:function(){return o.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(y){return o.search=y.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:"openIndicator",role:"presentation",class:"vs__open-indicator"}},listHeader:m,listFooter:m,header:O({},m,{deselect:this.deselect}),footer:O({},m,{deselect:this.deselect})}},childComponents:function(){return O({},S,{},this.components)},stateClasses:function(){return{"vs--open":this.dropdownOpen,"vs--single":!this.multiple,"vs--multiple":this.multiple,"vs--searching":this.searching&&!this.noDrop,"vs--searchable":this.searchable&&!this.noDrop,"vs--unsearchable":!this.searchable,"vs--loading":this.mutableLoading,"vs--disabled":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var o=this,m=function(E){return o.limit!==null?E.slice(0,o.limit):E},y=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return m(y);var w=this.search.length?this.filter(y,this.search,this):y;if(this.taggable&&this.search.length){var k=this.createOption(this.search);this.optionExists(k)||w.unshift(k)}return m(w)},isValueEmpty:function(){return this.selectedValue.length===0},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(o,m){var y=this;!this.taggable&&(typeof y.resetOnOptionsChange=="function"?y.resetOnOptionsChange(o,m,y.selectedValue):y.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(o){this.isTrackingValues&&this.setInternalValueFromOptions(o)}},multiple:function(){this.clearSelection()},open:function(o){this.$emit(o?"open":"close")},search:function(o){o.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on("option:created",this.pushTag)},methods:{setInternalValueFromOptions:function(o){var m=this;Array.isArray(o)?this.$data._value=o.map(function(y){return m.findOptionFromReducedValue(y)}):this.$data._value=this.findOptionFromReducedValue(o)},select:function(o){this.$emit("option:selecting",o),this.isOptionSelected(o)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(o):(this.taggable&&!this.optionExists(o)&&this.$emit("option:created",o),this.multiple&&(o=this.selectedValue.concat(o)),this.updateValue(o),this.$emit("option:selected",o)),this.onAfterSelect(o)},deselect:function(o){var m=this;this.$emit("option:deselecting",o),this.updateValue(this.selectedValue.filter(function(y){return!m.optionComparator(y,o)})),this.$emit("option:deselected",o)},keyboardDeselect:function(o,m){var y,w;this.deselect(o);var k=(y=this.$refs.deselectButtons)===null||y===void 0?void 0:y[m+1],E=(w=this.$refs.deselectButtons)===null||w===void 0?void 0:w[m-1],N=k??E;N?N.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(o){var m=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=""),this.noDrop&&this.multiple&&this.$nextTick(function(){return m.$refs.search.focus()})},updateValue:function(o){var m=this;this.value===void 0&&(this.$data._value=o),o!==null&&(o=Array.isArray(o)?o.map(function(y){return m.reduce(y)}):this.reduce(o)),this.$emit("input",o)},toggleDropdown:function(o){var m=o.target!==this.searchEl;m&&o.preventDefault();var y=[].concat(r()(this.$refs.deselectButtons||[]),r()([this.$refs.clearButton]));this.searchEl===void 0||y.filter(Boolean).some(function(w){return w.contains(o.target)||w===o.target})?o.preventDefault():this.open&&m?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(o){var m=this;return this.selectedValue.some(function(y){return m.optionComparator(y,o)})},isOptionDeselectable:function(o){return this.isOptionSelected(o)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(o){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&o===this.typeAheadPointer},optionComparator:function(o,m){return this.getOptionKey(o)===this.getOptionKey(m)},findOptionFromReducedValue:function(o){var m=this,y=[].concat(r()(this.options),r()(this.pushedTags)).filter(function(w){return JSON.stringify(m.reduce(w))===JSON.stringify(o)});return y.length===1?y[0]:y.find(function(w){return m.optionComparator(w,m.$data._value)})||o},closeSearchOptions:function(){this.open=!1,this.$emit("search:blur")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var o=null;this.multiple&&(o=r()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(o)}},optionExists:function(o){var m=this;return this.optionList.some(function(y){return m.optionComparator(y,o)})},optionAriaSelected:function(o){return this.selectable(o)?String(this.isOptionSelected(o)):null},normalizeOptionForSlot:function(o){return u()(o)==="object"?o:c()({},this.label,o)},pushTag:function(o){this.pushedTags.push(o)},onEscape:function(){this.search.length?this.search="":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var o=this.clearSearchOnSelect,m=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:o,multiple:m})&&(this.search=""),void this.closeSearchOptions()}this.mousedown=!1,this.search.length!==0||this.options.length!==0||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit("search:focus")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(o,m){this.isKeyboardNavigation=!1,this.selectable(o)&&(this.typeAheadPointer=m)},onSearchKeyDown:function(o){var m=this,y=function(E){if(E.preventDefault(),m.open)return!m.isComposing&&m.typeAheadSelect();m.open=!0},w={8:function(E){return m.maybeDeleteValue()},9:function(E){return m.onTab()},27:function(E){return m.onEscape()},38:function(E){if(E.preventDefault(),m.isKeyboardNavigation=!0,m.open)return m.typeAheadUp();m.open=!0},40:function(E){if(E.preventDefault(),m.isKeyboardNavigation=!0,m.open)return m.typeAheadDown();m.open=!0}};this.selectOnKeyCodes.forEach(function(E){return w[E]=y});var k=this.mapKeydown(w,this);if(typeof k[o.keyCode]=="function")return k[o.keyCode](o)},onSearchKeyPress:function(o){this.open||o.keyCode!==32||(o.preventDefault(),this.open=!0)}}},function(){var o=this,m=o.$createElement,y=o._self._c||m;return y("div",{staticClass:"v-select",class:o.stateClasses,attrs:{id:"v-select-"+o.uid,dir:o.dir}},[o._t("header",null,null,o.scope.header),o._v(" "),y("div",{ref:"toggle",staticClass:"vs__dropdown-toggle"},[y("div",{ref:"selectedOptions",staticClass:"vs__selected-options",on:{mousedown:o.toggleDropdown}},[o._l(o.selectedValue,function(w,k){return o._t("selected-option-container",[y("span",{key:o.getOptionKey(w),staticClass:"vs__selected"},[o._t("selected-option",[o._v(` `+o._s(o.getOptionLabel(w))+` @@ -42,6 +42,6 @@ https://vue-select.org/api/props.html#getoptionkey`,o,m)}}},onTab:{type:Function `;Nt(wi);const Zn=t=>{switch(t){case"away":return D("away");case"busy":return D("busy");case"dnd":return D("do not disturb");case"online":return D("online");case"invisible":return D("invisible");case"offline":return D("offline");default:return t}};Nt(xi);const Zs={name:"NcUserStatusIcon",props:{user:{type:String,default:null},status:{type:String,default:null,validator:t=>["online","away","busy","dnd","invisible","offline"].includes(t)},ariaHidden:{type:String,default:null,validator:t=>["true","false"].includes(t)}},data(){return{fetchedUserStatus:null}},computed:{activeStatus(){var t;return(t=this.status)!=null?t:this.fetchedUserStatus},activeSvg(){var t;return(t={online:Qs,away:hn,busy:hn,dnd:Ys,invisible:pn,offline:pn}[this.activeStatus])!=null?t:null},ariaLabel(){return this.ariaHidden==="true"?null:D("User status: {status}",{status:Zn(this.activeStatus)})}},watch:{user:{immediate:!0,async handler(t,e){var n,i,s,a;if(!t||!((i=(n=qe.getCapabilities())==null?void 0:n.user_status)!=null&&i.enabled)){this.fetchedUserStatus=null;return}try{const{data:l}=await ze.get(Nn("/apps/user_status/api/v1/statuses/{user}",{user:t}));this.fetchedUserStatus=(a=(s=l.ocs)==null?void 0:s.data)==null?void 0:a.status}catch{this.fetchedUserStatus=null}}}}};var Js=function(){var t=this,e=t._self._c;return t.activeStatus?e("span",{staticClass:"user-status-icon",class:{"user-status-icon--invisible":["invisible","offline"].includes(t.status)},attrs:{role:"img","aria-hidden":t.ariaHidden,"aria-label":t.ariaLabel},domProps:{innerHTML:t._s(t.activeSvg)}}):t._e()},to=[],eo=K(Zs,Js,to,!1,null,"0555d8d0");const no=eo.exports;Nt(Si);class F{constructor(e,n,i,s){this.r=e,this.g=n,this.b=i,s&&(this.name=s)}get color(){const e=n=>"00".concat(n.toString(16)).slice(-2);return"#".concat(e(this.r)).concat(e(this.g)).concat(e(this.b))}}function io(t,e){const n=new Array(3);return n[0]=(e[1].r-e[0].r)/t,n[1]=(e[1].g-e[0].g)/t,n[2]=(e[1].b-e[0].b)/t,n}function xe(t,e,n){const i=[];i.push(e);const s=io(t,[e,n]);for(let a=1;a>>32-i},rotr:function(n,i){return n<<32-i|n>>>i},endian:function(n){if(n.constructor==Number)return e.rotl(n,8)&16711935|e.rotl(n,24)&4278255360;for(var i=0;i0;n--)i.push(Math.floor(Math.random()*256));return i},bytesToWords:function(n){for(var i=[],s=0,a=0;s>>5]|=n[s]<<24-a%32;return i},wordsToBytes:function(n){for(var i=[],s=0;s>>5]>>>24-s%32&255);return i},bytesToHex:function(n){for(var i=[],s=0;s>>4).toString(16)),i.push((n[s]&15).toString(16));return i.join("")},hexToBytes:function(n){for(var i=[],s=0;s>>6*(3-l)&63)):i.push("=");return i.join("")},base64ToBytes:function(n){n=n.replace(/[^A-Z0-9+\/]/ig,"");for(var i=[],s=0,a=0;s>>6-a*2);return i}};ti.exports=e})();var oo=ti.exports,Ne={utf8:{stringToBytes:function(t){return Ne.bin.stringToBytes(unescape(encodeURIComponent(t)))},bytesToString:function(t){return decodeURIComponent(escape(Ne.bin.bytesToString(t)))}},bin:{stringToBytes:function(t){for(var e=[],n=0;n>>24)&16711935|(r[f]<<24|r[f]>>>8)&4278255360;r[d>>>5]|=128<>>9<<4)+14]=d;for(var g=s._ff,v=s._gg,S=s._hh,x=s._ii,f=0;f>>0,h=h+A>>>0,c=c+B>>>0,p=p+L>>>0}return t.endian([u,h,c,p])};s._ff=function(a,l,r,d,u,h,c){var p=a+(l&r|~l&d)+(u>>>0)+c;return(p<>>32-h)+l},s._gg=function(a,l,r,d,u,h,c){var p=a+(l&d|r&~d)+(u>>>0)+c;return(p<>>32-h)+l},s._hh=function(a,l,r,d,u,h,c){var p=a+(l^r^d)+(u>>>0)+c;return(p<>>32-h)+l},s._ii=function(a,l,r,d,u,h,c){var p=a+(r^(l|~d))+(u>>>0)+c;return(p<>>32-h)+l},s._blocksize=16,s._digestsize=16,Jn.exports=function(a,l){if(a==null)throw new Error("Illegal argument "+a);var r=t.wordsToBytes(s(a,l));return l&&l.asBytes?r:l&&l.asString?i.bytesToString(r):t.bytesToHex(r)}})();var lo=Jn.exports;const uo=_i(lo),fn=function(t){let e=t.toLowerCase();e.match(/^([0-9a-f]{4}-?){8}$/)===null&&(e=uo(e)),e=e.replace(/[^0-9a-f]/g,"");const n=6,i=so(n);function s(a,l){let r=0;const d=[];for(let u=0;u{const i=window.getComputedStyle(document.body).getPropertyValue("--background-invert-if-dark")==="invert(100%)";return Tn("/avatar"+(n?"/guest":"")+"/{user}/{size}"+(i?"/dark":""),{user:t,size:e})},ni=()=>window.outerHeight===screen.height,gn=Tt(ni());window.addEventListener("resize",()=>{gn.value=ni()}),Fn(gn);const Ge=1024,ii=Ge/2,Zt=t=>document.documentElement.clientWidth{mn.value=Zt(Ge),ho.value=Zt(ii)},{passive:!0}),Fn(mn);const po="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",fo="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",St=(t,e)=>{for(const n in e)t[n]=e[n];return t},Te="numeric",Pe="ascii",Ie="alpha",$t="asciinumeric",zt="alphanumeric",Me="domain",si="emoji",go="scheme",mo="slashscheme",yn="whitespace";function yo(t,e){return t in e||(e[t]=[]),e[t]}function ht(t,e,n){e[Te]&&(e[$t]=!0,e[zt]=!0),e[Pe]&&(e[$t]=!0,e[Ie]=!0),e[$t]&&(e[zt]=!0),e[Ie]&&(e[zt]=!0),e[zt]&&(e[Me]=!0),e[si]&&(e[Me]=!0);for(const i in e){const s=yo(i,n);s.indexOf(t)<0&&s.push(t)}}function vo(t,e){const n={};for(const i in e)e[i].indexOf(t)>=0&&(n[i]=!0);return n}function z(t){t===void 0&&(t=null),this.j={},this.jr=[],this.jd=null,this.t=t}z.groups={},z.prototype={accepts(){return!!this.t},go(t){const e=this,n=e.j[t];if(n)return n;for(let i=0;it.ta(e,n,i,s),$=(t,e,n,i,s)=>t.tr(e,n,i,s),vn=(t,e,n,i,s)=>t.ts(e,n,i,s),b=(t,e,n,i,s)=>t.tt(e,n,i,s),Y="WORD",Fe="UWORD",Bt="LOCALHOST",je="TLD",Ue="UTLD",Wt="SCHEME",gt="SLASH_SCHEME",Xe="NUM",oi="WS",Qe="NL",mt="OPENBRACE",Ct="OPENBRACKET",Ot="OPENANGLEBRACKET",Et="OPENPAREN",ut="CLOSEBRACE",yt="CLOSEBRACKET",vt="CLOSEANGLEBRACKET",ct="CLOSEPAREN",Jt="AMPERSAND",te="APOSTROPHE",ee="ASTERISK",et="AT",ne="BACKSLASH",ie="BACKTICK",se="CARET",nt="COLON",Ye="COMMA",oe="DOLLAR",q="DOT",re="EQUALS",Ze="EXCLAMATION",G="HYPHEN",ae="PERCENT",le="PIPE",ue="PLUS",ce="POUND",he="QUERY",Je="QUOTE",tn="SEMI",X="SLASH",kt="TILDE",pe="UNDERSCORE",ri="EMOJI",de="SYM";var ai=Object.freeze({__proto__:null,WORD:Y,UWORD:Fe,LOCALHOST:Bt,TLD:je,UTLD:Ue,SCHEME:Wt,SLASH_SCHEME:gt,NUM:Xe,WS:oi,NL:Qe,OPENBRACE:mt,OPENBRACKET:Ct,OPENANGLEBRACKET:Ot,OPENPAREN:Et,CLOSEBRACE:ut,CLOSEBRACKET:yt,CLOSEANGLEBRACKET:vt,CLOSEPAREN:ct,AMPERSAND:Jt,APOSTROPHE:te,ASTERISK:ee,AT:et,BACKSLASH:ne,BACKTICK:ie,CARET:se,COLON:nt,COMMA:Ye,DOLLAR:oe,DOT:q,EQUALS:re,EXCLAMATION:Ze,HYPHEN:G,PERCENT:ae,PIPE:le,PLUS:ue,POUND:ce,QUERY:he,QUOTE:Je,SEMI:tn,SLASH:X,TILDE:kt,UNDERSCORE:pe,EMOJI:ri,SYM:de});const ft=/[a-z]/,Se=new RegExp("\\p{L}","u"),_e=new RegExp("\\p{Emoji}","u"),Ae=/\d/,bn=/\s/,wn=` `,bo="️",wo="‍";let Rt=null,Vt=null;function xo(t){t===void 0&&(t=[]);const e={};z.groups=e;const n=new z;Rt==null&&(Rt=xn(po)),Vt==null&&(Vt=xn(fo)),b(n,"'",te),b(n,"{",mt),b(n,"[",Ct),b(n,"<",Ot),b(n,"(",Et),b(n,"}",ut),b(n,"]",yt),b(n,">",vt),b(n,")",ct),b(n,"&",Jt),b(n,"*",ee),b(n,"@",et),b(n,"`",ie),b(n,"^",se),b(n,":",nt),b(n,",",Ye),b(n,"$",oe),b(n,".",q),b(n,"=",re),b(n,"!",Ze),b(n,"-",G),b(n,"%",ae),b(n,"|",le),b(n,"+",ue),b(n,"#",ce),b(n,"?",he),b(n,'"',Je),b(n,"/",X),b(n,";",tn),b(n,"~",kt),b(n,"_",pe),b(n,"\\",ne);const i=$(n,Ae,Xe,{[Te]:!0});$(i,Ae,i);const s=$(n,ft,Y,{[Pe]:!0});$(s,ft,s);const a=$(n,Se,Fe,{[Ie]:!0});$(a,ft),$(a,Se,a);const l=$(n,bn,oi,{[yn]:!0});b(n,wn,Qe,{[yn]:!0}),b(l,wn),$(l,bn,l);const r=$(n,_e,ri,{[si]:!0});$(r,_e,r),b(r,bo,r);const d=b(r,wo);$(d,_e,r);const u=[[ft,s]],h=[[ft,null],[Se,a]];for(let c=0;cc[0]>p[0]?1:-1);for(let c=0;c=0?f[Me]=!0:ft.test(p)?Ae.test(p)?f[$t]=!0:f[Pe]=!0:f[Te]=!0,vn(n,p,p,f)}return vn(n,"localhost",Bt,{ascii:!0}),n.jd=new z(de),{start:n,tokens:St({groups:e},ai)}}function So(t,e){const n=_o(e.replace(/[A-Z]/g,r=>r.toLowerCase())),i=n.length,s=[];let a=0,l=0;for(;l=0&&(c+=n[l].length,p++),u+=n[l].length,a+=n[l].length,l++;a-=c,l-=p,u-=c,s.push({t:h.t,v:e.slice(a-u,a),s:a-u,e:a})}return s}function _o(t){const e=[],n=t.length;let i=0;for(;i56319||i+1===n||(a=t.charCodeAt(i+1))<56320||a>57343?t[i]:t.slice(i,i+2);e.push(l),i+=l.length}return e}function tt(t,e,n,i,s){let a;const l=e.length;for(let r=0;r=0;)a++;if(a>0){e.push(n.join(""));for(let l=parseInt(t.substring(i,i+a),10);l>0;l--)n.pop();i+=a}else n.push(t[i]),i++}return e}const Dt={defaultProtocol:"http",events:null,format:Sn,formatHref:Sn,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function en(t,e){e===void 0&&(e=null);let n=St({},Dt);t&&(n=St(n,t instanceof en?t.o:t));const i=n.ignoreTags,s=[];for(let a=0;an?i.substring(0,n)+"…":i},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t){return t===void 0&&(t=Dt.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,n=this.toHref(t.get("defaultProtocol")),i=t.get("formatHref",n,this),s=t.get("tagName",n,e),a=this.toFormattedString(t),l={},r=t.get("className",n,e),d=t.get("target",n,e),u=t.get("rel",n,e),h=t.getObj("attributes",n,e),c=t.getObj("events",n,e);return l.href=i,r&&(l.class=r),d&&(l.target=d),u&&(l.rel=u),h&&St(l,h),{tagName:s,attributes:l,content:a,eventListeners:c}}};function ye(t,e){class n extends li{constructor(s,a){super(s,a),this.t=t}}for(const i in e)n.prototype[i]=e[i];return n.t=t,n}const _n=ye("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),An=ye("text"),Ao=ye("nl"),lt=ye("url",{isLink:!0,toHref(t){return t===void 0&&(t=Dt.defaultProtocol),this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==Bt&&t[1].t===nt}}),I=t=>new z(t);function Co(t){let{groups:e}=t;const n=e.domain.concat([Jt,ee,et,ne,ie,se,oe,re,G,Xe,ae,le,ue,ce,X,de,kt,pe]),i=[te,vt,ut,yt,ct,nt,Ye,q,Ze,Ot,mt,Ct,Et,he,Je,tn],s=[Jt,te,ee,ne,ie,se,ut,oe,re,G,mt,ae,le,ue,ce,he,X,de,kt,pe],a=I(),l=b(a,kt);_(l,s,l),_(l,e.domain,l);const r=I(),d=I(),u=I();_(a,e.domain,r),_(a,e.scheme,d),_(a,e.slashscheme,u),_(r,s,l),_(r,e.domain,r);const h=b(r,et);b(l,et,h),b(d,et,h),b(u,et,h);const c=b(l,q);_(c,s,l),_(c,e.domain,l);const p=I();_(h,e.domain,p),_(p,e.domain,p);const f=b(p,q);_(f,e.domain,p);const g=I(_n);_(f,e.tld,g),_(f,e.utld,g),b(h,Bt,g);const v=b(p,G);_(v,e.domain,p),_(g,e.domain,p),b(g,q,f),b(g,G,v);const S=b(g,nt);_(S,e.numeric,_n);const x=b(r,G),C=b(r,q);_(x,e.domain,r),_(C,s,l),_(C,e.domain,r);const A=I(lt);_(C,e.tld,A),_(C,e.utld,A),_(A,e.domain,r),_(A,s,l),b(A,q,C),b(A,G,x),b(A,et,h);const B=b(A,nt),L=I(lt);_(B,e.numeric,L);const O=I(lt),T=I();_(O,n,O),_(O,i,T),_(T,n,O),_(T,i,T),b(A,X,O),b(L,X,O);const V=b(d,nt),P=b(u,nt),o=b(P,X),m=b(o,X);_(d,e.domain,r),b(d,q,C),b(d,G,x),_(u,e.domain,r),b(u,q,C),b(u,G,x),_(V,e.domain,O),b(V,X,O),_(m,e.domain,O),_(m,n,O),b(m,X,O);const y=b(O,mt),w=b(O,Ct),k=b(O,Ot),E=b(O,Et);b(T,mt,y),b(T,Ct,w),b(T,Ot,k),b(T,Et,E),b(y,ut,O),b(w,yt,O),b(k,vt,O),b(E,ct,O),b(y,ut,O);const N=I(lt),M=I(lt),H=I(lt),U=I(lt);_(y,n,N),_(w,n,M),_(k,n,H),_(E,n,U);const rt=I(),Mt=I(),Ft=I(),jt=I();return _(y,i),_(w,i),_(k,i),_(E,i),_(N,n,N),_(M,n,M),_(H,n,H),_(U,n,U),_(N,i,N),_(M,i,M),_(H,i,H),_(U,i,U),_(rt,n,rt),_(Mt,n,M),_(Ft,n,H),_(jt,n,U),_(rt,i,rt),_(Mt,i,Mt),_(Ft,i,Ft),_(jt,i,jt),b(M,yt,O),b(H,vt,O),b(U,ct,O),b(N,ut,O),b(Mt,yt,O),b(Ft,vt,O),b(jt,ct,O),b(rt,ct,O),b(a,Bt,A),b(a,Qe,Ao),{start:a,tokens:ai}}function Oo(t,e,n){let i=n.length,s=0,a=[],l=[];for(;s=0&&p++,s++,h++;if(p<0)s-=h,s0&&(a.push(Ce(An,e,l)),l=[]),s-=p,h-=p;const f=c.t,g=n.slice(s-h,s);a.push(Ce(f,e,g))}}return l.length>0&&a.push(Ce(An,e,l)),a}function Ce(t,e,n){const i=n[0].s,s=n[n.length-1].e,a=e.slice(i,s);return new t(a,n)}const j={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function Eo(){j.scanner=xo(j.customSchemes);for(let t=0;t/g,">")}function Lo(t){return t.replace(/"/g,""")}function Bo(t){const e=[];for(const n in t){let i=t[n]+"";e.push(`${n}="${Lo(i)}"`)}return e.join(" ")}function Do(t){let{tagName:e,attributes:n,content:i}=t;return`<${e} ${Bo(n)}>${ui(i)}`}function No(t,e){e===void 0&&(e={}),e=new en(e,Do);const n=ko(t),i=[];for(let s=0;s `):!a.isLink||!e.check(a)?i.push(ui(a.toString())):i.push(e.render(a))}return i.join("")}String.prototype.linkify||Object.defineProperty(String.prototype,"linkify",{writable:!1,value:function(t){return No(this,t)}});var To={exports:{}};(function(t){(function(e){if(typeof n!="function"){var n=function(g){return g};n.nonNative=!0}const i=n("plaintext"),s=n("html"),a=n("comment"),l=/<(\w*)>/g,r=/<\/?([^\s\/>]+)/;function d(g,v,S){g=g||"",v=v||[],S=S||"";let x=h(v,S);return c(g,x)}function u(g,v){g=g||[],v=v||"";let S=h(g,v);return function(x){return c(x||"",S)}}d.init_streaming_mode=u;function h(g,v){return g=p(g),{allowable_tags:g,tag_replacement:v,state:i,tag_buffer:"",depth:0,in_quote_char:""}}function c(g,v){if(typeof g!="string")throw new TypeError("'html' parameter must be a string");let S=v.allowable_tags,x=v.tag_replacement,C=v.state,A=v.tag_buffer,B=v.depth,L=v.in_quote_char,O="";for(let T=0,V=g.length;T":if(L)break;if(B){B--;break}L="",C=i,A+=">",S.has(f(A))?O+=A:O+=x,A="";break;case'"':case"'":P===L?L="":L=L||P,A+=P;break;case"-":A==="":A.slice(-2)=="--"&&(C=i),A="";break;default:A+=P;break}}return v.state=C,v.tag_buffer=A,v.depth=B,v.in_quote_char=L,O}function p(g){let v=new Set;if(typeof g=="string"){let S;for(;S=l.exec(g);)v.add(S[1])}else!n.nonNative&&typeof g[n.iterator]=="function"?v=new Set(g):typeof g.forEach=="function"&&g.forEach(v.add,v);return v}function f(g){let v=r.exec(g);return v?v[1].toLowerCase():null}t.exports?t.exports=d:e.striptags=d})(Dn)})(To);const ci=function(t){if(t==null)return Fo;if(typeof t=="function")return ve(t);if(typeof t=="object")return Array.isArray(t)?Po(t):Io(t);if(typeof t=="string")return Mo(t);throw new Error("Expected function, string, or object as test")};function Po(t){const e=[];let n=-1;for(;++n":""))+")"})}return p;function p(){let f=hi,g,v,S;if((!e||a(d,u,h[h.length-1]||void 0))&&(f=Ro(n(d,h)),f[0]===Cn))return f;if("children"in d&&d.children){const x=d;if(x.children&&f[0]!==pi)for(v=(i?x.children.length:-1)+l,S=h.concat(x);v>-1&&vs.type==="text",(s,a,l)=>{let r=$o(s.value);return r=r.map(d=>typeof d=="string"?Oe("text",d):Oe("link",{url:d.props.href},[Oe("text",d.props.href)])).filter(d=>d),l.children.splice(a,1,...r.flat()),[pi,a+r.flat().length]})}},$o=t=>{let e=On.exec(t);const n=[];let i=0;for(;e!==null;){let a=e[2],l,r=t.substring(i,e.index+e[1].length);a[0]===" "&&(r+=a[0],a=a.substring(1).trim());const d=a[a.length-1];(d==="."||d===","||d===";"||e[0][0]==="("&&d===")")&&(a=a.substring(0,a.length-1),l=d),n.push(r),n.push({component:Ho,props:{href:a}}),l&&n.push(l),i=e.index+e[0].length,e=On.exec(t)}n.push(t.substring(i));const s=n.map(a=>typeof a=="string"?a:a.props.href).join("");return t===s?n:(console.error("Failed to reassemble the chunked text: "+t),t)},Wo=(t,e)=>{const n=(h,c)=>h.startsWith(c)?h.slice(c.length):h,i=(h,...c)=>c.reduce((p,f)=>n(p,f),h);if(!t)return null;const s=/^https?:\/\//.test(e),a=/^[a-z][a-z0-9+.-]*:.+/.test(e);if(!s&&a||s&&!e.startsWith(nn())||!s&&!e.startsWith("/"))return null;const l=s?i(e,nn(),"/index.php"):e,r=i(t.history.base,Ai(),"/index.php"),d=i(l,r)||"/",u=t.resolve(d).route;return u.matched.length?u.fullPath:null};qt.util.warn;function _t(t){var e;const n=At(t);return(e=n?.$el)!=null?e:n}const di=Ei?window:void 0;function Kt(...t){let e,n,i,s;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,i,s]=t,e=di):[e,n,i,s]=t,!e)return Ht;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const a=[],l=()=>{a.forEach(h=>h()),a.length=0},r=(h,c,p,f)=>(h.addEventListener(c,p,f),()=>h.removeEventListener(c,p,f)),d=Re(()=>[_t(e),At(s)],([h,c])=>{if(l(),!h)return;const p=Ci(c)?{...c}:c;a.push(...n.flatMap(f=>i.map(g=>r(h,f,g,p))))},{immediate:!0,flush:"post"}),u=()=>{d(),l()};return Pn(u),u}let En=!1;function kn(t,e,n={}){const{window:i=di,ignore:s=[],capture:a=!0,detectIframe:l=!1}=n;if(!i)return Ht;Le&&!En&&(En=!0,Array.from(i.document.body.children).forEach(h=>h.addEventListener("click",Ht)),i.document.documentElement.addEventListener("click",Ht));let r=!0;const d=h=>s.some(c=>{if(typeof c=="string")return Array.from(i.document.querySelectorAll(c)).some(p=>p===h.target||h.composedPath().includes(p));{const p=_t(c);return p&&(h.target===p||h.composedPath().includes(p))}}),u=[Kt(i,"click",h=>{const c=_t(t);if(!(!c||c===h.target||h.composedPath().includes(c))){if(h.detail===0&&(r=!d(h)),!r){r=!0;return}e(h)}},{passive:!0,capture:a}),Kt(i,"pointerdown",h=>{const c=_t(t);r=!d(h)&&!!(c&&!h.composedPath().includes(c))},{passive:!0}),l&&Kt(i,"blur",h=>{setTimeout(()=>{var c;const p=_t(t);((c=i.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!p?.contains(i.document.activeElement)&&e(h)},0)})].filter(Boolean);return()=>u.forEach(h=>h())}const Ko={[sn.mounted](t,e){const n=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=kn(t,e.value,{capture:n});else{const[i,s]=e.value;t.__onClickOutside_stop=kn(t,i,Object.assign({capture:n},s))}},[sn.unmounted](t){t.__onClickOutside_stop()}};function Ee(t){return typeof Window<"u"&&t instanceof Window?t.document.documentElement:typeof Document<"u"&&t instanceof Document?t.documentElement:t}function fi(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}const ke=new WeakMap;function Go(t,e=!1){const n=Tt(e);let i=null,s="";Re(Oi(t),r=>{const d=Ee(At(r));if(d){const u=d;if(ke.get(u)||ke.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(s=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const a=()=>{const r=Ee(At(t));!r||n.value||(Le&&(i=Kt(r,"touchmove",d=>{qo(d)},{passive:!1})),r.style.overflow="hidden",n.value=!0)},l=()=>{const r=Ee(At(t));!r||!n.value||(Le&&i?.(),r.style.overflow=s,ke.delete(r),n.value=!1)};return Pn(l),Pi({get(){return n.value},set(r){r?a():l()}})}function Xo(){let t=!1;const e=Tt(!1);return(n,i)=>{if(e.value=i.value,t)return;t=!0;const s=Go(n,i.value);Re(e,a=>s.value=a)}}Xo();const gi={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(t){var e,n;if(!t)return;const i=qe.getCapabilities();if(!(!Object.prototype.hasOwnProperty.call(i,"user_status")||!i.user_status.enabled)&&Be())try{const{data:s}=await ze.get(Nn("apps/user_status/api/v1/statuses/{userId}",{userId:t})),{status:a,message:l,icon:r}=s.ocs.data;this.userStatus.status=a,this.userStatus.message=l||"",this.userStatus.icon=r||"",this.hasStatus=!0}catch(s){if(s.response.status===404&&((n=(e=s.response.data.ocs)==null?void 0:e.data)==null?void 0:n.length)===0)return;console.error(s)}}}};Nt(ki);const mi=In("nextcloud").persist().build();function Qo(t){const e=mi.getItem("user-has-avatar."+t);return typeof e=="string"?!!e:null}function Ln(t,e){t&&mi.setItem("user-has-avatar."+t,e)}const Yo={name:"NcAvatar",directives:{ClickOutside:Ko},components:{DotsHorizontal:Li,NcActions:Bi,NcButton:Di,NcIconSvgWrapper:jn,NcLoadingIcon:Mn,NcUserStatusIcon:no},mixins:[gi],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[String,Object,Element,Boolean],default:"body"}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){var t,e;if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?D("Avatar of {displayName}, {status}",{displayName:(t=this.displayName)!=null?t:this.user,status:Zn(this.userStatus.status)}):D("Avatar of {displayName}",{displayName:(e=this.displayName)!=null?e:this.user})},canDisplayUserStatus(){return this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){var t;return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===((t=Be())==null?void 0:t.uid)||this.userDoesNotExist||this.url)},showInitials(){return this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$slots.icon)},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=fn(this.userIdentifier);return{backgroundColor:"rgba(".concat(t,", ").concat(e,", ").concat(n,", 0.1)")}},initialsStyle(){const{r:t,g:e,b:n}=fn(this.userIdentifier);return{color:"rgb(".concat(t,", ").concat(e,", ").concat(n,")")}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let t="?";if(this.showInitials){const e=this.userIdentifier.trim();if(e==="")return t;const n=e.match(/[\p{L}\p{N}\s]/gu);if(n==null)return t;const i=n.join(""),s=i.lastIndexOf(" ");t=String.fromCodePoint(i.codePointAt(0)),s!==-1&&(t=t.concat(String.fromCodePoint(i.codePointAt(s+1))))}return t.toLocaleUpperCase()},menu(){const t=this.contactsMenuActions.map(n=>{const i=Wo(this.$router,n.hyperlink);return{ncActionComponent:i?Hs:js,ncActionComponentProps:i?{to:i,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});function e(n){const i=document.createTextNode(n),s=document.createElement("p");return s.appendChild(i),s.innerHTML}if(this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=` +`:if(A==="<"){C=i,O+="< ",A="";break}A+=P;break;default:A+=P;break}else if(C===a)switch(P){case">":A.slice(-2)=="--"&&(C=i),A="";break;default:A+=P;break}}return v.state=C,v.tag_buffer=A,v.depth=B,v.in_quote_char=L,O}function p(g){let v=new Set;if(typeof g=="string"){let S;for(;S=l.exec(g);)v.add(S[1])}else!n.nonNative&&typeof g[n.iterator]=="function"?v=new Set(g):typeof g.forEach=="function"&&g.forEach(v.add,v);return v}function f(g){let v=r.exec(g);return v?v[1].toLowerCase():null}t.exports?t.exports=d:e.striptags=d})(Dn)})(To);const ci=function(t){if(t==null)return Fo;if(typeof t=="function")return ve(t);if(typeof t=="object")return Array.isArray(t)?Po(t):Io(t);if(typeof t=="string")return Mo(t);throw new Error("Expected function, string, or object as test")};function Po(t){const e=[];let n=-1;for(;++n":""))+")"})}return p;function p(){let f=hi,g,v,S;if((!e||a(d,u,h[h.length-1]||void 0))&&(f=Ro(n(d,h)),f[0]===Cn))return f;if("children"in d&&d.children){const x=d;if(x.children&&f[0]!==pi)for(v=(i?x.children.length:-1)+l,S=h.concat(x);v>-1&&vs.type==="text",(s,a,l)=>{let r=$o(s.value);return r=r.map(d=>typeof d=="string"?Oe("text",d):Oe("link",{url:d.props.href},[Oe("text",d.props.href)])).filter(d=>d),l.children.splice(a,1,...r.flat()),[pi,a+r.flat().length]})}},$o=t=>{let e=On.exec(t);const n=[];let i=0;for(;e!==null;){let a=e[2],l,r=t.substring(i,e.index+e[1].length);a[0]===" "&&(r+=a[0],a=a.substring(1).trim());const d=a[a.length-1];(d==="."||d===","||d===";"||e[0][0]==="("&&d===")")&&(a=a.substring(0,a.length-1),l=d),n.push(r),n.push({component:Ho,props:{href:a}}),l&&n.push(l),i=e.index+e[0].length,e=On.exec(t)}n.push(t.substring(i));const s=n.map(a=>typeof a=="string"?a:a.props.href).join("");return t===s?n:(console.error("Failed to reassemble the chunked text: "+t),t)},Wo=(t,e)=>{const n=(h,c)=>h.startsWith(c)?h.slice(c.length):h,i=(h,...c)=>c.reduce((p,f)=>n(p,f),h);if(!t)return null;const s=/^https?:\/\//.test(e),a=/^[a-z][a-z0-9+.-]*:.+/.test(e);if(!s&&a||s&&!e.startsWith(nn())||!s&&!e.startsWith("/"))return null;const l=s?i(e,nn(),"/index.php"):e,r=i(t.history.base,Ai(),"/index.php"),d=i(l,r)||"/",u=t.resolve(d).route;return u.matched.length?u.fullPath:null};qt.util.warn;function _t(t){var e;const n=At(t);return(e=n?.$el)!=null?e:n}const di=Ei?window:void 0;function Kt(...t){let e,n,i,s;if(typeof t[0]=="string"||Array.isArray(t[0])?([n,i,s]=t,e=di):[e,n,i,s]=t,!e)return Ht;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const a=[],l=()=>{a.forEach(h=>h()),a.length=0},r=(h,c,p,f)=>(h.addEventListener(c,p,f),()=>h.removeEventListener(c,p,f)),d=Re(()=>[_t(e),At(s)],([h,c])=>{if(l(),!h)return;const p=Oi(c)?{...c}:c;a.push(...n.flatMap(f=>i.map(g=>r(h,f,g,p))))},{immediate:!0,flush:"post"}),u=()=>{d(),l()};return Pn(u),u}let En=!1;function kn(t,e,n={}){const{window:i=di,ignore:s=[],capture:a=!0,detectIframe:l=!1}=n;if(!i)return Ht;Le&&!En&&(En=!0,Array.from(i.document.body.children).forEach(h=>h.addEventListener("click",Ht)),i.document.documentElement.addEventListener("click",Ht));let r=!0;const d=h=>s.some(c=>{if(typeof c=="string")return Array.from(i.document.querySelectorAll(c)).some(p=>p===h.target||h.composedPath().includes(p));{const p=_t(c);return p&&(h.target===p||h.composedPath().includes(p))}}),u=[Kt(i,"click",h=>{const c=_t(t);if(!(!c||c===h.target||h.composedPath().includes(c))){if(h.detail===0&&(r=!d(h)),!r){r=!0;return}e(h)}},{passive:!0,capture:a}),Kt(i,"pointerdown",h=>{const c=_t(t);r=!d(h)&&!!(c&&!h.composedPath().includes(c))},{passive:!0}),l&&Kt(i,"blur",h=>{setTimeout(()=>{var c;const p=_t(t);((c=i.document.activeElement)==null?void 0:c.tagName)==="IFRAME"&&!p?.contains(i.document.activeElement)&&e(h)},0)})].filter(Boolean);return()=>u.forEach(h=>h())}const Ko={[sn.mounted](t,e){const n=!e.modifiers.bubble;if(typeof e.value=="function")t.__onClickOutside_stop=kn(t,e.value,{capture:n});else{const[i,s]=e.value;t.__onClickOutside_stop=kn(t,i,Object.assign({capture:n},s))}},[sn.unmounted](t){t.__onClickOutside_stop()}};function Ee(t){return typeof Window<"u"&&t instanceof Window?t.document.documentElement:typeof Document<"u"&&t instanceof Document?t.documentElement:t}function fi(t){const e=window.getComputedStyle(t);if(e.overflowX==="scroll"||e.overflowY==="scroll"||e.overflowX==="auto"&&t.clientWidth1?!0:(e.preventDefault&&e.preventDefault(),!1)}const ke=new WeakMap;function Go(t,e=!1){const n=Tt(e);let i=null,s="";Re(Ci(t),r=>{const d=Ee(At(r));if(d){const u=d;if(ke.get(u)||ke.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(s=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const a=()=>{const r=Ee(At(t));!r||n.value||(Le&&(i=Kt(r,"touchmove",d=>{qo(d)},{passive:!1})),r.style.overflow="hidden",n.value=!0)},l=()=>{const r=Ee(At(t));!r||!n.value||(Le&&i?.(),r.style.overflow=s,ke.delete(r),n.value=!1)};return Pn(l),Pi({get(){return n.value},set(r){r?a():l()}})}function Xo(){let t=!1;const e=Tt(!1);return(n,i)=>{if(e.value=i.value,t)return;t=!0;const s=Go(n,i.value);Re(e,a=>s.value=a)}}Xo();const gi={data(){return{hasStatus:!1,userStatus:{status:null,message:null,icon:null}}},methods:{async fetchUserStatus(t){var e,n;if(!t)return;const i=qe.getCapabilities();if(!(!Object.prototype.hasOwnProperty.call(i,"user_status")||!i.user_status.enabled)&&Be())try{const{data:s}=await ze.get(Nn("apps/user_status/api/v1/statuses/{userId}",{userId:t})),{status:a,message:l,icon:r}=s.ocs.data;this.userStatus.status=a,this.userStatus.message=l||"",this.userStatus.icon=r||"",this.hasStatus=!0}catch(s){if(s.response.status===404&&((n=(e=s.response.data.ocs)==null?void 0:e.data)==null?void 0:n.length)===0)return;console.error(s)}}}};Nt(ki);const mi=In("nextcloud").persist().build();function Qo(t){const e=mi.getItem("user-has-avatar."+t);return typeof e=="string"?!!e:null}function Ln(t,e){t&&mi.setItem("user-has-avatar."+t,e)}const Yo={name:"NcAvatar",directives:{ClickOutside:Ko},components:{DotsHorizontal:Li,NcActions:Bi,NcButton:Di,NcIconSvgWrapper:jn,NcLoadingIcon:Mn,NcUserStatusIcon:no},mixins:[gi],props:{url:{type:String,default:void 0},iconClass:{type:String,default:void 0},user:{type:String,default:void 0},showUserStatus:{type:Boolean,default:!0},showUserStatusCompact:{type:Boolean,default:!0},preloadedUserStatus:{type:Object,default:void 0},isGuest:{type:Boolean,default:!1},displayName:{type:String,default:void 0},size:{type:Number,default:32},allowPlaceholder:{type:Boolean,default:!0},disableTooltip:{type:Boolean,default:!1},disableMenu:{type:Boolean,default:!1},tooltipMessage:{type:String,default:null},isNoUser:{type:Boolean,default:!1},menuContainer:{type:[String,Object,Element,Boolean],default:"body"}},data(){return{avatarUrlLoaded:null,avatarSrcSetLoaded:null,userDoesNotExist:!1,isAvatarLoaded:!1,isMenuLoaded:!1,contactsMenuLoading:!1,contactsMenuActions:[],contactsMenuOpenState:!1}},computed:{avatarAriaLabel(){var t,e;if(this.hasMenu)return this.canDisplayUserStatus||this.showUserStatusIconOnAvatar?D("Avatar of {displayName}, {status}",{displayName:(t=this.displayName)!=null?t:this.user,status:Zn(this.userStatus.status)}):D("Avatar of {displayName}",{displayName:(e=this.displayName)!=null?e:this.user})},canDisplayUserStatus(){return this.showUserStatus&&this.hasStatus&&["online","away","busy","dnd"].includes(this.userStatus.status)},showUserStatusIconOnAvatar(){return this.showUserStatus&&this.showUserStatusCompact&&this.hasStatus&&this.userStatus.status!=="dnd"&&this.userStatus.icon},userIdentifier(){return this.isDisplayNameDefined?this.displayName:this.isUserDefined?this.user:""},isUserDefined(){return typeof this.user<"u"},isDisplayNameDefined(){return typeof this.displayName<"u"},isUrlDefined(){return typeof this.url<"u"},hasMenu(){var t;return this.disableMenu?!1:this.isMenuLoaded?this.menu.length>0:!(this.user===((t=Be())==null?void 0:t.uid)||this.userDoesNotExist||this.url)},showInitials(){return this.allowPlaceholder&&this.userDoesNotExist&&!(this.iconClass||this.$slots.icon)},avatarStyle(){return{"--size":this.size+"px",lineHeight:this.size+"px",fontSize:Math.round(this.size*.45)+"px"}},initialsWrapperStyle(){const{r:t,g:e,b:n}=fn(this.userIdentifier);return{backgroundColor:"rgba(".concat(t,", ").concat(e,", ").concat(n,", 0.1)")}},initialsStyle(){const{r:t,g:e,b:n}=fn(this.userIdentifier);return{color:"rgb(".concat(t,", ").concat(e,", ").concat(n,")")}},tooltip(){return this.disableTooltip?!1:this.tooltipMessage?this.tooltipMessage:this.displayName},initials(){let t="?";if(this.showInitials){const e=this.userIdentifier.trim();if(e==="")return t;const n=e.match(/[\p{L}\p{N}\s]/gu);if(n==null)return t;const i=n.join(""),s=i.lastIndexOf(" ");t=String.fromCodePoint(i.codePointAt(0)),s!==-1&&(t=t.concat(String.fromCodePoint(i.codePointAt(s+1))))}return t.toLocaleUpperCase()},menu(){const t=this.contactsMenuActions.map(n=>{const i=Wo(this.$router,n.hyperlink);return{ncActionComponent:i?Hs:js,ncActionComponentProps:i?{to:i,icon:n.icon}:{href:n.hyperlink,icon:n.icon},text:n.title}});function e(n){const i=document.createTextNode(n),s=document.createElement("p");return s.appendChild(i),s.innerHTML}if(this.showUserStatus&&(this.userStatus.icon||this.userStatus.message)){const n=` `.concat(e(this.userStatus.icon),` `);return[{ncActionComponent:Gs,ncActionComponentProps:{},iconSvg:this.userStatus.icon?n:void 0,text:"".concat(this.userStatus.message)}].concat(t)}return t}},watch:{url(){this.userDoesNotExist=!1,this.loadAvatarUrl()},user(){this.userDoesNotExist=!1,this.isMenuLoaded=!1,this.loadAvatarUrl()}},mounted(){this.loadAvatarUrl(),be("settings:avatar:updated",this.loadAvatarUrl),be("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&(this.preloadedUserStatus?(this.userStatus.status=this.preloadedUserStatus.status||"",this.userStatus.message=this.preloadedUserStatus.message||"",this.userStatus.icon=this.preloadedUserStatus.icon||"",this.hasStatus=this.preloadedUserStatus.status!==null):this.fetchUserStatus(this.user),be("user_status:status.updated",this.handleUserStatusUpdated))},beforeDestroy(){we("settings:avatar:updated",this.loadAvatarUrl),we("settings:display-name:updated",this.loadAvatarUrl),this.showUserStatus&&this.user&&!this.isNoUser&&we("user_status:status.updated",this.handleUserStatusUpdated)},methods:{t:D,handleUserStatusUpdated(t){this.user===t.userId&&(this.userStatus={status:t.status,icon:t.icon,message:t.message})},async toggleMenu(t){t.type==="keydown"&&t.key!=="Enter"||(this.contactsMenuOpenState||await this.fetchContactsMenu(),this.contactsMenuOpenState=!this.contactsMenuOpenState)},closeMenu(){this.contactsMenuOpenState=!1},async fetchContactsMenu(){this.contactsMenuLoading=!0;try{const t=encodeURIComponent(this.user),{data:e}=await ze.post(Tn("contactsmenu/findOne"),"shareType=0&shareWith=".concat(t));this.contactsMenuActions=e.topAction?[e.topAction].concat(e.actions):e.actions}catch{this.contactsMenuOpenState=!1}this.contactsMenuLoading=!1,this.isMenuLoaded=!0},loadAvatarUrl(){if(this.isAvatarLoaded=!1,!this.isUrlDefined&&(!this.isUserDefined||this.isNoUser)){this.isAvatarLoaded=!0,this.userDoesNotExist=!0;return}if(this.isUrlDefined){this.updateImageIfValid(this.url);return}if(this.size<=64){const t=this.avatarUrlGenerator(this.user,64),e=[t+" 1x",this.avatarUrlGenerator(this.user,512)+" 8x"].join(", ");this.updateImageIfValid(t,e)}else{const t=this.avatarUrlGenerator(this.user,512);this.updateImageIfValid(t)}},avatarUrlGenerator(t,e){var n;let i=co(t,e,this.isGuest);return t===((n=Be())==null?void 0:n.uid)&&typeof oc_userconfig<"u"&&(i+="?v="+oc_userconfig.avatar.version),i},updateImageIfValid(t,e=null){const n=Qo(this.user);if(this.isUserDefined&&typeof n=="boolean"){this.isAvatarLoaded=!0,this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),n===!1&&(this.userDoesNotExist=!0);return}const i=new Image;i.onload=()=>{this.avatarUrlLoaded=t,e&&(this.avatarSrcSetLoaded=e),this.isAvatarLoaded=!0,Ln(this.user,!0)},i.onerror=()=>{console.debug("Invalid avatar url",t),this.avatarUrlLoaded=null,this.avatarSrcSetLoaded=null,this.userDoesNotExist=!0,this.isAvatarLoaded=!1,Ln(this.user,!1)},e&&(i.srcset=e),i.src=t}}};var Zo=function(){var t=this,e=t._self._c;return e("span",{directives:[{name:"click-outside",rawName:"v-click-outside",value:t.closeMenu,expression:"closeMenu"}],ref:"main",staticClass:"avatardiv popovermenu-wrapper",class:{"avatardiv--unknown":t.userDoesNotExist,"avatardiv--with-menu":t.hasMenu,"avatardiv--with-menu-loading":t.contactsMenuLoading},style:t.avatarStyle},[t._t("icon",function(){return[t.iconClass?e("span",{staticClass:"avatar-class-icon",class:t.iconClass}):t.isAvatarLoaded&&!t.userDoesNotExist?e("img",{attrs:{src:t.avatarUrlLoaded,srcset:t.avatarSrcSetLoaded,alt:""}}):t._e()]}),t.hasMenu&&t.menu.length===0?e("NcButton",{staticClass:"action-item action-item__menutoggle",attrs:{type:"tertiary-no-background","aria-label":t.avatarAriaLabel,title:t.tooltip},on:{click:t.toggleMenu},scopedSlots:t._u([{key:"icon",fn:function(){return[t.contactsMenuLoading?e("NcLoadingIcon"):e("DotsHorizontal",{attrs:{size:20}})]},proxy:!0}],null,!1,2617833509)}):t.hasMenu?e("NcActions",{attrs:{"force-menu":"","manual-open":"",type:"tertiary-no-background",container:t.menuContainer,open:t.contactsMenuOpenState,"aria-label":t.avatarAriaLabel,title:t.tooltip},on:{"update:open":function(n){t.contactsMenuOpenState=n},click:t.toggleMenu},scopedSlots:t._u([t.contactsMenuLoading?{key:"icon",fn:function(){return[e("NcLoadingIcon")]},proxy:!0}:null],null,!0)},t._l(t.menu,function(n,i){return e(n.ncActionComponent,t._b({key:i,tag:"component",scopedSlots:t._u([n.iconSvg?{key:"icon",fn:function(){return[e("NcIconSvgWrapper",{attrs:{svg:n.iconSvg}})]},proxy:!0}:null],null,!0)},"component",n.ncActionComponentProps,!1),[t._v(" "+t._s(n.text)+" ")])}),1):t._e(),t.showUserStatusIconOnAvatar?e("span",{staticClass:"avatardiv__user-status avatardiv__user-status--icon"},[t._v(" "+t._s(t.userStatus.icon)+" ")]):t.canDisplayUserStatus?e("NcUserStatusIcon",{staticClass:"avatardiv__user-status",attrs:{status:t.userStatus.status,"aria-hidden":String(t.hasMenu)}}):t._e(),t.showInitials?e("span",{staticClass:"avatardiv__initials-wrapper",style:t.initialsWrapperStyle},[e("span",{staticClass:"avatardiv__initials",style:t.initialsStyle},[t._v(" "+t._s(t.initials)+" ")])]):t._e()],2)},Jo=[],tr=K(Yo,Zo,Jo,!1,null,"e7e86f59");const er=tr.exports,nr=8,Bn=32,ir={name:"NcListItemIcon",components:{NcAvatar:er,NcHighlight:Yn,NcIconSvgWrapper:jn},mixins:[gi],props:{name:{type:String,required:!0},subname:{type:String,default:""},icon:{type:String,default:""},iconSvg:{type:String,default:""},iconName:{type:String,default:""},search:{type:String,default:""},avatarSize:{type:Number,default:Bn},noMargin:{type:Boolean,default:!1},displayName:{type:String,default:null},isNoUser:{type:Boolean,default:!1},id:{type:String,default:null}},setup(){return{margin:nr,defaultSize:Bn}},computed:{hasIcon(){return this.icon!==""},hasIconSvg(){return this.iconSvg!==""},isValidSubname(){var t,e;return((e=(t=this.subname)==null?void 0:t.trim)==null?void 0:e.call(t))!==""},isSizeBigEnough(){return this.avatarSize>=26},cssVars(){const t=this.noMargin?0:this.margin;return{"--height":this.avatarSize+2*t+"px","--margin":this.margin+"px"}},searchParts(){const t=/^([^<]*)<([^>]+)>?$/,e=this.search.match(t);return this.isNoUser||!e?[this.search,this.search]:[e[1].trim(),e[2]]}},beforeMount(){!this.isNoUser&&!this.subname&&this.fetchUserStatus(this.user)}};var sr=function(){var t=this,e=t._self._c;return e("span",t._g({staticClass:"option",class:{"option--compact":t.avatarSize({...t,...e.props}),{}),ariaLabelClearSelected:{type:String,default:D("Clear selected")},ariaLabelCombobox:{type:String,default:null},ariaLabelListbox:{type:String,default:D("Options")},ariaLabelDeselectOption:{type:Function,default:t=>D("Deselect {option}",{option:t})},appendToBody:{type:Boolean,default:!0},calculatePosition:{type:Function,default:null},closeOnSelect:{type:Boolean,default:!0},components:{type:Object,default:()=>({Deselect:{render:t=>t(Ni,{props:{size:20,fillColor:"var(--vs-controls-color)"},style:{cursor:"pointer"}})}})},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},dropdownShouldOpen:{type:Function,default:({noDrop:t,open:e})=>t?!1:e},filterBy:{type:Function,default:null},inputClass:{type:[String,Object],default:null},inputId:{type:String,default:()=>"select-input-".concat(on())},inputLabel:{type:String,default:null},labelOutside:{type:Boolean,default:!1},keyboardFocusBorder:{type:Boolean,default:!0},label:{type:String,default:null},loading:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},noWrap:{type:Boolean,default:!1},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},mapKeydown:{type:Function,default(t,e){return{...t,27:n=>{e.open&&n.stopPropagation(),t[27](n)}}}},uid:{type:String,default:()=>on()},placement:{type:String,default:"bottom"},resetFocusOnOptionsChange:{type:Boolean,default:!0},userSelect:{type:Boolean,default:!1},value:{type:[String,Number,Object,Array],default:null},required:{type:Boolean,default:!1}," ":{}},emits:[" "],setup(){const t=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area")),e=Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));return{avatarSize:t-2*e}},data(){return{search:""}},computed:{inputRequired(){return this.required?this.value===null||Array.isArray(this.value)&&this.value.length===0:null},localCalculatePosition(){return this.calculatePosition!==null?this.calculatePosition:(t,e,{width:n})=>{t.style.width=n;const i={name:"addClass",fn(l){return t.classList.add("vs__dropdown-menu--floating"),{}}},s={name:"togglePlacementClass",fn({placement:l}){return e.$el.classList.toggle("select--drop-up",l==="top"),t.classList.toggle("vs__dropdown-menu--floating-placement-top",l==="top"),{}}},a=()=>{ys(e.$refs.toggle,t,{placement:this.placement,middleware:[Qi(-1),i,s,Gi(),Yi({limiter:Zi()})]}).then(({x:l,y:r})=>{Object.assign(t.style,{left:"".concat(l,"px"),top:"".concat(r,"px"),width:"".concat(e.$refs.toggle.getBoundingClientRect().width,"px")})})};return ms(e.$refs.toggle,t,a)}},localFilterBy(){const t=/[^<]*<([^>]+)/;return this.filterBy!==null?this.filterBy:this.userSelect?(e,n,i)=>{var s,a,l;const r=i.match(t);return r&&((l=(a=(s=e.subname)==null?void 0:s.toLocaleLowerCase)==null?void 0:a.call(s))==null?void 0:l.indexOf(r[1].toLocaleLowerCase()))>-1||"".concat(n," ").concat(e.subname).toLocaleLowerCase().indexOf(i.toLocaleLowerCase())>-1}:at.VueSelect.props.filterBy.default},localLabel(){return this.label!==null?this.label:this.userSelect?"displayName":at.VueSelect.props.label.default},propsToForward(){const t=[...Object.keys(at.VueSelect.props),...at.VueSelect.mixins.flatMap(e=>{var n;return Object.keys((n=e.props)!=null?n:{})})];return{...Object.fromEntries(Object.entries(this.$props).filter(([e,n])=>t.includes(e))),calculatePosition:this.localCalculatePosition,filterBy:this.localFilterBy,label:this.localLabel}}},mounted(){!this.labelOutside&&!this.inputLabel&&!this.ariaLabelCombobox&&qt.util.warn("[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`."),this.inputLabel&&this.ariaLabelCombobox&&qt.util.warn("[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.")},methods:{t:D}};var ur=function(){var t=this,e=t._self._c;return e("VueSelect",t._g(t._b({staticClass:"select",class:{"select--no-wrap":t.noWrap,"user-select":t.userSelect},on:{search:n=>t.search=n},scopedSlots:t._u([!t.labelOutside&&t.inputLabel?{key:"header",fn:function(){return[e("label",{staticClass:"select__label",attrs:{for:t.inputId}},[t._v(" "+t._s(t.inputLabel)+" ")])]},proxy:!0}:null,{key:"search",fn:function({attributes:n,events:i}){return[e("input",t._g(t._b({class:["vs__search",t.inputClass],attrs:{required:t.inputRequired}},"input",n,!1),i))]}},{key:"open-indicator",fn:function({attributes:n}){return[e("ChevronDown",t._b({style:{cursor:t.disabled?null:"pointer"},attrs:{"fill-color":"var(--vs-controls-color)",size:26}},"ChevronDown",n,!1))]}},{key:"option",fn:function(n){return[t.userSelect?e("NcListItemIcon",t._b({attrs:{"avatar-size":32,name:n[t.localLabel],search:t.search}},"NcListItemIcon",n,!1)):e("NcEllipsisedOption",{attrs:{name:String(n[t.localLabel]),search:t.search}})]}},{key:"selected-option",fn:function(n){return[t.userSelect?e("NcListItemIcon",t._b({attrs:{"avatar-size":t.avatarSize,name:n[t.localLabel],"no-margin":"",search:t.search}},"NcListItemIcon",n,!1)):e("NcEllipsisedOption",{attrs:{name:String(n[t.localLabel]),search:t.search}})]}},{key:"spinner",fn:function(n){return[n.loading?e("NcLoadingIcon"):t._e()]}},{key:"no-options",fn:function(){return[t._v(" "+t._s(t.t("No results"))+" ")]},proxy:!0},t._l(t.$scopedSlots,function(n,i){return{key:i,fn:function(s){return[t._t(i,null,null,s)]}}})],null,!0)},"VueSelect",t.propsToForward,!1),t.$listeners))},cr=[],hr=K(lr,ur,cr,!1,null,null);const mr=hr.exports,yr=In("notifications").clearOnLogout().persist().build();export{yr as B,Cn as E,mr as N,fr as U,Vo as a,er as b,ci as c,qe as d,Ko as e,Wo as g,$o as p,gr as r,Oe as u,zo as v}; diff --git a/js/BrowserStorage-CNOycwTd.chunk.mjs.license b/js/BrowserStorage-BfMD8rLD.chunk.mjs.license similarity index 100% rename from js/BrowserStorage-CNOycwTd.chunk.mjs.license rename to js/BrowserStorage-BfMD8rLD.chunk.mjs.license diff --git a/js/BrowserStorage-CNOycwTd.chunk.mjs.map b/js/BrowserStorage-BfMD8rLD.chunk.mjs.map similarity index 99% rename from js/BrowserStorage-CNOycwTd.chunk.mjs.map rename to js/BrowserStorage-BfMD8rLD.chunk.mjs.map index 499069ef..c8aa7309 100644 --- a/js/BrowserStorage-CNOycwTd.chunk.mjs.map +++ b/js/BrowserStorage-BfMD8rLD.chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"BrowserStorage-CNOycwTd.chunk.mjs","sources":["../node_modules/@nextcloud/vue/dist/chunks/NcIconSvgWrapper-DjrkBUkC.mjs","../node_modules/@nextcloud/vue-select/dist/vue-select.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-D3Tfshug.mjs","../node_modules/@nextcloud/vue/dist/chunks/index-Bz6q9mZw.mjs","../node_modules/@nextcloud/vue/dist/Components/NcEllipsisedOption.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionGlobal-DqVa7c7G.mjs","../node_modules/@nextcloud/vue/dist/chunks/actionText-fFcUPi2g.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionLink.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionRouter.mjs","../node_modules/@nextcloud/vue/dist/Components/NcActionText.mjs","../node_modules/@nextcloud/capabilities/dist/index.cjs","../node_modules/@nextcloud/vue/dist/chunks/NcUserStatusIcon-CPZOWw3t.mjs","../node_modules/@nextcloud/vue/dist/chunks/GenColors-BWE946ht.mjs","../node_modules/crypt/crypt.js","../node_modules/charenc/charenc.js","../node_modules/is-buffer/index.js","../node_modules/md5/md5.js","../node_modules/@nextcloud/vue/dist/chunks/usernameToColor-D6FJP4ni.mjs","../node_modules/@nextcloud/vue/dist/chunks/getAvatarUrl-DxvUjKMi.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsFullscreen.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsMobile.mjs","../node_modules/linkifyjs/dist/linkify.es.js","../node_modules/linkify-string/dist/linkify-string.es.js","../node_modules/striptags/src/striptags.js","../node_modules/unist-util-is/lib/index.js","../node_modules/unist-util-visit-parents/lib/index.js","../node_modules/unist-util-visit/lib/index.js","../node_modules/unist-builder/lib/index.js","../node_modules/@nextcloud/vue/dist/chunks/autolink-cbuFALXr.mjs","../node_modules/@vueuse/components/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/components/index.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-lRUjWiR6.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItemIcon-Bc4y0xg3.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-DRRPiPZG.mjs","../src/services/BrowserStorage.js"],"sourcesContent":["import '../assets/NcIconSvgWrapper-BwsJ8wBM.css';\nimport Vue from \"vue\";\nimport DOMPurify from \"dompurify\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n name: \"NcIconSvgWrapper\",\n props: {\n /**\n * Set if the icon should be used as inline content e.g. within text.\n * By default the icon is made a block element for use inside `icon`-slots.\n */\n inline: {\n type: Boolean,\n default: false\n },\n /**\n * Raw SVG string to render\n */\n svg: {\n type: String,\n default: \"\"\n },\n /**\n * Label of the icon, used in aria-label\n */\n name: {\n type: String,\n default: \"\"\n },\n /**\n * Raw SVG path to render. Takes precedence over the SVG string in the `svg` prop.\n */\n path: {\n type: String,\n default: \"\"\n },\n /**\n * Size of the icon to show. Only use if not using within an icon slot.\n * Defaults to 20px which is the Nextcloud icon size for all icon slots.\n * @default 20\n */\n size: {\n type: [Number, String],\n default: 20,\n validator: (value) => typeof value === \"number\" || value === \"auto\"\n }\n },\n computed: {\n /**\n * Icon size used in CSS\n */\n iconSize() {\n return typeof this.size === \"number\" ? \"\".concat(this.size, \"px\") : this.size;\n },\n cleanSvg() {\n if (!this.svg || this.path) {\n return;\n }\n const svg = DOMPurify.sanitize(this.svg);\n const svgDocument = new DOMParser().parseFromString(svg, \"image/svg+xml\");\n if (svgDocument.querySelector(\"parsererror\")) {\n Vue.util.warn(\"SVG is not valid\");\n return \"\";\n }\n if (svgDocument.documentElement.id) {\n svgDocument.documentElement.removeAttribute(\"id\");\n }\n return svgDocument.documentElement.outerHTML;\n },\n attributes() {\n return {\n class: [\"icon-vue\", { \"icon-vue--inline\": this.inline }],\n style: {\n \"--icon-size\": this.iconSize\n },\n role: \"img\",\n \"aria-hidden\": !this.name ? true : void 0,\n \"aria-label\": this.name || void 0\n };\n }\n }\n};\nvar _sfc_render = function render() {\n var _vm = this, _c = _vm._self._c;\n return !_vm.cleanSvg ? _c(\"span\", _vm._b({}, \"span\", _vm.attributes, false), [_c(\"svg\", { attrs: { \"viewBox\": \"0 0 24 24\", \"xmlns\": \"http://www.w3.org/2000/svg\" } }, [_c(\"path\", { attrs: { \"d\": _vm.path } })])]) : _c(\"span\", _vm._b({ domProps: { \"innerHTML\": _vm._s(_vm.cleanSvg) } }, \"span\", _vm.attributes, false));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n _sfc_main,\n _sfc_render,\n _sfc_staticRenderFns,\n false,\n null,\n \"2d0a4d76\"\n);\nconst NcIconSvgWrapper = __component__.exports;\nexport {\n NcIconSvgWrapper as N\n};\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.VueSelect=t():e.VueSelect=t()}(\"undefined\"!=typeof self?self:this,(function(){return(()=>{var e={646:e=>{e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},860:e=>{e.exports=function(e){if(Symbol.iterator in Object(e)||\"[object Arguments]\"===Object.prototype.toString.call(e))return Array.from(e)}},206:e=>{e.exports=function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance\")}},319:(e,t,n)=>{var o=n(646),i=n(860),s=n(206);e.exports=function(e){return o(e)||i(e)||s()}},8:e=>{function t(n){return\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},t(n)}e.exports=t}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var s=t[o]={exports:{}};return e[o](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var o={};return(()=>{\"use strict\";n.r(o),n.d(o,{VueSelect:()=>m,default:()=>_,mixins:()=>O});var e=n(319),t=n.n(e),i=n(8),s=n.n(i),r=n(713),a=n.n(r);const l={props:{autoscroll:{type:Boolean,default:!0}},watch:{typeAheadPointer:function(){this.autoscroll&&this.maybeAdjustScroll()},open:function(e){var t=this;this.autoscroll&&e&&this.$nextTick((function(){return t.maybeAdjustScroll()}))}},methods:{maybeAdjustScroll:function(){var e,t=(null===(e=this.$refs.dropdownMenu)||void 0===e?void 0:e.children[this.typeAheadPointer])||!1;if(t){var n=this.getDropdownViewport(),o=t.getBoundingClientRect(),i=o.top,s=o.bottom,r=o.height;if(in.bottom)return this.$refs.dropdownMenu.scrollTop=t.offsetTop-(n.height-r)}},getDropdownViewport:function(){return this.$refs.dropdownMenu?this.$refs.dropdownMenu.getBoundingClientRect():{height:0,top:0,bottom:0}}}},c={data:function(){return{typeAheadPointer:-1}},watch:{filteredOptions:function(){if(this.resetFocusOnOptionsChange)for(var e=0;e=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e0&&void 0!==arguments[0]?arguments[0]:null;return this.mutableLoading=null==e?!this.mutableLoading:e}}};function p(e,t,n,o,i,s,r,a){var l,c=\"function\"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),o&&(c.functional=!0),s&&(c._scopeId=\"data-v-\"+s),r?(l=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__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(r)},c._ssrRegister=l):i&&(l=a?function(){i.call(this,(c.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var p=c.beforeCreate;c.beforeCreate=p?[].concat(p,l):[l]}return{exports:e,options:c}}const d={Deselect:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"10\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z\"}})])}),[],!1,null,null,null).exports,OpenIndicator:p({},(function(){var e=this.$createElement,t=this._self._c||e;return t(\"svg\",{attrs:{xmlns:\"http://www.w3.org/2000/svg\",width:\"14\",height:\"10\"}},[t(\"path\",{attrs:{d:\"M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z\"}})])}),[],!1,null,null,null).exports},h={inserted:function(e,t,n){var o=n.context;if(o.appendToBody){document.body.appendChild(e);var i=o.$refs.toggle.getBoundingClientRect(),s=i.height,r=i.top,a=i.left,l=i.width,c=window.scrollX||window.pageXOffset,u=window.scrollY||window.pageYOffset;e.unbindPosition=o.calculatePosition(e,o,{width:l+\"px\",left:c+a+\"px\",top:u+r+s+\"px\"})}},unbind:function(e,t,n){n.context.appendToBody&&(e.unbindPosition&&\"function\"==typeof e.unbindPosition&&e.unbindPosition(),e.parentNode&&e.parentNode.removeChild(e))}};const f=function(e){var t={};return Object.keys(e).sort().forEach((function(n){t[n]=e[n]})),JSON.stringify(t)};var y=0;const b=function(){return++y};function g(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 v(e){for(var t=1;t-1}},filter:{type:Function,default:function(e,t){var n=this;return e.filter((function(e){var o=n.getOptionLabel(e);return\"number\"==typeof o&&(o=o.toString()),n.filterBy(e,o,t)}))}},createOption:{type:Function,default:function(e){return\"object\"===s()(this.optionList[0])?a()({},this.label,e):e}},resetFocusOnOptionsChange:{type:Boolean,default:!0},resetOnOptionsChange:{default:!1,validator:function(e){return[\"function\",\"boolean\"].includes(s()(e))}},clearSearchOnBlur:{type:Function,default:function(e){var t=e.clearSearchOnSelect,n=e.multiple;return t&&!n}},noDrop:{type:Boolean,default:!1},inputId:{type:String},dir:{type:String,default:\"auto\"},selectOnTab:{type:Boolean,default:!1},selectOnKeyCodes:{type:Array,default:function(){return[13]}},searchInputQuerySelector:{type:String,default:\"[type=search]\"},mapKeydown:{type:Function,default:function(e,t){return e}},appendToBody:{type:Boolean,default:!1},calculatePosition:{type:Function,default:function(e,t,n){var o=n.width,i=n.top,s=n.left;e.style.top=i,e.style.left=s,e.style.width=o}},dropdownShouldOpen:{type:Function,default:function(e){var t=e.noDrop,n=e.open,o=e.mutableLoading;return!t&&(n&&!o)}},keyboardFocusBorder:{type:Boolean,default:!1},uid:{type:[String,Number],default:function(){return b()}}},data:function(){return{search:\"\",open:!1,isComposing:!1,isKeyboardNavigation:!1,pushedTags:[],_value:[]}},computed:{isTrackingValues:function(){return void 0===this.value||this.$options.propsData.hasOwnProperty(\"reduce\")},selectedValue:function(){var e=this.value;return this.isTrackingValues&&(e=this.$data._value),null!=e&&\"\"!==e?[].concat(e):[]},optionList:function(){return this.options.concat(this.pushTags?this.pushedTags:[])},searchEl:function(){return this.$scopedSlots.search?this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector):this.$refs.search},scope:function(){var e=this,t={search:this.search,loading:this.loading,searching:this.searching,filteredOptions:this.filteredOptions};return{search:{attributes:v({id:this.inputId,disabled:this.disabled,placeholder:this.searchPlaceholder,tabindex:this.tabindex,readonly:!this.searchable,role:\"combobox\",\"aria-autocomplete\":\"list\",\"aria-label\":this.ariaLabelCombobox,\"aria-controls\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-owns\":\"vs-\".concat(this.uid,\"__listbox\"),\"aria-expanded\":this.dropdownOpen.toString(),ref:\"search\",type:\"search\",autocomplete:this.autocomplete,value:this.search},this.dropdownOpen&&this.filteredOptions[this.typeAheadPointer]?{\"aria-activedescendant\":\"vs-\".concat(this.uid,\"__option-\").concat(this.typeAheadPointer)}:{}),events:{compositionstart:function(){return e.isComposing=!0},compositionend:function(){return e.isComposing=!1},keydown:this.onSearchKeyDown,keypress:this.onSearchKeyPress,blur:this.onSearchBlur,focus:this.onSearchFocus,input:function(t){return e.search=t.target.value}}},spinner:{loading:this.mutableLoading},noOptions:{search:this.search,loading:this.mutableLoading,searching:this.searching},openIndicator:{attributes:{ref:\"openIndicator\",role:\"presentation\",class:\"vs__open-indicator\"}},listHeader:t,listFooter:t,header:v({},t,{deselect:this.deselect}),footer:v({},t,{deselect:this.deselect})}},childComponents:function(){return v({},d,{},this.components)},stateClasses:function(){return{\"vs--open\":this.dropdownOpen,\"vs--single\":!this.multiple,\"vs--multiple\":this.multiple,\"vs--searching\":this.searching&&!this.noDrop,\"vs--searchable\":this.searchable&&!this.noDrop,\"vs--unsearchable\":!this.searchable,\"vs--loading\":this.mutableLoading,\"vs--disabled\":this.disabled}},searching:function(){return!!this.search},dropdownOpen:function(){return this.dropdownShouldOpen(this)},searchPlaceholder:function(){return this.isValueEmpty&&this.placeholder?this.placeholder:void 0},filteredOptions:function(){var e=this,t=function(t){return null!==e.limit?t.slice(0,e.limit):t},n=[].concat(this.optionList);if(!this.filterable&&!this.taggable)return t(n);var o=this.search.length?this.filter(n,this.search,this):n;if(this.taggable&&this.search.length){var i=this.createOption(this.search);this.optionExists(i)||o.unshift(i)}return t(o)},isValueEmpty:function(){return 0===this.selectedValue.length},showClearButton:function(){return!this.multiple&&this.clearable&&!this.open&&!this.isValueEmpty}},watch:{options:function(e,t){var n=this;!this.taggable&&(\"function\"==typeof n.resetOnOptionsChange?n.resetOnOptionsChange(e,t,n.selectedValue):n.resetOnOptionsChange)&&this.clearSelection(),this.value&&this.isTrackingValues&&this.setInternalValueFromOptions(this.value)},value:{immediate:!0,handler:function(e){this.isTrackingValues&&this.setInternalValueFromOptions(e)}},multiple:function(){this.clearSelection()},open:function(e){this.$emit(e?\"open\":\"close\")},search:function(e){e.length&&(this.open=!0)}},created:function(){this.mutableLoading=this.loading,this.$on(\"option:created\",this.pushTag)},methods:{setInternalValueFromOptions:function(e){var t=this;Array.isArray(e)?this.$data._value=e.map((function(e){return t.findOptionFromReducedValue(e)})):this.$data._value=this.findOptionFromReducedValue(e)},select:function(e){this.$emit(\"option:selecting\",e),this.isOptionSelected(e)?this.deselectFromDropdown&&(this.clearable||this.multiple&&this.selectedValue.length>1)&&this.deselect(e):(this.taggable&&!this.optionExists(e)&&this.$emit(\"option:created\",e),this.multiple&&(e=this.selectedValue.concat(e)),this.updateValue(e),this.$emit(\"option:selected\",e)),this.onAfterSelect(e)},deselect:function(e){var t=this;this.$emit(\"option:deselecting\",e),this.updateValue(this.selectedValue.filter((function(n){return!t.optionComparator(n,e)}))),this.$emit(\"option:deselected\",e)},keyboardDeselect:function(e,t){var n,o;this.deselect(e);var i=null===(n=this.$refs.deselectButtons)||void 0===n?void 0:n[t+1],s=null===(o=this.$refs.deselectButtons)||void 0===o?void 0:o[t-1],r=null!=i?i:s;r?r.focus():this.searchEl.focus()},clearSelection:function(){this.updateValue(this.multiple?[]:null),this.searchEl.focus()},onAfterSelect:function(e){var t=this;this.closeOnSelect&&(this.open=!this.open),this.clearSearchOnSelect&&(this.search=\"\"),this.noDrop&&this.multiple&&this.$nextTick((function(){return t.$refs.search.focus()}))},updateValue:function(e){var t=this;void 0===this.value&&(this.$data._value=e),null!==e&&(e=Array.isArray(e)?e.map((function(e){return t.reduce(e)})):this.reduce(e)),this.$emit(\"input\",e)},toggleDropdown:function(e){var n=e.target!==this.searchEl;n&&e.preventDefault();var o=[].concat(t()(this.$refs.deselectButtons||[]),t()([this.$refs.clearButton]||0));void 0===this.searchEl||o.filter(Boolean).some((function(t){return t.contains(e.target)||t===e.target}))?e.preventDefault():this.open&&n?this.searchEl.blur():this.disabled||(this.open=!0,this.searchEl.focus())},isOptionSelected:function(e){var t=this;return this.selectedValue.some((function(n){return t.optionComparator(n,e)}))},isOptionDeselectable:function(e){return this.isOptionSelected(e)&&this.deselectFromDropdown},hasKeyboardFocusBorder:function(e){return!(!this.keyboardFocusBorder||!this.isKeyboardNavigation)&&e===this.typeAheadPointer},optionComparator:function(e,t){return this.getOptionKey(e)===this.getOptionKey(t)},findOptionFromReducedValue:function(e){var n=this,o=[].concat(t()(this.options),t()(this.pushedTags)).filter((function(t){return JSON.stringify(n.reduce(t))===JSON.stringify(e)}));return 1===o.length?o[0]:o.find((function(e){return n.optionComparator(e,n.$data._value)}))||e},closeSearchOptions:function(){this.open=!1,this.$emit(\"search:blur\")},maybeDeleteValue:function(){if(!this.searchEl.value.length&&this.selectedValue&&this.selectedValue.length&&this.clearable){var e=null;this.multiple&&(e=t()(this.selectedValue.slice(0,this.selectedValue.length-1))),this.updateValue(e)}},optionExists:function(e){var t=this;return this.optionList.some((function(n){return t.optionComparator(n,e)}))},optionAriaSelected:function(e){return this.selectable(e)?String(this.isOptionSelected(e)):null},normalizeOptionForSlot:function(e){return\"object\"===s()(e)?e:a()({},this.label,e)},pushTag:function(e){this.pushedTags.push(e)},onEscape:function(){this.search.length?this.search=\"\":this.open=!1},onSearchBlur:function(){if(!this.mousedown||this.searching){var e=this.clearSearchOnSelect,t=this.multiple;return this.clearSearchOnBlur({clearSearchOnSelect:e,multiple:t})&&(this.search=\"\"),void this.closeSearchOptions()}this.mousedown=!1,0!==this.search.length||0!==this.options.length||this.closeSearchOptions()},onSearchFocus:function(){this.open=!0,this.$emit(\"search:focus\")},onMousedown:function(){this.mousedown=!0},onMouseUp:function(){this.mousedown=!1},onMouseMove:function(e,t){this.isKeyboardNavigation=!1,this.selectable(e)&&(this.typeAheadPointer=t)},onSearchKeyDown:function(e){var t=this,n=function(e){if(e.preventDefault(),t.open)return!t.isComposing&&t.typeAheadSelect();t.open=!0},o={8:function(e){return t.maybeDeleteValue()},9:function(e){return t.onTab()},27:function(e){return t.onEscape()},38:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadUp();t.open=!0},40:function(e){if(e.preventDefault(),t.isKeyboardNavigation=!0,t.open)return t.typeAheadDown();t.open=!0}};this.selectOnKeyCodes.forEach((function(e){return o[e]=n}));var i=this.mapKeydown(o,this);if(\"function\"==typeof i[e.keyCode])return i[e.keyCode](e)},onSearchKeyPress:function(e){this.open||32!==e.keyCode||(e.preventDefault(),this.open=!0)}}},(function(){var e=this,t=e.$createElement,n=e._self._c||t;return n(\"div\",{staticClass:\"v-select\",class:e.stateClasses,attrs:{id:\"v-select-\"+e.uid,dir:e.dir}},[e._t(\"header\",null,null,e.scope.header),e._v(\" \"),n(\"div\",{ref:\"toggle\",staticClass:\"vs__dropdown-toggle\"},[n(\"div\",{ref:\"selectedOptions\",staticClass:\"vs__selected-options\",on:{mousedown:e.toggleDropdown}},[e._l(e.selectedValue,(function(t,o){return e._t(\"selected-option-container\",[n(\"span\",{key:e.getOptionKey(t),staticClass:\"vs__selected\"},[e._t(\"selected-option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t)),e._v(\" \"),e.multiple?n(\"button\",{ref:\"deselectButtons\",refInFor:!0,staticClass:\"vs__deselect\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelDeselectOption(e.getOptionLabel(t)),\"aria-label\":e.ariaLabelDeselectOption(e.getOptionLabel(t))},on:{mousedown:function(n){return n.stopPropagation(),e.deselect(t)},keydown:function(n){return!n.type.indexOf(\"key\")&&e._k(n.keyCode,\"enter\",13,n.key,\"Enter\")?null:e.keyboardDeselect(t,o)}}},[n(e.childComponents.Deselect,{tag:\"component\"})],1):e._e()],2)],{option:e.normalizeOptionForSlot(t),deselect:e.deselect,multiple:e.multiple,disabled:e.disabled})})),e._v(\" \"),e._t(\"search\",[n(\"input\",e._g(e._b({staticClass:\"vs__search\"},\"input\",e.scope.search.attributes,!1),e.scope.search.events))],null,e.scope.search)],2),e._v(\" \"),n(\"div\",{ref:\"actions\",staticClass:\"vs__actions\"},[n(\"button\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.showClearButton,expression:\"showClearButton\"}],ref:\"clearButton\",staticClass:\"vs__clear\",attrs:{disabled:e.disabled,type:\"button\",title:e.ariaLabelClearSelected,\"aria-label\":e.ariaLabelClearSelected},on:{click:e.clearSelection}},[n(e.childComponents.Deselect,{tag:\"component\"})],1),e._v(\" \"),e.noDrop?e._e():n(\"button\",{ref:\"openIndicatorButton\",staticClass:\"vs__open-indicator-button\",attrs:{type:\"button\",tabindex:\"-1\",\"aria-labelledby\":\"vs-\"+e.uid+\"__listbox\",\"aria-controls\":\"vs-\"+e.uid+\"__listbox\",\"aria-expanded\":e.dropdownOpen.toString()},on:{mousedown:e.toggleDropdown}},[e._t(\"open-indicator\",[n(e.childComponents.OpenIndicator,e._b({tag:\"component\"},\"component\",e.scope.openIndicator.attributes,!1))],null,e.scope.openIndicator)],2),e._v(\" \"),e._t(\"spinner\",[n(\"div\",{directives:[{name:\"show\",rawName:\"v-show\",value:e.mutableLoading,expression:\"mutableLoading\"}],staticClass:\"vs__spinner\"},[e._v(\"Loading...\")])],null,e.scope.spinner)],2)]),e._v(\" \"),n(\"transition\",{attrs:{name:e.transition}},[e.dropdownOpen?n(\"ul\",{directives:[{name:\"append-to-body\",rawName:\"v-append-to-body\"}],key:\"vs-\"+e.uid+\"__listbox\",ref:\"dropdownMenu\",staticClass:\"vs__dropdown-menu\",attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox,\"aria-multiselectable\":e.multiple,tabindex:\"-1\"},on:{mousedown:function(t){return t.preventDefault(),e.onMousedown(t)},mouseup:e.onMouseUp}},[e._t(\"list-header\",null,null,e.scope.listHeader),e._v(\" \"),e._l(e.filteredOptions,(function(t,o){return n(\"li\",{key:e.getOptionKey(t),staticClass:\"vs__dropdown-option\",class:{\"vs__dropdown-option--deselect\":e.isOptionDeselectable(t)&&o===e.typeAheadPointer,\"vs__dropdown-option--selected\":e.isOptionSelected(t),\"vs__dropdown-option--highlight\":o===e.typeAheadPointer,\"vs__dropdown-option--kb-focus\":e.hasKeyboardFocusBorder(o),\"vs__dropdown-option--disabled\":!e.selectable(t)},attrs:{id:\"vs-\"+e.uid+\"__option-\"+o,role:\"option\",\"aria-selected\":e.optionAriaSelected(t)},on:{mousemove:function(n){return e.onMouseMove(t,o)},click:function(n){n.preventDefault(),n.stopPropagation(),e.selectable(t)&&e.select(t)}}},[e._t(\"option\",[e._v(\"\\n \"+e._s(e.getOptionLabel(t))+\"\\n \")],null,e.normalizeOptionForSlot(t))],2)})),e._v(\" \"),0===e.filteredOptions.length?n(\"li\",{staticClass:\"vs__no-options\"},[e._t(\"no-options\",[e._v(\"\\n Sorry, no matching options.\\n \")],null,e.scope.noOptions)],2):e._e(),e._v(\" \"),e._t(\"list-footer\",null,null,e.scope.listFooter)],2):n(\"ul\",{staticStyle:{display:\"none\",visibility:\"hidden\"},attrs:{id:\"vs-\"+e.uid+\"__listbox\",role:\"listbox\",\"aria-label\":e.ariaLabelListbox}})]),e._v(\" \"),e._t(\"footer\",null,null,e.scope.footer)],2)}),[],!1,null,null,null).exports,O={ajax:u,pointer:c,pointerScroll:l},_=m})(),o})()}));\n//# sourceMappingURL=vue-select.js.map","const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle