{"version":3,"file":"NcSelect-BXoCMRv_.chunk.mjs","sources":["../node_modules/@nextcloud/capabilities/dist/index.mjs","../node_modules/@nextcloud/vue-select/dist/vue-select.js","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/@nextcloud/vue/dist/chunks/ChevronDown-DFQfzh63.mjs","../node_modules/@nextcloud/vue/dist/chunks/index-Bz6q9mZw.mjs","../node_modules/@nextcloud/vue/dist/Components/NcEllipsisedOption.mjs","../node_modules/@vueuse/components/node_modules/vue-demi/lib/index.mjs","../node_modules/@vueuse/components/index.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/vue/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs","../node_modules/@nextcloud/vue/dist/chunks/autolink-cbuFALXr.mjs","../node_modules/@nextcloud/vue/dist/Functions/isDarkTheme.mjs","../node_modules/@nextcloud/vue/dist/chunks/constants-Bls5liKo.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsDarkTheme.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/Functions/usernameToColor.mjs","../node_modules/@nextcloud/vue/dist/Functions/contactsMenu.mjs","../node_modules/@nextcloud/vue/dist/Composables/useIsFullscreen.mjs","../node_modules/@nextcloud/vue/dist/chunks/getAvatarUrl-IhLacDEr.mjs","../node_modules/striptags/src/striptags.js","../node_modules/@nextcloud/vue/dist/chunks/NcAvatar-CgF-MFtU.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcListItemIcon-CTfYEjBB.mjs","../node_modules/@nextcloud/vue/dist/chunks/NcSelect-BUOuXJUQ.mjs"],"sourcesContent":["import { loadState as i } from \"@nextcloud/initial-state\";\nfunction e() {\n  try {\n    return i(\"core\", \"capabilities\");\n  } catch {\n    return console.debug(\"Could not find capabilities initial state fall back to _oc_capabilities\"), \"_oc_capabilities\" in window ? window._oc_capabilities : {};\n  }\n}\nexport {\n  e as getCapabilities\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.length;t++)n[t]=e[t];return n}}},713:e=>{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(i<n.top)return this.$refs.dropdownMenu.scrollTop=t.offsetTop;if(s>n.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<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},open:function(e){e&&this.typeAheadToLastSelected()},selectedValue:function(){this.open&&this.typeAheadToLastSelected()}},methods:{typeAheadUp:function(){for(var e=this.typeAheadPointer-1;e>=0;e--)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadDown:function(){for(var e=this.typeAheadPointer+1;e<this.filteredOptions.length;e++)if(this.selectable(this.filteredOptions[e])){this.typeAheadPointer=e;break}},typeAheadSelect:function(){var e=this.filteredOptions[this.typeAheadPointer];e&&this.selectable(e)&&this.select(e)},typeAheadToLastSelected:function(){var e=0!==this.selectedValue.length?this.filteredOptions.indexOf(this.selectedValue[this.selectedValue.length-1]):-1;-1!==e&&(this.typeAheadPointer=e)}}},u={props:{loading:{type:Boolean,default:!1}},data:function(){return{mutableLoading:!1}},watch:{search:function(){this.$emit(\"search\",this.search,this.toggleLoading)},loading:function(e){this.mutableLoading=e}},methods:{toggleLoading:function(){var e=arguments.length>0&&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<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){a()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}const m=p({components:v({},d),directives:{appendToBody:h},mixins:[l,c,u],props:{value:{},components:{type:Object,default:function(){return{}}},options:{type:Array,default:function(){return[]}},limit:{type:Number,default:null},disabled:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0},deselectFromDropdown:{type:Boolean,default:!1},searchable:{type:Boolean,default:!0},multiple:{type:Boolean,default:!1},placeholder:{type:String,default:\"\"},transition:{type:String,default:\"vs__fade\"},clearSearchOnSelect:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},label:{type:String,default:\"label\"},ariaLabelCombobox:{type:String,default:\"Search for options\"},ariaLabelListbox:{type:String,default:\"Options\"},ariaLabelClearSelected:{type:String,default:\"Clear selected\"},ariaLabelDeselectOption:{type:Function,default:function(e){return\"Deselect \".concat(e)}},autocomplete:{type:String,default:\"off\"},reduce:{type:Function,default:function(e){return e}},selectable:{type:Function,default:function(e){return!0}},getOptionLabel:{type:Function,default:function(e){return\"object\"===s()(e)?e.hasOwnProperty(this.label)?e[this.label]:console.warn('[vue-select warn]: Label key \"option.'.concat(this.label,'\" does not')+\" exist in options object \".concat(JSON.stringify(e),\".\\n\")+\"https://vue-select.org/api/props.html#getoptionlabel\"):e}},getOptionKey:{type:Function,default:function(e){if(\"object\"!==s()(e))return e;try{return e.hasOwnProperty(\"id\")?e.id:f(e)}catch(t){return console.warn(\"[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option.\\nhttps://vue-select.org/api/props.html#getoptionkey\",e,t)}}},onTab:{type:Function,default:function(){this.selectOnTab&&!this.isComposing&&this.typeAheadSelect()}},taggable:{type:Boolean,default:!1},tabindex:{type:Number,default:null},pushTags:{type:Boolean,default:!1},filterable:{type:Boolean,default:!0},filterBy:{type:Function,default:function(e,t,n){return(t||\"\").toLocaleLowerCase().indexOf(n.toLocaleLowerCase())>-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","function t(t){return t.split(\"-\")[1]}function e(t){return\"y\"===t?\"height\":\"width\"}function n(t){return t.split(\"-\")[0]}function o(t){return[\"top\",\"bottom\"].includes(n(t))?\"x\":\"y\"}function i(i,r,a){let{reference:l,floating:s}=i;const c=l.x+l.width/2-s.width/2,f=l.y+l.height/2-s.height/2,m=o(r),u=e(m),g=l[u]/2-s[u]/2,d=\"x\"===m;let p;switch(n(r)){case\"top\":p={x:c,y:l.y-s.height};break;case\"bottom\":p={x:c,y:l.y+l.height};break;case\"right\":p={x:l.x+l.width,y:f};break;case\"left\":p={x:l.x-s.width,y:f};break;default:p={x:l.x,y:l.y}}switch(t(r)){case\"start\":p[m]-=g*(a&&d?-1:1);break;case\"end\":p[m]+=g*(a&&d?-1:1)}return p}const r=async(t,e,n)=>{const{placement:o=\"bottom\",strategy:r=\"absolute\",middleware:a=[],platform:l}=n,s=a.filter(Boolean),c=await(null==l.isRTL?void 0:l.isRTL(e));let f=await l.getElementRects({reference:t,floating:e,strategy:r}),{x:m,y:u}=i(f,o,c),g=o,d={},p=0;for(let n=0;n<s.length;n++){const{name:a,fn:h}=s[n],{x:y,y:x,data:w,reset:v}=await h({x:m,y:u,initialPlacement:o,placement:g,strategy:r,middlewareData:d,rects:f,platform:l,elements:{reference:t,floating:e}});m=null!=y?y:m,u=null!=x?x:u,d={...d,[a]:{...d[a],...w}},v&&p<=50&&(p++,\"object\"==typeof v&&(v.placement&&(g=v.placement),v.rects&&(f=!0===v.rects?await l.getElementRects({reference:t,floating:e,strategy:r}):v.rects),({x:m,y:u}=i(f,g,c))),n=-1)}return{x:m,y:u,placement:g,strategy:r,middlewareData:d}};function a(t,e){return\"function\"==typeof t?t(e):t}function l(t){return\"number\"!=typeof t?function(t){return{top:0,right:0,bottom:0,left:0,...t}}(t):{top:t,right:t,bottom:t,left:t}}function s(t){return{...t,top:t.y,left:t.x,right:t.x+t.width,bottom:t.y+t.height}}async function c(t,e){var n;void 0===e&&(e={});const{x:o,y:i,platform:r,rects:c,elements:f,strategy:m}=t,{boundary:u=\"clippingAncestors\",rootBoundary:g=\"viewport\",elementContext:d=\"floating\",altBoundary:p=!1,padding:h=0}=a(e,t),y=l(h),x=f[p?\"floating\"===d?\"reference\":\"floating\":d],w=s(await r.getClippingRect({element:null==(n=await(null==r.isElement?void 0:r.isElement(x)))||n?x:x.contextElement||await(null==r.getDocumentElement?void 0:r.getDocumentElement(f.floating)),boundary:u,rootBoundary:g,strategy:m})),v=\"floating\"===d?{...c.floating,x:o,y:i}:c.reference,b=await(null==r.getOffsetParent?void 0:r.getOffsetParent(f.floating)),A=await(null==r.isElement?void 0:r.isElement(b))&&await(null==r.getScale?void 0:r.getScale(b))||{x:1,y:1},R=s(r.convertOffsetParentRelativeRectToViewportRelativeRect?await r.convertOffsetParentRelativeRectToViewportRelativeRect({rect:v,offsetParent:b,strategy:m}):v);return{top:(w.top-R.top+y.top)/A.y,bottom:(R.bottom-w.bottom+y.bottom)/A.y,left:(w.left-R.left+y.left)/A.x,right:(R.right-w.right+y.right)/A.x}}const f=Math.min,m=Math.max;function u(t,e,n){return m(t,f(e,n))}const g=n=>({name:\"arrow\",options:n,async fn(i){const{x:r,y:s,placement:c,rects:m,platform:g,elements:d}=i,{element:p,padding:h=0}=a(n,i)||{};if(null==p)return{};const y=l(h),x={x:r,y:s},w=o(c),v=e(w),b=await g.getDimensions(p),A=\"y\"===w,R=A?\"top\":\"left\",P=A?\"bottom\":\"right\",E=A?\"clientHeight\":\"clientWidth\",T=m.reference[v]+m.reference[w]-x[w]-m.floating[v],D=x[w]-m.reference[w],L=await(null==g.getOffsetParent?void 0:g.getOffsetParent(p));let k=L?L[E]:0;k&&await(null==g.isElement?void 0:g.isElement(L))||(k=d.floating[E]||m.floating[v]);const O=T/2-D/2,B=k/2-b[v]/2-1,C=f(y[R],B),H=f(y[P],B),S=C,F=k-b[v]-H,M=k/2-b[v]/2+O,V=u(S,M,F),W=null!=t(c)&&M!=V&&m.reference[v]/2-(M<S?C:H)-b[v]/2<0?M<S?S-M:F-M:0;return{[w]:x[w]-W,data:{[w]:V,centerOffset:M-V+W}}}}),d=[\"top\",\"right\",\"bottom\",\"left\"],p=d.reduce(((t,e)=>t.concat(e,e+\"-start\",e+\"-end\")),[]),h={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};function y(t){return t.replace(/left|right|bottom|top/g,(t=>h[t]))}function x(n,i,r){void 0===r&&(r=!1);const a=t(n),l=o(n),s=e(l);let c=\"x\"===l?a===(r?\"end\":\"start\")?\"right\":\"left\":\"start\"===a?\"bottom\":\"top\";return i.reference[s]>i.floating[s]&&(c=y(c)),{main:c,cross:y(c)}}const w={start:\"end\",end:\"start\"};function v(t){return t.replace(/start|end/g,(t=>w[t]))}const b=function(e){return void 0===e&&(e={}),{name:\"autoPlacement\",options:e,async fn(o){var i,r,l;const{rects:s,middlewareData:f,placement:m,platform:u,elements:g}=o,{crossAxis:d=!1,alignment:h,allowedPlacements:y=p,autoAlignment:w=!0,...b}=a(e,o),A=void 0!==h||y===p?function(e,o,i){return(e?[...i.filter((n=>t(n)===e)),...i.filter((n=>t(n)!==e))]:i.filter((t=>n(t)===t))).filter((n=>!e||t(n)===e||!!o&&v(n)!==n))}(h||null,w,y):y,R=await c(o,b),P=(null==(i=f.autoPlacement)?void 0:i.index)||0,E=A[P];if(null==E)return{};const{main:T,cross:D}=x(E,s,await(null==u.isRTL?void 0:u.isRTL(g.floating)));if(m!==E)return{reset:{placement:A[0]}};const L=[R[n(E)],R[T],R[D]],k=[...(null==(r=f.autoPlacement)?void 0:r.overflows)||[],{placement:E,overflows:L}],O=A[P+1];if(O)return{data:{index:P+1,overflows:k},reset:{placement:O}};const B=k.map((e=>{const n=t(e.placement);return[e.placement,n&&d?e.overflows.slice(0,2).reduce(((t,e)=>t+e),0):e.overflows[0],e.overflows]})).sort(((t,e)=>t[1]-e[1])),C=(null==(l=B.filter((e=>e[2].slice(0,t(e[0])?2:3).every((t=>t<=0))))[0])?void 0:l[0])||B[0][0];return C!==m?{data:{index:P+1,overflows:k},reset:{placement:C}}:{}}}};const A=function(e){return void 0===e&&(e={}),{name:\"flip\",options:e,async fn(o){var i;const{placement:r,middlewareData:l,rects:s,initialPlacement:f,platform:m,elements:u}=o,{mainAxis:g=!0,crossAxis:d=!0,fallbackPlacements:p,fallbackStrategy:h=\"bestFit\",fallbackAxisSideDirection:w=\"none\",flipAlignment:b=!0,...A}=a(e,o),R=n(r),P=n(f)===f,E=await(null==m.isRTL?void 0:m.isRTL(u.floating)),T=p||(P||!b?[y(f)]:function(t){const e=y(t);return[v(t),e,v(e)]}(f));p||\"none\"===w||T.push(...function(e,o,i,r){const a=t(e);let l=function(t,e,n){const o=[\"left\",\"right\"],i=[\"right\",\"left\"],r=[\"top\",\"bottom\"],a=[\"bottom\",\"top\"];switch(t){case\"top\":case\"bottom\":return n?e?i:o:e?o:i;case\"left\":case\"right\":return e?r:a;default:return[]}}(n(e),\"start\"===i,r);return a&&(l=l.map((t=>t+\"-\"+a)),o&&(l=l.concat(l.map(v)))),l}(f,b,w,E));const D=[f,...T],L=await c(o,A),k=[];let O=(null==(i=l.flip)?void 0:i.overflows)||[];if(g&&k.push(L[R]),d){const{main:t,cross:e}=x(r,s,E);k.push(L[t],L[e])}if(O=[...O,{placement:r,overflows:k}],!k.every((t=>t<=0))){var B,C;const t=((null==(B=l.flip)?void 0:B.index)||0)+1,e=D[t];if(e)return{data:{index:t,overflows:O},reset:{placement:e}};let n=null==(C=O.filter((t=>t.overflows[0]<=0)).sort(((t,e)=>t.overflows[1]-e.overflows[1]))[0])?void 0:C.placement;if(!n)switch(h){case\"bestFit\":{var H;const t=null==(H=O.map((t=>[t.placement,t.overflows.filter((t=>t>0)).reduce(((t,e)=>t+e),0)])).sort(((t,e)=>t[1]-e[1]))[0])?void 0:H[0];t&&(n=t);break}case\"initialPlacement\":n=f}if(r!==n)return{reset:{placement:n}}}return{}}}};function R(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function P(t){return d.some((e=>t[e]>=0))}const E=function(t){return void 0===t&&(t={}),{name:\"hide\",options:t,async fn(e){const{rects:n}=e,{strategy:o=\"referenceHidden\",...i}=a(t,e);switch(o){case\"referenceHidden\":{const t=R(await c(e,{...i,elementContext:\"reference\"}),n.reference);return{data:{referenceHiddenOffsets:t,referenceHidden:P(t)}}}case\"escaped\":{const t=R(await c(e,{...i,altBoundary:!0}),n.floating);return{data:{escapedOffsets:t,escaped:P(t)}}}default:return{}}}}};function T(t){const e=f(...t.map((t=>t.left))),n=f(...t.map((t=>t.top)));return{x:e,y:n,width:m(...t.map((t=>t.right)))-e,height:m(...t.map((t=>t.bottom)))-n}}const D=function(t){return void 0===t&&(t={}),{name:\"inline\",options:t,async fn(e){const{placement:i,elements:r,rects:c,platform:u,strategy:g}=e,{padding:d=2,x:p,y:h}=a(t,e),y=Array.from(await(null==u.getClientRects?void 0:u.getClientRects(r.reference))||[]),x=function(t){const e=t.slice().sort(((t,e)=>t.y-e.y)),n=[];let o=null;for(let t=0;t<e.length;t++){const i=e[t];!o||i.y-o.y>o.height/2?n.push([i]):n[n.length-1].push(i),o=i}return n.map((t=>s(T(t))))}(y),w=s(T(y)),v=l(d);const b=await u.getElementRects({reference:{getBoundingClientRect:function(){if(2===x.length&&x[0].left>x[1].right&&null!=p&&null!=h)return x.find((t=>p>t.left-v.left&&p<t.right+v.right&&h>t.top-v.top&&h<t.bottom+v.bottom))||w;if(x.length>=2){if(\"x\"===o(i)){const t=x[0],e=x[x.length-1],o=\"top\"===n(i),r=t.top,a=e.bottom,l=o?t.left:e.left,s=o?t.right:e.right;return{top:r,bottom:a,left:l,right:s,width:s-l,height:a-r,x:l,y:r}}const t=\"left\"===n(i),e=m(...x.map((t=>t.right))),r=f(...x.map((t=>t.left))),a=x.filter((n=>t?n.left===r:n.right===e)),l=a[0].top,s=a[a.length-1].bottom;return{top:l,bottom:s,left:r,right:e,width:e-r,height:s-l,x:r,y:l}}return w}},floating:r.floating,strategy:g});return c.reference.x!==b.reference.x||c.reference.y!==b.reference.y||c.reference.width!==b.reference.width||c.reference.height!==b.reference.height?{reset:{rects:b}}:{}}}};const L=function(e){return void 0===e&&(e=0),{name:\"offset\",options:e,async fn(i){const{x:r,y:l}=i,s=await async function(e,i){const{placement:r,platform:l,elements:s}=e,c=await(null==l.isRTL?void 0:l.isRTL(s.floating)),f=n(r),m=t(r),u=\"x\"===o(r),g=[\"left\",\"top\"].includes(f)?-1:1,d=c&&u?-1:1,p=a(i,e);let{mainAxis:h,crossAxis:y,alignmentAxis:x}=\"number\"==typeof p?{mainAxis:p,crossAxis:0,alignmentAxis:null}:{mainAxis:0,crossAxis:0,alignmentAxis:null,...p};return m&&\"number\"==typeof x&&(y=\"end\"===m?-1*x:x),u?{x:y*d,y:h*g}:{x:h*g,y:y*d}}(i,e);return{x:r+s.x,y:l+s.y,data:s}}}};function k(t){return\"x\"===t?\"y\":\"x\"}const O=function(t){return void 0===t&&(t={}),{name:\"shift\",options:t,async fn(e){const{x:i,y:r,placement:l}=e,{mainAxis:s=!0,crossAxis:f=!1,limiter:m={fn:t=>{let{x:e,y:n}=t;return{x:e,y:n}}},...g}=a(t,e),d={x:i,y:r},p=await c(e,g),h=o(n(l)),y=k(h);let x=d[h],w=d[y];if(s){const t=\"y\"===h?\"bottom\":\"right\";x=u(x+p[\"y\"===h?\"top\":\"left\"],x,x-p[t])}if(f){const t=\"y\"===y?\"bottom\":\"right\";w=u(w+p[\"y\"===y?\"top\":\"left\"],w,w-p[t])}const v=m.fn({...e,[h]:x,[y]:w});return{...v,data:{x:v.x-i,y:v.y-r}}}}},B=function(t){return void 0===t&&(t={}),{options:t,fn(e){const{x:i,y:r,placement:l,rects:s,middlewareData:c}=e,{offset:f=0,mainAxis:m=!0,crossAxis:u=!0}=a(t,e),g={x:i,y:r},d=o(l),p=k(d);let h=g[d],y=g[p];const x=a(f,e),w=\"number\"==typeof x?{mainAxis:x,crossAxis:0}:{mainAxis:0,crossAxis:0,...x};if(m){const t=\"y\"===d?\"height\":\"width\",e=s.reference[d]-s.floating[t]+w.mainAxis,n=s.reference[d]+s.reference[t]-w.mainAxis;h<e?h=e:h>n&&(h=n)}if(u){var v,b;const t=\"y\"===d?\"width\":\"height\",e=[\"top\",\"left\"].includes(n(l)),o=s.reference[p]-s.floating[t]+(e&&(null==(v=c.offset)?void 0:v[p])||0)+(e?0:w.crossAxis),i=s.reference[p]+s.reference[t]+(e?0:(null==(b=c.offset)?void 0:b[p])||0)-(e?w.crossAxis:0);y<o?y=o:y>i&&(y=i)}return{[d]:h,[p]:y}}}},C=function(e){return void 0===e&&(e={}),{name:\"size\",options:e,async fn(i){const{placement:r,rects:l,platform:s,elements:u}=i,{apply:g=(()=>{}),...d}=a(e,i),p=await c(i,d),h=n(r),y=t(r),x=\"x\"===o(r),{width:w,height:v}=l.floating;let b,A;\"top\"===h||\"bottom\"===h?(b=h,A=y===(await(null==s.isRTL?void 0:s.isRTL(u.floating))?\"start\":\"end\")?\"left\":\"right\"):(A=h,b=\"end\"===y?\"top\":\"bottom\");const R=v-p[b],P=w-p[A],E=!i.middlewareData.shift;let T=R,D=P;if(x){const t=w-p.left-p.right;D=y||E?f(P,t):t}else{const t=v-p.top-p.bottom;T=y||E?f(R,t):t}if(E&&!y){const t=m(p.left,0),e=m(p.right,0),n=m(p.top,0),o=m(p.bottom,0);x?D=w-2*(0!==t||0!==e?t+e:m(p.left,p.right)):T=v-2*(0!==n||0!==o?n+o:m(p.top,p.bottom))}await g({...i,availableWidth:D,availableHeight:T});const L=await s.getDimensions(u.floating);return w!==L.width||v!==L.height?{reset:{rects:!0}}:{}}}};export{g as arrow,b as autoPlacement,r as computePosition,c as detectOverflow,A as flip,E as hide,D as inline,B as limitShift,L as offset,s as rectToClientRect,O as shift,C as size};\n","import{rectToClientRect as t,computePosition as e}from\"@floating-ui/core\";export{arrow,autoPlacement,detectOverflow,flip,hide,inline,limitShift,offset,shift,size}from\"@floating-ui/core\";function n(t){var e;return(null==t||null==(e=t.ownerDocument)?void 0:e.defaultView)||window}function o(t){return n(t).getComputedStyle(t)}function i(t){return t instanceof n(t).Node}function r(t){return i(t)?(t.nodeName||\"\").toLowerCase():\"#document\"}function c(t){return t instanceof HTMLElement||t instanceof n(t).HTMLElement}function l(t){return\"undefined\"!=typeof ShadowRoot&&(t instanceof n(t).ShadowRoot||t instanceof ShadowRoot)}function s(t){const{overflow:e,overflowX:n,overflowY:i,display:r}=o(t);return/auto|scroll|overlay|hidden|clip/.test(e+i+n)&&![\"inline\",\"contents\"].includes(r)}function f(t){return[\"table\",\"td\",\"th\"].includes(r(t))}function u(t){const e=a(),n=o(t);return\"none\"!==n.transform||\"none\"!==n.perspective||!!n.containerType&&\"normal\"!==n.containerType||!e&&!!n.backdropFilter&&\"none\"!==n.backdropFilter||!e&&!!n.filter&&\"none\"!==n.filter||[\"transform\",\"perspective\",\"filter\"].some((t=>(n.willChange||\"\").includes(t)))||[\"paint\",\"layout\",\"strict\",\"content\"].some((t=>(n.contain||\"\").includes(t)))}function a(){return!(\"undefined\"==typeof CSS||!CSS.supports)&&CSS.supports(\"-webkit-backdrop-filter\",\"none\")}function d(t){return[\"html\",\"body\",\"#document\"].includes(r(t))}const h=Math.min,p=Math.max,m=Math.round,g=Math.floor,y=t=>({x:t,y:t});function w(t){const e=o(t);let n=parseFloat(e.width)||0,i=parseFloat(e.height)||0;const r=c(t),l=r?t.offsetWidth:n,s=r?t.offsetHeight:i,f=m(n)!==l||m(i)!==s;return f&&(n=l,i=s),{width:n,height:i,$:f}}function x(t){return t instanceof Element||t instanceof n(t).Element}function v(t){return x(t)?t:t.contextElement}function b(t){const e=v(t);if(!c(e))return y(1);const n=e.getBoundingClientRect(),{width:o,height:i,$:r}=w(e);let l=(r?m(n.width):n.width)/o,s=(r?m(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}const L=y(0);function T(t){const e=n(t);return a()&&e.visualViewport?{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}:L}function R(e,o,i,r){void 0===o&&(o=!1),void 0===i&&(i=!1);const c=e.getBoundingClientRect(),l=v(e);let s=y(1);o&&(r?x(r)&&(s=b(r)):s=b(e));const f=function(t,e,o){return void 0===e&&(e=!1),!(!o||e&&o!==n(t))&&e}(l,i,r)?T(l):y(0);let u=(c.left+f.x)/s.x,a=(c.top+f.y)/s.y,d=c.width/s.x,h=c.height/s.y;if(l){const t=n(l),e=r&&x(r)?n(r):r;let o=t.frameElement;for(;o&&r&&e!==t;){const t=b(o),e=o.getBoundingClientRect(),i=getComputedStyle(o),r=e.left+(o.clientLeft+parseFloat(i.paddingLeft))*t.x,c=e.top+(o.clientTop+parseFloat(i.paddingTop))*t.y;u*=t.x,a*=t.y,d*=t.x,h*=t.y,u+=r,a+=c,o=n(o).frameElement}}return t({width:d,height:h,x:u,y:a})}function E(t){return x(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function S(t){var e;return null==(e=(i(t)?t.ownerDocument:t.document)||window.document)?void 0:e.documentElement}function C(t){return R(S(t)).left+E(t).scrollLeft}function F(t){if(\"html\"===r(t))return t;const e=t.assignedSlot||t.parentNode||l(t)&&t.host||S(t);return l(e)?e.host:e}function O(t){const e=F(t);return d(e)?t.ownerDocument?t.ownerDocument.body:t.body:c(e)&&s(e)?e:O(e)}function D(t,e){var o;void 0===e&&(e=[]);const i=O(t),r=i===(null==(o=t.ownerDocument)?void 0:o.body),c=n(i);return r?e.concat(c,c.visualViewport||[],s(i)?i:[]):e.concat(i,D(i))}function H(e,i,r){let l;if(\"viewport\"===i)l=function(t,e){const o=n(t),i=S(t),r=o.visualViewport;let c=i.clientWidth,l=i.clientHeight,s=0,f=0;if(r){c=r.width,l=r.height;const t=a();(!t||t&&\"fixed\"===e)&&(s=r.offsetLeft,f=r.offsetTop)}return{width:c,height:l,x:s,y:f}}(e,r);else if(\"document\"===i)l=function(t){const e=S(t),n=E(t),i=t.ownerDocument.body,r=p(e.scrollWidth,e.clientWidth,i.scrollWidth,i.clientWidth),c=p(e.scrollHeight,e.clientHeight,i.scrollHeight,i.clientHeight);let l=-n.scrollLeft+C(t);const s=-n.scrollTop;return\"rtl\"===o(i).direction&&(l+=p(e.clientWidth,i.clientWidth)-r),{width:r,height:c,x:l,y:s}}(S(e));else if(x(i))l=function(t,e){const n=R(t,!0,\"fixed\"===e),o=n.top+t.clientTop,i=n.left+t.clientLeft,r=c(t)?b(t):y(1);return{width:t.clientWidth*r.x,height:t.clientHeight*r.y,x:i*r.x,y:o*r.y}}(i,r);else{const t=T(e);l={...i,x:i.x-t.x,y:i.y-t.y}}return t(l)}function W(t,e){const n=F(t);return!(n===e||!x(n)||d(n))&&(\"fixed\"===o(n).position||W(n,e))}function M(t,e,n){const o=c(e),i=S(e),l=\"fixed\"===n,f=R(t,!0,l,e);let u={scrollLeft:0,scrollTop:0};const a=y(0);if(o||!o&&!l)if((\"body\"!==r(e)||s(i))&&(u=E(e)),c(e)){const t=R(e,!0,l,e);a.x=t.x+e.clientLeft,a.y=t.y+e.clientTop}else i&&(a.x=C(i));return{x:f.left+u.scrollLeft-a.x,y:f.top+u.scrollTop-a.y,width:f.width,height:f.height}}function z(t,e){return c(t)&&\"fixed\"!==o(t).position?e?e(t):t.offsetParent:null}function P(t,e){const i=n(t);if(!c(t))return i;let l=z(t,e);for(;l&&f(l)&&\"static\"===o(l).position;)l=z(l,e);return l&&(\"html\"===r(l)||\"body\"===r(l)&&\"static\"===o(l).position&&!u(l))?i:l||function(t){let e=F(t);for(;c(e)&&!d(e);){if(u(e))return e;e=F(e)}return null}(t)||i}const V={convertOffsetParentRelativeRectToViewportRelativeRect:function(t){let{rect:e,offsetParent:n,strategy:o}=t;const i=c(n),l=S(n);if(n===l)return e;let f={scrollLeft:0,scrollTop:0},u=y(1);const a=y(0);if((i||!i&&\"fixed\"!==o)&&((\"body\"!==r(n)||s(l))&&(f=E(n)),c(n))){const t=R(n);u=b(n),a.x=t.x+n.clientLeft,a.y=t.y+n.clientTop}return{width:e.width*u.x,height:e.height*u.y,x:e.x*u.x-f.scrollLeft*u.x+a.x,y:e.y*u.y-f.scrollTop*u.y+a.y}},getDocumentElement:S,getClippingRect:function(t){let{element:e,boundary:n,rootBoundary:i,strategy:c}=t;const l=[...\"clippingAncestors\"===n?function(t,e){const n=e.get(t);if(n)return n;let i=D(t).filter((t=>x(t)&&\"body\"!==r(t))),c=null;const l=\"fixed\"===o(t).position;let f=l?F(t):t;for(;x(f)&&!d(f);){const e=o(f),n=u(f);n||\"fixed\"!==e.position||(c=null),(l?!n&&!c:!n&&\"static\"===e.position&&c&&[\"absolute\",\"fixed\"].includes(c.position)||s(f)&&!n&&W(t,f))?i=i.filter((t=>t!==f)):c=e,f=F(f)}return e.set(t,i),i}(e,this._c):[].concat(n),i],f=l[0],a=l.reduce(((t,n)=>{const o=H(e,n,c);return t.top=p(o.top,t.top),t.right=h(o.right,t.right),t.bottom=h(o.bottom,t.bottom),t.left=p(o.left,t.left),t}),H(e,f,c));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}},getOffsetParent:P,getElementRects:async function(t){let{reference:e,floating:n,strategy:o}=t;const i=this.getOffsetParent||P,r=this.getDimensions;return{reference:M(e,await i(n),o),floating:{x:0,y:0,...await r(n)}}},getClientRects:function(t){return Array.from(t.getClientRects())},getDimensions:function(t){return w(t)},getScale:b,isElement:x,isRTL:function(t){return\"rtl\"===getComputedStyle(t).direction}};function A(t,e,n,o){void 0===o&&(o={});const{ancestorScroll:i=!0,ancestorResize:r=!0,elementResize:c=\"function\"==typeof ResizeObserver,layoutShift:l=\"function\"==typeof IntersectionObserver,animationFrame:s=!1}=o,f=v(t),u=i||r?[...f?D(f):[],...D(e)]:[];u.forEach((t=>{i&&t.addEventListener(\"scroll\",n,{passive:!0}),r&&t.addEventListener(\"resize\",n)}));const a=f&&l?function(t,e){let n,o=null;const i=S(t);function r(){clearTimeout(n),o&&o.disconnect(),o=null}return function c(l,s){void 0===l&&(l=!1),void 0===s&&(s=1),r();const{left:f,top:u,width:a,height:d}=t.getBoundingClientRect();if(l||e(),!a||!d)return;const m={rootMargin:-g(u)+\"px \"+-g(i.clientWidth-(f+a))+\"px \"+-g(i.clientHeight-(u+d))+\"px \"+-g(f)+\"px\",threshold:p(0,h(1,s))||1};let y=!0;function w(t){const e=t[0].intersectionRatio;if(e!==s){if(!y)return c();e?c(!1,e):n=setTimeout((()=>{c(!1,1e-7)}),100)}y=!1}try{o=new IntersectionObserver(w,{...m,root:i.ownerDocument})}catch(t){o=new IntersectionObserver(w,m)}o.observe(t)}(!0),r}(f,n):null;let d,m=-1,y=null;c&&(y=new ResizeObserver((t=>{let[o]=t;o&&o.target===f&&y&&(y.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame((()=>{y&&y.observe(e)}))),n()})),f&&!s&&y.observe(f),y.observe(e));let w=s?R(t):null;return s&&function e(){const o=R(t);!w||o.x===w.x&&o.y===w.y&&o.width===w.width&&o.height===w.height||n();w=o,d=requestAnimationFrame(e)}(),n(),()=>{u.forEach((t=>{i&&t.removeEventListener(\"scroll\",n),r&&t.removeEventListener(\"resize\",n)})),a&&a(),y&&y.disconnect(),y=null,s&&cancelAnimationFrame(d)}}const B=(t,n,o)=>{const i=new Map,r={platform:V,...o},c={...r.platform,_c:i};return e(t,n,{...r,platform:c})};export{A as autoUpdate,B as computePosition,D as getOverflowAncestors,V as platform};\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"ChevronDownIcon\",\n  emits: [\"click\"],\n  props: {\n    title: {\n      type: String\n    },\n    fillColor: {\n      type: String,\n      default: \"currentColor\"\n    },\n    size: {\n      type: Number,\n      default: 24\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._b({ staticClass: \"material-design-icon chevron-down-icon\", attrs: { \"aria-hidden\": _vm.title ? null : \"true\", \"aria-label\": _vm.title, \"role\": \"img\" }, on: { \"click\": function($event) {\n    return _vm.$emit(\"click\", $event);\n  } } }, \"span\", _vm.$attrs, false), [_c(\"svg\", { staticClass: \"material-design-icon__svg\", attrs: { \"fill\": _vm.fillColor, \"width\": _vm.size, \"height\": _vm.size, \"viewBox\": \"0 0 24 24\" } }, [_c(\"path\", { attrs: { \"d\": \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\" } }, [_vm.title ? _c(\"title\", [_vm._v(_vm._s(_vm.title))]) : _vm._e()])])]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst ChevronDown = __component__.exports;\nexport {\n  ChevronDown as C\n};\n//# sourceMappingURL=ChevronDown-DFQfzh63.mjs.map\n","import { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst FindRanges = (text, search) => {\n  const ranges = [];\n  let currentIndex = 0;\n  let index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);\n  let i = 0;\n  while (index > -1 && i < text.length) {\n    currentIndex = index + search.length;\n    ranges.push({ start: index, end: currentIndex });\n    index = text.toLowerCase().indexOf(search.toLowerCase(), currentIndex);\n    i++;\n  }\n  return ranges;\n};\nconst _sfc_main = {\n  name: \"NcHighlight\",\n  props: {\n    /**\n     * The string to display\n     */\n    text: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * The string to match and highlight\n     */\n    search: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * The ranges to highlight, takes precedence over the search prop.\n     */\n    highlight: {\n      type: Array,\n      default: () => []\n    }\n  },\n  computed: {\n    /**\n     * The indice ranges which should be highlighted.\n     * If an array with ranges is provided, we use it. Otherwise\n     * we calculate it based on the provided substring to highlight.\n     *\n     * @return {Array} The array of ranges to highlight\n     */\n    ranges() {\n      let ranges = [];\n      if (!this.search && this.highlight.length === 0) {\n        return ranges;\n      }\n      if (this.highlight.length > 0) {\n        ranges = this.highlight;\n      } else {\n        ranges = FindRanges(this.text, this.search);\n      }\n      ranges.forEach((range, i) => {\n        if (range.end < range.start) {\n          ranges[i] = {\n            start: range.end,\n            end: range.start\n          };\n        }\n      });\n      ranges = ranges.reduce((validRanges, range) => {\n        if (range.start < this.text.length && range.end > 0) {\n          validRanges.push({\n            start: range.start < 0 ? 0 : range.start,\n            end: range.end > this.text.length ? this.text.length : range.end\n          });\n        }\n        return validRanges;\n      }, []);\n      ranges.sort((a, b) => {\n        return a.start - b.start;\n      });\n      ranges = ranges.reduce((mergedRanges, range) => {\n        if (!mergedRanges.length) {\n          mergedRanges.push(range);\n        } else {\n          const idx = mergedRanges.length - 1;\n          if (mergedRanges[idx].end >= range.start) {\n            mergedRanges[idx] = {\n              start: mergedRanges[idx].start,\n              end: Math.max(mergedRanges[idx].end, range.end)\n            };\n          } else {\n            mergedRanges.push(range);\n          }\n        }\n        return mergedRanges;\n      }, []);\n      return ranges;\n    },\n    /**\n     * Calculate the different chunks to show based on the ranges to highlight.\n     *\n     * @return {Array} The chunks\n     */\n    chunks() {\n      if (this.ranges.length === 0) {\n        return [{\n          start: 0,\n          end: this.text.length,\n          highlight: false,\n          text: this.text\n        }];\n      }\n      const chunks = [];\n      let currentIndex = 0;\n      let currentRange = 0;\n      while (currentIndex < this.text.length) {\n        const range = this.ranges[currentRange];\n        if (range.start === currentIndex) {\n          chunks.push({\n            ...range,\n            highlight: true,\n            text: this.text.slice(range.start, range.end)\n          });\n          currentRange++;\n          currentIndex = range.end;\n          if (currentRange >= this.ranges.length && currentIndex < this.text.length) {\n            chunks.push({\n              start: currentIndex,\n              end: this.text.length,\n              highlight: false,\n              text: this.text.slice(currentIndex)\n            });\n            currentIndex = this.text.length;\n          }\n          continue;\n        }\n        chunks.push({\n          start: currentIndex,\n          end: range.start,\n          highlight: false,\n          text: this.text.slice(currentIndex, range.start)\n        });\n        currentIndex = range.start;\n      }\n      return chunks;\n    }\n  },\n  /**\n   * The render function to display the component\n   *\n   * @param {Function} h The function to create VNodes\n   * @return {object} The created VNode\n   */\n  render(h) {\n    if (!this.ranges.length) {\n      return h(\"span\", {}, this.text);\n    }\n    return h(\"span\", {}, this.chunks.map((chunk) => {\n      return chunk.highlight ? h(\"strong\", {}, chunk.text) : chunk.text;\n    }));\n  }\n};\nconst _sfc_render = null;\nconst _sfc_staticRenderFns = null;\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst NcHighlight = __component__.exports;\nexport {\n  FindRanges as F,\n  NcHighlight as N\n};\n//# sourceMappingURL=index-Bz6q9mZw.mjs.map\n","import '../assets/NcEllipsisedOption-DGr9_bIL.css';\nimport { N as NcHighlight, F as FindRanges } from \"../chunks/index-Bz6q9mZw.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcEllipsisedOption\",\n  components: {\n    NcHighlight\n  },\n  props: {\n    /**\n     * The text to be display in one line. If it is longer than 10 characters, it is be truncated with ellipsis in the end but keeping up to 10 last characters to fit the parent container.\n     */\n    name: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * The search value to highlight in the text\n     */\n    search: {\n      type: String,\n      default: \"\"\n    }\n  },\n  computed: {\n    needsTruncate() {\n      return this.name && this.name.length >= 10;\n    },\n    /**\n     * Index at which to split the name if it is longer than 10 characters.\n     *\n     * @return {number} The position at which to split\n     */\n    split() {\n      return this.name.length - Math.min(Math.floor(this.name.length / 2), 10);\n    },\n    part1() {\n      if (this.needsTruncate) {\n        return this.name.slice(0, this.split);\n      }\n      return this.name;\n    },\n    part2() {\n      if (this.needsTruncate) {\n        return this.name.slice(this.split);\n      }\n      return \"\";\n    },\n    /**\n     * The ranges to highlight. Since we split the string for ellipsising,\n     * the Highlight component cannot figure this out itself and needs the ranges provided.\n     *\n     * @return {Array} The array with the ranges to highlight\n     */\n    highlight1() {\n      if (!this.search) {\n        return [];\n      }\n      return FindRanges(this.name, this.search);\n    },\n    /**\n     * We shift the ranges for the second part by the position of the split.\n     * Ranges out of the string length are discarded by the Highlight component,\n     * so we don't need to take care of this here.\n     *\n     * @return {Array} The array with the ranges to highlight\n     */\n    highlight2() {\n      return this.highlight1.map((range) => {\n        return {\n          start: range.start - this.split,\n          end: range.end - this.split\n        };\n      });\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", { staticClass: \"name-parts\", attrs: { \"dir\": \"auto\", \"title\": _vm.name } }, [_c(\"NcHighlight\", { staticClass: \"name-parts__first\", attrs: { \"text\": _vm.part1, \"search\": _vm.search, \"highlight\": _vm.highlight1 } }), _vm.part2 ? _c(\"NcHighlight\", { staticClass: \"name-parts__last\", attrs: { \"text\": _vm.part2, \"search\": _vm.search, \"highlight\": _vm.highlight2 } }) : _vm._e()], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"f6384352\"\n);\nconst NcEllipsisedOption = __component__.exports;\nexport {\n  NcEllipsisedOption as default\n};\n//# sourceMappingURL=NcEllipsisedOption.mjs.map\n","import Vue from 'vue'\nimport { getCurrentInstance } from 'vue'\n\nvar isVue2 = true\nvar isVue3 = false\nvar Vue2 = Vue\nvar warn = Vue.util.warn\n\nfunction install() {}\n\n// createApp polyfill\nexport function createApp(rootComponent, rootProps) {\n  var vm\n  var provide = {}\n  var app = {\n    config: Vue.config,\n    use: Vue.use.bind(Vue),\n    mixin: Vue.mixin.bind(Vue),\n    component: Vue.component.bind(Vue),\n    provide: function (key, value) {\n      provide[key] = value\n      return this\n    },\n    directive: function (name, dir) {\n      if (dir) {\n        Vue.directive(name, dir)\n        return app\n      } else {\n        return Vue.directive(name)\n      }\n    },\n    mount: function (el, hydrating) {\n      if (!vm) {\n        vm = new Vue(Object.assign({ propsData: rootProps }, rootComponent, { provide: Object.assign(provide, rootComponent.provide) }))\n        vm.$mount(el, hydrating)\n        return vm\n      } else {\n        return vm\n      }\n    },\n    unmount: function () {\n      if (vm) {\n        vm.$destroy()\n        vm = undefined\n      }\n    },\n  }\n  return app\n}\n\nexport {\n  Vue,\n  Vue2,\n  isVue2,\n  isVue3,\n  install,\n  warn\n}\n\n// Vue 3 components mock\nfunction createMockComponent(name) {\n  return {\n    setup() {\n      throw new Error('[vue-demi] ' + name + ' is not supported in Vue 2. It\\'s provided to avoid compiler errors.')\n    }\n  }\n}\nexport var Fragment = /*#__PURE__*/ createMockComponent('Fragment')\nexport var Transition = /*#__PURE__*/ createMockComponent('Transition')\nexport var TransitionGroup = /*#__PURE__*/ createMockComponent('TransitionGroup')\nexport var Teleport = /*#__PURE__*/ createMockComponent('Teleport')\nexport var Suspense = /*#__PURE__*/ createMockComponent('Suspense')\nexport var KeepAlive = /*#__PURE__*/ createMockComponent('KeepAlive')\n\nexport * from 'vue'\n\n// Not implemented https://github.com/vuejs/core/pull/8111, falls back to getCurrentInstance()\nexport function hasInjectionContext() {\n  return !!getCurrentInstance()\n}\n","import { defineComponent, ref, h, watch, computed, reactive, shallowRef, nextTick, getCurrentInstance, onMounted, isVue2, watchEffect, toRefs } from 'vue-demi';\nimport { onClickOutside as onClickOutside$1, useActiveElement, useBattery, useBrowserLocation, useClipboard, useDark, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDocumentVisibility, useStorage as useStorage$1, isClient as isClient$1, useDraggable, useElementBounding, useElementSize as useElementSize$1, useElementVisibility as useElementVisibility$1, useEyeDropper, useFullscreen, useGeolocation, useIdle, useMouse, useMouseInElement, useMousePressed, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, usePointer, usePointerLock, usePreferredColorScheme, usePreferredContrast, usePreferredDark as usePreferredDark$1, usePreferredLanguages, usePreferredReducedMotion, useTimeAgo, useTimestamp, useVirtualList, useWindowFocus, useWindowSize } from '@vueuse/core';\nimport { toValue, isClient, noop, isObject, tryOnScopeDispose, isIOS, directiveHooks, pausableWatch, tryOnMounted, toRef, useToggle, notNullish, promiseTimeout, until, useDebounceFn, useThrottleFn } from '@vueuse/shared';\n\nconst OnClickOutside = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"OnClickOutside\",\n  props: [\"as\", \"options\"],\n  emits: [\"trigger\"],\n  setup(props, { slots, emit }) {\n    const target = ref();\n    onClickOutside$1(target, (e) => {\n      emit(\"trigger\", e);\n    }, props.options);\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default());\n    };\n  }\n});\n\nfunction unrefElement(elRef) {\n  var _a;\n  const plain = toValue(elRef);\n  return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\n\nfunction useEventListener(...args) {\n  let target;\n  let events;\n  let listeners;\n  let options;\n  if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n    [events, listeners, options] = args;\n    target = defaultWindow;\n  } else {\n    [target, events, listeners, options] = args;\n  }\n  if (!target)\n    return noop;\n  if (!Array.isArray(events))\n    events = [events];\n  if (!Array.isArray(listeners))\n    listeners = [listeners];\n  const cleanups = [];\n  const cleanup = () => {\n    cleanups.forEach((fn) => fn());\n    cleanups.length = 0;\n  };\n  const register = (el, event, listener, options2) => {\n    el.addEventListener(event, listener, options2);\n    return () => el.removeEventListener(event, listener, options2);\n  };\n  const stopWatch = watch(\n    () => [unrefElement(target), toValue(options)],\n    ([el, options2]) => {\n      cleanup();\n      if (!el)\n        return;\n      const optionsClone = isObject(options2) ? { ...options2 } : options2;\n      cleanups.push(\n        ...events.flatMap((event) => {\n          return listeners.map((listener) => register(el, event, listener, optionsClone));\n        })\n      );\n    },\n    { immediate: true, flush: \"post\" }\n  );\n  const stop = () => {\n    stopWatch();\n    cleanup();\n  };\n  tryOnScopeDispose(stop);\n  return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n  const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n  if (!window)\n    return noop;\n  if (isIOS && !_iOSWorkaround) {\n    _iOSWorkaround = true;\n    Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n    window.document.documentElement.addEventListener(\"click\", noop);\n  }\n  let shouldListen = true;\n  const shouldIgnore = (event) => {\n    return ignore.some((target2) => {\n      if (typeof target2 === \"string\") {\n        return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n      } else {\n        const el = unrefElement(target2);\n        return el && (event.target === el || event.composedPath().includes(el));\n      }\n    });\n  };\n  const listener = (event) => {\n    const el = unrefElement(target);\n    if (!el || el === event.target || event.composedPath().includes(el))\n      return;\n    if (event.detail === 0)\n      shouldListen = !shouldIgnore(event);\n    if (!shouldListen) {\n      shouldListen = true;\n      return;\n    }\n    handler(event);\n  };\n  const cleanup = [\n    useEventListener(window, \"click\", listener, { passive: true, capture }),\n    useEventListener(window, \"pointerdown\", (e) => {\n      const el = unrefElement(target);\n      shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n    }, { passive: true }),\n    detectIframe && useEventListener(window, \"blur\", (event) => {\n      setTimeout(() => {\n        var _a;\n        const el = unrefElement(target);\n        if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n          handler(event);\n        }\n      }, 0);\n    })\n  ].filter(Boolean);\n  const stop = () => cleanup.forEach((fn) => fn());\n  return stop;\n}\n\nconst vOnClickOutside = {\n  [directiveHooks.mounted](el, binding) {\n    const capture = !binding.modifiers.bubble;\n    if (typeof binding.value === \"function\") {\n      el.__onClickOutside_stop = onClickOutside(el, binding.value, { capture });\n    } else {\n      const [handler, options] = binding.value;\n      el.__onClickOutside_stop = onClickOutside(el, handler, Object.assign({ capture }, options));\n    }\n  },\n  [directiveHooks.unmounted](el) {\n    el.__onClickOutside_stop();\n  }\n};\n\nfunction createKeyPredicate(keyFilter) {\n  if (typeof keyFilter === \"function\")\n    return keyFilter;\n  else if (typeof keyFilter === \"string\")\n    return (event) => event.key === keyFilter;\n  else if (Array.isArray(keyFilter))\n    return (event) => keyFilter.includes(event.key);\n  return () => true;\n}\nfunction onKeyStroke(...args) {\n  let key;\n  let handler;\n  let options = {};\n  if (args.length === 3) {\n    key = args[0];\n    handler = args[1];\n    options = args[2];\n  } else if (args.length === 2) {\n    if (typeof args[1] === \"object\") {\n      key = true;\n      handler = args[0];\n      options = args[1];\n    } else {\n      key = args[0];\n      handler = args[1];\n    }\n  } else {\n    key = true;\n    handler = args[0];\n  }\n  const {\n    target = defaultWindow,\n    eventName = \"keydown\",\n    passive = false,\n    dedupe = false\n  } = options;\n  const predicate = createKeyPredicate(key);\n  const listener = (e) => {\n    if (e.repeat && toValue(dedupe))\n      return;\n    if (predicate(e))\n      handler(e);\n  };\n  return useEventListener(target, eventName, listener, passive);\n}\n\nconst vOnKeyStroke = {\n  [directiveHooks.mounted](el, binding) {\n    var _a, _b;\n    const keys = (_b = (_a = binding.arg) == null ? void 0 : _a.split(\",\")) != null ? _b : true;\n    if (typeof binding.value === \"function\") {\n      onKeyStroke(keys, binding.value, {\n        target: el\n      });\n    } else {\n      const [handler, options] = binding.value;\n      onKeyStroke(keys, handler, {\n        target: el,\n        ...options\n      });\n    }\n  }\n};\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n  var _a, _b;\n  const elementRef = computed(() => unrefElement(target));\n  let timeout;\n  let posStart;\n  let startTimestamp;\n  let hasLongPressed = false;\n  function clear() {\n    if (timeout) {\n      clearTimeout(timeout);\n      timeout = void 0;\n    }\n    posStart = void 0;\n    startTimestamp = void 0;\n    hasLongPressed = false;\n  }\n  function onRelease(ev) {\n    var _a2, _b2, _c;\n    const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n    clear();\n    if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n      return;\n    if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n      return;\n    if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n      ev.preventDefault();\n    if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n      ev.stopPropagation();\n    const dx = ev.x - _posStart.x;\n    const dy = ev.y - _posStart.y;\n    const distance = Math.sqrt(dx * dx + dy * dy);\n    options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n  }\n  function onDown(ev) {\n    var _a2, _b2, _c, _d;\n    if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n      return;\n    clear();\n    if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n      ev.preventDefault();\n    if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n      ev.stopPropagation();\n    posStart = {\n      x: ev.x,\n      y: ev.y\n    };\n    startTimestamp = ev.timeStamp;\n    timeout = setTimeout(\n      () => {\n        hasLongPressed = true;\n        handler(ev);\n      },\n      (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n    );\n  }\n  function onMove(ev) {\n    var _a2, _b2, _c, _d;\n    if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n      return;\n    if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n      return;\n    if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n      ev.preventDefault();\n    if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n      ev.stopPropagation();\n    const dx = ev.x - posStart.x;\n    const dy = ev.y - posStart.y;\n    const distance = Math.sqrt(dx * dx + dy * dy);\n    if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n      clear();\n  }\n  const listenerOptions = {\n    capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n    once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n  };\n  const cleanup = [\n    useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n    useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n    useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n  ];\n  const stop = () => cleanup.forEach((fn) => fn());\n  return stop;\n}\n\nconst OnLongPress = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"OnLongPress\",\n  props: [\"as\", \"options\"],\n  emits: [\"trigger\"],\n  setup(props, { slots, emit }) {\n    const target = ref();\n    onLongPress(\n      target,\n      (e) => {\n        emit(\"trigger\", e);\n      },\n      props.options\n    );\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default());\n    };\n  }\n});\n\nconst vOnLongPress = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\")\n      onLongPress(el, binding.value, { modifiers: binding.modifiers });\n    else\n      onLongPress(el, ...binding.value);\n  }\n};\n\nconst UseActiveElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseActiveElement\",\n  setup(props, { slots }) {\n    const data = reactive({\n      element: useActiveElement()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseBattery = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseBattery\",\n  setup(props, { slots }) {\n    const data = reactive(useBattery(props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseBrowserLocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseBrowserLocation\",\n  setup(props, { slots }) {\n    const data = reactive(useBrowserLocation());\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseClipboard = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseClipboard\",\n  props: [\n    \"source\",\n    \"read\",\n    \"navigator\",\n    \"copiedDuring\",\n    \"legacy\"\n  ],\n  setup(props, { slots }) {\n    const data = reactive(useClipboard(props));\n    return () => {\n      var _a;\n      return (_a = slots.default) == null ? void 0 : _a.call(slots, data);\n    };\n  }\n});\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n  if (!(globalKey in _global))\n    _global[globalKey] = _global[globalKey] || {};\n  return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n  return handlers[key] || fallback;\n}\n\nfunction guessSerializerType(rawInit) {\n  return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n  boolean: {\n    read: (v) => v === \"true\",\n    write: (v) => String(v)\n  },\n  object: {\n    read: (v) => JSON.parse(v),\n    write: (v) => JSON.stringify(v)\n  },\n  number: {\n    read: (v) => Number.parseFloat(v),\n    write: (v) => String(v)\n  },\n  any: {\n    read: (v) => v,\n    write: (v) => String(v)\n  },\n  string: {\n    read: (v) => v,\n    write: (v) => String(v)\n  },\n  map: {\n    read: (v) => new Map(JSON.parse(v)),\n    write: (v) => JSON.stringify(Array.from(v.entries()))\n  },\n  set: {\n    read: (v) => new Set(JSON.parse(v)),\n    write: (v) => JSON.stringify(Array.from(v))\n  },\n  date: {\n    read: (v) => new Date(v),\n    write: (v) => v.toISOString()\n  }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n  var _a;\n  const {\n    flush = \"pre\",\n    deep = true,\n    listenToStorageChanges = true,\n    writeDefaults = true,\n    mergeDefaults = false,\n    shallow,\n    window = defaultWindow,\n    eventFilter,\n    onError = (e) => {\n      console.error(e);\n    },\n    initOnMounted\n  } = options;\n  const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n  if (!storage) {\n    try {\n      storage = getSSRHandler(\"getDefaultStorage\", () => {\n        var _a2;\n        return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n      })();\n    } catch (e) {\n      onError(e);\n    }\n  }\n  if (!storage)\n    return data;\n  const rawInit = toValue(defaults);\n  const type = guessSerializerType(rawInit);\n  const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n  const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n    data,\n    () => write(data.value),\n    { flush, deep, eventFilter }\n  );\n  if (window && listenToStorageChanges) {\n    tryOnMounted(() => {\n      if (storage instanceof Storage)\n        useEventListener(window, \"storage\", update);\n      else\n        useEventListener(window, customStorageEventName, updateFromCustomEvent);\n      if (initOnMounted)\n        update();\n    });\n  }\n  if (!initOnMounted)\n    update();\n  function dispatchWriteEvent(oldValue, newValue) {\n    if (window) {\n      const payload = {\n        key,\n        oldValue,\n        newValue,\n        storageArea: storage\n      };\n      window.dispatchEvent(storage instanceof Storage ? new StorageEvent(\"storage\", payload) : new CustomEvent(customStorageEventName, {\n        detail: payload\n      }));\n    }\n  }\n  function write(v) {\n    try {\n      const oldValue = storage.getItem(key);\n      if (v == null) {\n        dispatchWriteEvent(oldValue, null);\n        storage.removeItem(key);\n      } else {\n        const serialized = serializer.write(v);\n        if (oldValue !== serialized) {\n          storage.setItem(key, serialized);\n          dispatchWriteEvent(oldValue, serialized);\n        }\n      }\n    } catch (e) {\n      onError(e);\n    }\n  }\n  function read(event) {\n    const rawValue = event ? event.newValue : storage.getItem(key);\n    if (rawValue == null) {\n      if (writeDefaults && rawInit != null)\n        storage.setItem(key, serializer.write(rawInit));\n      return rawInit;\n    } else if (!event && mergeDefaults) {\n      const value = serializer.read(rawValue);\n      if (typeof mergeDefaults === \"function\")\n        return mergeDefaults(value, rawInit);\n      else if (type === \"object\" && !Array.isArray(value))\n        return { ...rawInit, ...value };\n      return value;\n    } else if (typeof rawValue !== \"string\") {\n      return rawValue;\n    } else {\n      return serializer.read(rawValue);\n    }\n  }\n  function update(event) {\n    if (event && event.storageArea !== storage)\n      return;\n    if (event && event.key == null) {\n      data.value = rawInit;\n      return;\n    }\n    if (event && event.key !== key)\n      return;\n    pauseWatch();\n    try {\n      if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n        data.value = read(event);\n    } catch (e) {\n      onError(e);\n    } finally {\n      if (event)\n        nextTick(resumeWatch);\n      else\n        resumeWatch();\n    }\n  }\n  function updateFromCustomEvent(event) {\n    update(event.detail);\n  }\n  return data;\n}\n\nfunction useMounted() {\n  const isMounted = ref(false);\n  const instance = getCurrentInstance();\n  if (instance) {\n    onMounted(() => {\n      isMounted.value = true;\n    }, isVue2 ? void 0 : instance);\n  }\n  return isMounted;\n}\n\nfunction useSupported(callback) {\n  const isMounted = useMounted();\n  return computed(() => {\n    isMounted.value;\n    return Boolean(callback());\n  });\n}\n\nfunction useMediaQuery(query, options = {}) {\n  const { window = defaultWindow } = options;\n  const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n  let mediaQuery;\n  const matches = ref(false);\n  const handler = (event) => {\n    matches.value = event.matches;\n  };\n  const cleanup = () => {\n    if (!mediaQuery)\n      return;\n    if (\"removeEventListener\" in mediaQuery)\n      mediaQuery.removeEventListener(\"change\", handler);\n    else\n      mediaQuery.removeListener(handler);\n  };\n  const stopWatch = watchEffect(() => {\n    if (!isSupported.value)\n      return;\n    cleanup();\n    mediaQuery = window.matchMedia(toValue(query));\n    if (\"addEventListener\" in mediaQuery)\n      mediaQuery.addEventListener(\"change\", handler);\n    else\n      mediaQuery.addListener(handler);\n    matches.value = mediaQuery.matches;\n  });\n  tryOnScopeDispose(() => {\n    stopWatch();\n    cleanup();\n    mediaQuery = void 0;\n  });\n  return matches;\n}\n\nfunction usePreferredDark(options) {\n  return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n  const {\n    selector = \"html\",\n    attribute = \"class\",\n    initialValue = \"auto\",\n    window = defaultWindow,\n    storage,\n    storageKey = \"vueuse-color-scheme\",\n    listenToStorageChanges = true,\n    storageRef,\n    emitAuto,\n    disableTransition = true\n  } = options;\n  const modes = {\n    auto: \"\",\n    light: \"light\",\n    dark: \"dark\",\n    ...options.modes || {}\n  };\n  const preferredDark = usePreferredDark({ window });\n  const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n  const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n  const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n  const updateHTMLAttrs = getSSRHandler(\n    \"updateHTMLAttrs\",\n    (selector2, attribute2, value) => {\n      const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n      if (!el)\n        return;\n      const classesToAdd = /* @__PURE__ */ new Set();\n      const classesToRemove = /* @__PURE__ */ new Set();\n      let attributeToChange = null;\n      if (attribute2 === \"class\") {\n        const current = value.split(/\\s/g);\n        Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n          if (current.includes(v))\n            classesToAdd.add(v);\n          else\n            classesToRemove.add(v);\n        });\n      } else {\n        attributeToChange = { key: attribute2, value };\n      }\n      if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n        return;\n      let style;\n      if (disableTransition) {\n        style = window.document.createElement(\"style\");\n        style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n        window.document.head.appendChild(style);\n      }\n      for (const c of classesToAdd) {\n        el.classList.add(c);\n      }\n      for (const c of classesToRemove) {\n        el.classList.remove(c);\n      }\n      if (attributeToChange) {\n        el.setAttribute(attributeToChange.key, attributeToChange.value);\n      }\n      if (disableTransition) {\n        window.getComputedStyle(style).opacity;\n        document.head.removeChild(style);\n      }\n    }\n  );\n  function defaultOnChanged(mode) {\n    var _a;\n    updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n  }\n  function onChanged(mode) {\n    if (options.onChanged)\n      options.onChanged(mode, defaultOnChanged);\n    else\n      defaultOnChanged(mode);\n  }\n  watch(state, onChanged, { flush: \"post\", immediate: true });\n  tryOnMounted(() => onChanged(state.value));\n  const auto = computed({\n    get() {\n      return emitAuto ? store.value : state.value;\n    },\n    set(v) {\n      store.value = v;\n    }\n  });\n  try {\n    return Object.assign(auto, { store, system, state });\n  } catch (e) {\n    return auto;\n  }\n}\n\nconst UseColorMode = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseColorMode\",\n  props: [\"selector\", \"attribute\", \"modes\", \"onChanged\", \"storageKey\", \"storage\", \"emitAuto\"],\n  setup(props, { slots }) {\n    const mode = useColorMode(props);\n    const data = reactive({\n      mode,\n      system: mode.system,\n      store: mode.store\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDark\",\n  props: [\"selector\", \"attribute\", \"valueDark\", \"valueLight\", \"onChanged\", \"storageKey\", \"storage\"],\n  setup(props, { slots }) {\n    const isDark = useDark(props);\n    const data = reactive({\n      isDark,\n      toggleDark: useToggle(isDark)\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDeviceMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDeviceMotion\",\n  setup(props, { slots }) {\n    const data = reactive(useDeviceMotion());\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDeviceOrientation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDeviceOrientation\",\n  setup(props, { slots }) {\n    const data = reactive(useDeviceOrientation());\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDevicePixelRatio = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDevicePixelRatio\",\n  setup(props, { slots }) {\n    const data = reactive({\n      pixelRatio: useDevicePixelRatio()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDevicesList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDevicesList\",\n  props: [\"onUpdated\", \"requestPermissions\", \"constraints\"],\n  setup(props, { slots }) {\n    const data = reactive(useDevicesList(props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDocumentVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDocumentVisibility\",\n  setup(props, { slots }) {\n    const data = reactive({\n      visibility: useDocumentVisibility()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseDraggable = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseDraggable\",\n  props: [\n    \"storageKey\",\n    \"storageType\",\n    \"initialValue\",\n    \"exact\",\n    \"preventDefault\",\n    \"stopPropagation\",\n    \"pointerTypes\",\n    \"as\",\n    \"handle\",\n    \"axis\",\n    \"onStart\",\n    \"onMove\",\n    \"onEnd\",\n    \"disabled\",\n    \"buttons\"\n  ],\n  setup(props, { slots }) {\n    const target = ref();\n    const handle = computed(() => {\n      var _a;\n      return (_a = props.handle) != null ? _a : target.value;\n    });\n    const disabled = computed(() => !!props.disabled);\n    const storageValue = props.storageKey && useStorage$1(\n      props.storageKey,\n      toValue(props.initialValue) || { x: 0, y: 0 },\n      isClient$1 ? props.storageType === \"session\" ? sessionStorage : localStorage : void 0\n    );\n    const initialValue = storageValue || props.initialValue || { x: 0, y: 0 };\n    const onEnd = (position, event) => {\n      var _a;\n      (_a = props.onEnd) == null ? void 0 : _a.call(props, position, event);\n      if (!storageValue)\n        return;\n      storageValue.value.x = position.x;\n      storageValue.value.y = position.y;\n    };\n    const data = reactive(useDraggable(target, {\n      ...props,\n      handle,\n      initialValue,\n      onEnd,\n      disabled\n    }));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target, style: `touch-action:none;${data.style}` }, slots.default(data));\n    };\n  }\n});\n\nconst UseElementBounding = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseElementBounding\",\n  props: [\"box\", \"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(useElementBounding(target));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nfunction useElementHover(el, options = {}) {\n  const {\n    delayEnter = 0,\n    delayLeave = 0,\n    window = defaultWindow\n  } = options;\n  const isHovered = ref(false);\n  let timer;\n  const toggle = (entering) => {\n    const delay = entering ? delayEnter : delayLeave;\n    if (timer) {\n      clearTimeout(timer);\n      timer = void 0;\n    }\n    if (delay)\n      timer = setTimeout(() => isHovered.value = entering, delay);\n    else\n      isHovered.value = entering;\n  };\n  if (!window)\n    return isHovered;\n  useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n  useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n  return isHovered;\n}\n\nconst vElementHover = {\n  [directiveHooks.mounted](el, binding) {\n    const value = binding.value;\n    if (typeof value === \"function\") {\n      const isHovered = useElementHover(el);\n      watch(isHovered, (v) => value(v));\n    } else {\n      const [handler, options] = value;\n      const isHovered = useElementHover(el, options);\n      watch(isHovered, (v) => handler(v));\n    }\n  }\n};\n\nconst UseElementSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseElementSize\",\n  props: [\"width\", \"height\", \"box\", \"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(useElementSize$1(target, { width: props.width, height: props.height }, { box: props.box }));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nfunction useResizeObserver(target, callback, options = {}) {\n  const { window = defaultWindow, ...observerOptions } = options;\n  let observer;\n  const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n  const cleanup = () => {\n    if (observer) {\n      observer.disconnect();\n      observer = void 0;\n    }\n  };\n  const targets = computed(() => {\n    const _targets = toValue(target);\n    return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n  });\n  const stopWatch = watch(\n    targets,\n    (els) => {\n      cleanup();\n      if (isSupported.value && window) {\n        observer = new ResizeObserver(callback);\n        for (const _el of els) {\n          if (_el)\n            observer.observe(_el, observerOptions);\n        }\n      }\n    },\n    { immediate: true, flush: \"post\" }\n  );\n  const stop = () => {\n    cleanup();\n    stopWatch();\n  };\n  tryOnScopeDispose(stop);\n  return {\n    isSupported,\n    stop\n  };\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n  const { window = defaultWindow, box = \"content-box\" } = options;\n  const isSVG = computed(() => {\n    var _a, _b;\n    return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n  });\n  const width = ref(initialSize.width);\n  const height = ref(initialSize.height);\n  const { stop: stop1 } = useResizeObserver(\n    target,\n    ([entry]) => {\n      const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n      if (window && isSVG.value) {\n        const $elem = unrefElement(target);\n        if ($elem) {\n          const rect = $elem.getBoundingClientRect();\n          width.value = rect.width;\n          height.value = rect.height;\n        }\n      } else {\n        if (boxSize) {\n          const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n          width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n          height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n        } else {\n          width.value = entry.contentRect.width;\n          height.value = entry.contentRect.height;\n        }\n      }\n    },\n    options\n  );\n  tryOnMounted(() => {\n    const ele = unrefElement(target);\n    if (ele) {\n      width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n      height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n    }\n  });\n  const stop2 = watch(\n    () => unrefElement(target),\n    (ele) => {\n      width.value = ele ? initialSize.width : 0;\n      height.value = ele ? initialSize.height : 0;\n    }\n  );\n  function stop() {\n    stop1();\n    stop2();\n  }\n  return {\n    width,\n    height,\n    stop\n  };\n}\n\nconst vElementSize = {\n  [directiveHooks.mounted](el, binding) {\n    var _a;\n    const handler = typeof binding.value === \"function\" ? binding.value : (_a = binding.value) == null ? void 0 : _a[0];\n    const options = typeof binding.value === \"function\" ? [] : binding.value.slice(1);\n    const { width, height } = useElementSize(el, ...options);\n    watch([width, height], ([width2, height2]) => handler({ width: width2, height: height2 }));\n  }\n};\n\nconst UseElementVisibility = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseElementVisibility\",\n  props: [\"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive({\n      isVisible: useElementVisibility$1(target)\n    });\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n  const {\n    root,\n    rootMargin = \"0px\",\n    threshold = 0,\n    window = defaultWindow,\n    immediate = true\n  } = options;\n  const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n  const targets = computed(() => {\n    const _target = toValue(target);\n    return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n  });\n  let cleanup = noop;\n  const isActive = ref(immediate);\n  const stopWatch = isSupported.value ? watch(\n    () => [targets.value, unrefElement(root), isActive.value],\n    ([targets2, root2]) => {\n      cleanup();\n      if (!isActive.value)\n        return;\n      if (!targets2.length)\n        return;\n      const observer = new IntersectionObserver(\n        callback,\n        {\n          root: unrefElement(root2),\n          rootMargin,\n          threshold\n        }\n      );\n      targets2.forEach((el) => el && observer.observe(el));\n      cleanup = () => {\n        observer.disconnect();\n        cleanup = noop;\n      };\n    },\n    { immediate, flush: \"post\" }\n  ) : noop;\n  const stop = () => {\n    cleanup();\n    stopWatch();\n    isActive.value = false;\n  };\n  tryOnScopeDispose(stop);\n  return {\n    isSupported,\n    isActive,\n    pause() {\n      cleanup();\n      isActive.value = false;\n    },\n    resume() {\n      isActive.value = true;\n    },\n    stop\n  };\n}\n\nfunction useElementVisibility(element, options = {}) {\n  const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n  const elementIsVisible = ref(false);\n  useIntersectionObserver(\n    element,\n    (intersectionObserverEntries) => {\n      let isIntersecting = elementIsVisible.value;\n      let latestTime = 0;\n      for (const entry of intersectionObserverEntries) {\n        if (entry.time >= latestTime) {\n          latestTime = entry.time;\n          isIntersecting = entry.isIntersecting;\n        }\n      }\n      elementIsVisible.value = isIntersecting;\n    },\n    {\n      root: scrollTarget,\n      window,\n      threshold\n    }\n  );\n  return elementIsVisible;\n}\n\nconst vElementVisibility = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\") {\n      const handler = binding.value;\n      const isVisible = useElementVisibility(el);\n      watch(isVisible, (v) => handler(v), { immediate: true });\n    } else {\n      const [handler, options] = binding.value;\n      const isVisible = useElementVisibility(el, options);\n      watch(isVisible, (v) => handler(v), { immediate: true });\n    }\n  }\n};\n\nconst UseEyeDropper = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseEyeDropper\",\n  props: {\n    sRGBHex: String\n  },\n  setup(props, { slots }) {\n    const data = reactive(useEyeDropper());\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseFullscreen = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseFullscreen\",\n  props: [\"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(useFullscreen(target));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nconst UseGeolocation = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseGeolocation\",\n  props: [\"enableHighAccuracy\", \"maximumAge\", \"timeout\", \"navigator\"],\n  setup(props, { slots }) {\n    const data = reactive(useGeolocation(props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseIdle = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseIdle\",\n  props: [\"timeout\", \"events\", \"listenForVisibilityChange\", \"initialState\"],\n  setup(props, { slots }) {\n    const data = reactive(useIdle(props.timeout, props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nfunction useAsyncState(promise, initialState, options) {\n  const {\n    immediate = true,\n    delay = 0,\n    onError = noop,\n    onSuccess = noop,\n    resetOnExecute = true,\n    shallow = true,\n    throwError\n  } = options != null ? options : {};\n  const state = shallow ? shallowRef(initialState) : ref(initialState);\n  const isReady = ref(false);\n  const isLoading = ref(false);\n  const error = shallowRef(void 0);\n  async function execute(delay2 = 0, ...args) {\n    if (resetOnExecute)\n      state.value = initialState;\n    error.value = void 0;\n    isReady.value = false;\n    isLoading.value = true;\n    if (delay2 > 0)\n      await promiseTimeout(delay2);\n    const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n    try {\n      const data = await _promise;\n      state.value = data;\n      isReady.value = true;\n      onSuccess(data);\n    } catch (e) {\n      error.value = e;\n      onError(e);\n      if (throwError)\n        throw e;\n    } finally {\n      isLoading.value = false;\n    }\n    return state.value;\n  }\n  if (immediate)\n    execute(delay);\n  const shell = {\n    state,\n    isReady,\n    isLoading,\n    error,\n    execute\n  };\n  function waitUntilIsLoaded() {\n    return new Promise((resolve, reject) => {\n      until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n    });\n  }\n  return {\n    ...shell,\n    then(onFulfilled, onRejected) {\n      return waitUntilIsLoaded().then(onFulfilled, onRejected);\n    }\n  };\n}\n\nasync function loadImage(options) {\n  return new Promise((resolve, reject) => {\n    const img = new Image();\n    const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n    img.src = src;\n    if (srcset)\n      img.srcset = srcset;\n    if (sizes)\n      img.sizes = sizes;\n    if (clazz)\n      img.className = clazz;\n    if (loading)\n      img.loading = loading;\n    if (crossorigin)\n      img.crossOrigin = crossorigin;\n    if (referrerPolicy)\n      img.referrerPolicy = referrerPolicy;\n    img.onload = () => resolve(img);\n    img.onerror = reject;\n  });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n  const state = useAsyncState(\n    () => loadImage(toValue(options)),\n    void 0,\n    {\n      resetOnExecute: true,\n      ...asyncStateOptions\n    }\n  );\n  watch(\n    () => toValue(options),\n    () => state.execute(asyncStateOptions.delay),\n    { deep: true }\n  );\n  return state;\n}\n\nconst UseImage = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseImage\",\n  props: [\n    \"src\",\n    \"srcset\",\n    \"sizes\",\n    \"as\",\n    \"alt\",\n    \"class\",\n    \"loading\",\n    \"crossorigin\",\n    \"referrerPolicy\"\n  ],\n  setup(props, { slots }) {\n    const data = reactive(useImage(props));\n    return () => {\n      if (data.isLoading && slots.loading)\n        return slots.loading(data);\n      else if (data.error && slots.error)\n        return slots.error(data.error);\n      if (slots.default)\n        return slots.default(data);\n      return h(props.as || \"img\", props);\n    };\n  }\n});\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n  const {\n    throttle = 0,\n    idle = 200,\n    onStop = noop,\n    onScroll = noop,\n    offset = {\n      left: 0,\n      right: 0,\n      top: 0,\n      bottom: 0\n    },\n    eventListenerOptions = {\n      capture: false,\n      passive: true\n    },\n    behavior = \"auto\",\n    window = defaultWindow,\n    onError = (e) => {\n      console.error(e);\n    }\n  } = options;\n  const internalX = ref(0);\n  const internalY = ref(0);\n  const x = computed({\n    get() {\n      return internalX.value;\n    },\n    set(x2) {\n      scrollTo(x2, void 0);\n    }\n  });\n  const y = computed({\n    get() {\n      return internalY.value;\n    },\n    set(y2) {\n      scrollTo(void 0, y2);\n    }\n  });\n  function scrollTo(_x, _y) {\n    var _a, _b, _c, _d;\n    if (!window)\n      return;\n    const _element = toValue(element);\n    if (!_element)\n      return;\n    (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n      top: (_a = toValue(_y)) != null ? _a : y.value,\n      left: (_b = toValue(_x)) != null ? _b : x.value,\n      behavior: toValue(behavior)\n    });\n    const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n    if (x != null)\n      internalX.value = scrollContainer.scrollLeft;\n    if (y != null)\n      internalY.value = scrollContainer.scrollTop;\n  }\n  const isScrolling = ref(false);\n  const arrivedState = reactive({\n    left: true,\n    right: false,\n    top: true,\n    bottom: false\n  });\n  const directions = reactive({\n    left: false,\n    right: false,\n    top: false,\n    bottom: false\n  });\n  const onScrollEnd = (e) => {\n    if (!isScrolling.value)\n      return;\n    isScrolling.value = false;\n    directions.left = false;\n    directions.right = false;\n    directions.top = false;\n    directions.bottom = false;\n    onStop(e);\n  };\n  const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n  const setArrivedState = (target) => {\n    var _a;\n    if (!window)\n      return;\n    const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n    const { display, flexDirection } = getComputedStyle(el);\n    const scrollLeft = el.scrollLeft;\n    directions.left = scrollLeft < internalX.value;\n    directions.right = scrollLeft > internalX.value;\n    const left = Math.abs(scrollLeft) <= (offset.left || 0);\n    const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n    if (display === \"flex\" && flexDirection === \"row-reverse\") {\n      arrivedState.left = right;\n      arrivedState.right = left;\n    } else {\n      arrivedState.left = left;\n      arrivedState.right = right;\n    }\n    internalX.value = scrollLeft;\n    let scrollTop = el.scrollTop;\n    if (target === window.document && !scrollTop)\n      scrollTop = window.document.body.scrollTop;\n    directions.top = scrollTop < internalY.value;\n    directions.bottom = scrollTop > internalY.value;\n    const top = Math.abs(scrollTop) <= (offset.top || 0);\n    const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n    if (display === \"flex\" && flexDirection === \"column-reverse\") {\n      arrivedState.top = bottom;\n      arrivedState.bottom = top;\n    } else {\n      arrivedState.top = top;\n      arrivedState.bottom = bottom;\n    }\n    internalY.value = scrollTop;\n  };\n  const onScrollHandler = (e) => {\n    var _a;\n    if (!window)\n      return;\n    const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n    setArrivedState(eventTarget);\n    isScrolling.value = true;\n    onScrollEndDebounced(e);\n    onScroll(e);\n  };\n  useEventListener(\n    element,\n    \"scroll\",\n    throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n    eventListenerOptions\n  );\n  tryOnMounted(() => {\n    try {\n      const _element = toValue(element);\n      if (!_element)\n        return;\n      setArrivedState(_element);\n    } catch (e) {\n      onError(e);\n    }\n  });\n  useEventListener(\n    element,\n    \"scrollend\",\n    onScrollEnd,\n    eventListenerOptions\n  );\n  return {\n    x,\n    y,\n    isScrolling,\n    arrivedState,\n    directions,\n    measure() {\n      const _element = toValue(element);\n      if (window && _element)\n        setArrivedState(_element);\n    }\n  };\n}\n\nfunction resolveElement(el) {\n  if (typeof Window !== \"undefined\" && el instanceof Window)\n    return el.document.documentElement;\n  if (typeof Document !== \"undefined\" && el instanceof Document)\n    return el.documentElement;\n  return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n  var _a;\n  const {\n    direction = \"bottom\",\n    interval = 100,\n    canLoadMore = () => true\n  } = options;\n  const state = reactive(useScroll(\n    element,\n    {\n      ...options,\n      offset: {\n        [direction]: (_a = options.distance) != null ? _a : 0,\n        ...options.offset\n      }\n    }\n  ));\n  const promise = ref();\n  const isLoading = computed(() => !!promise.value);\n  const observedElement = computed(() => {\n    return resolveElement(toValue(element));\n  });\n  const isElementVisible = useElementVisibility(observedElement);\n  function checkAndLoad() {\n    state.measure();\n    if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n      return;\n    const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n    const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n    if (state.arrivedState[direction] || isNarrower) {\n      if (!promise.value) {\n        promise.value = Promise.all([\n          onLoadMore(state),\n          new Promise((resolve) => setTimeout(resolve, interval))\n        ]).finally(() => {\n          promise.value = null;\n          nextTick(() => checkAndLoad());\n        });\n      }\n    }\n  }\n  watch(\n    () => [state.arrivedState[direction], isElementVisible.value],\n    checkAndLoad,\n    { immediate: true }\n  );\n  return {\n    isLoading,\n    reset() {\n      nextTick(() => checkAndLoad());\n    }\n  };\n}\n\nconst vInfiniteScroll = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\")\n      useInfiniteScroll(el, binding.value);\n    else\n      useInfiniteScroll(el, ...binding.value);\n  }\n};\n\nconst vIntersectionObserver = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\")\n      useIntersectionObserver(el, binding.value);\n    else\n      useIntersectionObserver(el, ...binding.value);\n  }\n};\n\nconst UseMouse = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseMouse\",\n  props: [\"touch\", \"resetOnTouchEnds\", \"initialValue\"],\n  setup(props, { slots }) {\n    const data = reactive(useMouse(props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseMouseInElement = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseMouseElement\",\n  props: [\"handleOutside\", \"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(useMouseInElement(target, props));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nconst UseMousePressed = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseMousePressed\",\n  props: [\"touch\", \"initialValue\", \"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(useMousePressed({ ...props, target }));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nconst UseNetwork = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseNetwork\",\n  setup(props, { slots }) {\n    const data = reactive(useNetwork());\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseNow = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseNow\",\n  props: [\"interval\"],\n  setup(props, { slots }) {\n    const data = reactive(useNow({ ...props, controls: true }));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseObjectUrl = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseObjectUrl\",\n  props: [\n    \"object\"\n  ],\n  setup(props, { slots }) {\n    const object = toRef(props, \"object\");\n    const url = useObjectUrl(object);\n    return () => {\n      if (slots.default && url.value)\n        return slots.default(url);\n    };\n  }\n});\n\nconst UseOffsetPagination = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseOffsetPagination\",\n  props: [\n    \"total\",\n    \"page\",\n    \"pageSize\",\n    \"onPageChange\",\n    \"onPageSizeChange\",\n    \"onPageCountChange\"\n  ],\n  emits: [\n    \"page-change\",\n    \"page-size-change\",\n    \"page-count-change\"\n  ],\n  setup(props, { slots, emit }) {\n    const data = reactive(useOffsetPagination({\n      ...props,\n      onPageChange(...args) {\n        var _a;\n        (_a = props.onPageChange) == null ? void 0 : _a.call(props, ...args);\n        emit(\"page-change\", ...args);\n      },\n      onPageSizeChange(...args) {\n        var _a;\n        (_a = props.onPageSizeChange) == null ? void 0 : _a.call(props, ...args);\n        emit(\"page-size-change\", ...args);\n      },\n      onPageCountChange(...args) {\n        var _a;\n        (_a = props.onPageCountChange) == null ? void 0 : _a.call(props, ...args);\n        emit(\"page-count-change\", ...args);\n      }\n    }));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseOnline = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseOnline\",\n  setup(props, { slots }) {\n    const data = reactive({\n      isOnline: useOnline()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePageLeave = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePageLeave\",\n  setup(props, { slots }) {\n    const data = reactive({\n      isLeft: usePageLeave()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePointer = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePointer\",\n  props: [\n    \"pointerTypes\",\n    \"initialValue\",\n    \"target\"\n  ],\n  setup(props, { slots }) {\n    const el = ref(null);\n    const data = reactive(usePointer({\n      ...props,\n      target: props.target === \"self\" ? el : defaultWindow\n    }));\n    return () => {\n      if (slots.default)\n        return slots.default(data, { ref: el });\n    };\n  }\n});\n\nconst UsePointerLock = /* #__PURE__ */ defineComponent({\n  name: \"UsePointerLock\",\n  props: [\"as\"],\n  setup(props, { slots }) {\n    const target = ref();\n    const data = reactive(usePointerLock(target));\n    return () => {\n      if (slots.default)\n        return h(props.as || \"div\", { ref: target }, slots.default(data));\n    };\n  }\n});\n\nconst UsePreferredColorScheme = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePreferredColorScheme\",\n  setup(props, { slots }) {\n    const data = reactive({\n      colorScheme: usePreferredColorScheme()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePreferredContrast = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePreferredContrast\",\n  setup(props, { slots }) {\n    const data = reactive({\n      contrast: usePreferredContrast()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePreferredDark = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePreferredDark\",\n  setup(props, { slots }) {\n    const data = reactive({\n      prefersDark: usePreferredDark$1()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePreferredLanguages = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePreferredLanguages\",\n  setup(props, { slots }) {\n    const data = reactive({\n      languages: usePreferredLanguages()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UsePreferredReducedMotion = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UsePreferredReducedMotion\",\n  setup(props, { slots }) {\n    const data = reactive({\n      motion: usePreferredReducedMotion()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst vResizeObserver = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\")\n      useResizeObserver(el, binding.value);\n    else\n      useResizeObserver(el, ...binding.value);\n  }\n};\n\nfunction useMutationObserver(target, callback, options = {}) {\n  const { window = defaultWindow, ...mutationOptions } = options;\n  let observer;\n  const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n  const cleanup = () => {\n    if (observer) {\n      observer.disconnect();\n      observer = void 0;\n    }\n  };\n  const targets = computed(() => {\n    const value = toValue(target);\n    const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n    return new Set(items);\n  });\n  const stopWatch = watch(\n    () => targets.value,\n    (targets2) => {\n      cleanup();\n      if (isSupported.value && targets2.size) {\n        observer = new MutationObserver(callback);\n        targets2.forEach((el) => observer.observe(el, mutationOptions));\n      }\n    },\n    { immediate: true, flush: \"post\" }\n  );\n  const takeRecords = () => {\n    return observer == null ? void 0 : observer.takeRecords();\n  };\n  const stop = () => {\n    stopWatch();\n    cleanup();\n  };\n  tryOnScopeDispose(stop);\n  return {\n    isSupported,\n    stop,\n    takeRecords\n  };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n  const { window = defaultWindow, initialValue, observe = false } = options;\n  const variable = ref(initialValue);\n  const elRef = computed(() => {\n    var _a;\n    return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n  });\n  function updateCssVar() {\n    var _a;\n    const key = toValue(prop);\n    const el = toValue(elRef);\n    if (el && window && key) {\n      const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n      variable.value = value || initialValue;\n    }\n  }\n  if (observe) {\n    useMutationObserver(elRef, updateCssVar, {\n      attributeFilter: [\"style\", \"class\"],\n      window\n    });\n  }\n  watch(\n    [elRef, () => toValue(prop)],\n    (_, old) => {\n      if (old[0] && old[1])\n        old[0].style.removeProperty(old[1]);\n      updateCssVar();\n    },\n    { immediate: true }\n  );\n  watch(\n    variable,\n    (val) => {\n      var _a;\n      const raw_prop = toValue(prop);\n      if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) {\n        if (val == null)\n          elRef.value.style.removeProperty(raw_prop);\n        else\n          elRef.value.style.setProperty(raw_prop, val);\n      }\n    }\n  );\n  return variable;\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n  const top = ref(\"\");\n  const right = ref(\"\");\n  const bottom = ref(\"\");\n  const left = ref(\"\");\n  if (isClient) {\n    const topCssVar = useCssVar(topVarName);\n    const rightCssVar = useCssVar(rightVarName);\n    const bottomCssVar = useCssVar(bottomVarName);\n    const leftCssVar = useCssVar(leftVarName);\n    topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n    rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n    bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n    leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n    update();\n    useEventListener(\"resize\", useDebounceFn(update));\n  }\n  function update() {\n    top.value = getValue(topVarName);\n    right.value = getValue(rightVarName);\n    bottom.value = getValue(bottomVarName);\n    left.value = getValue(leftVarName);\n  }\n  return {\n    top,\n    right,\n    bottom,\n    left,\n    update\n  };\n}\nfunction getValue(position) {\n  return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nconst UseScreenSafeArea = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseScreenSafeArea\",\n  props: {\n    top: Boolean,\n    right: Boolean,\n    bottom: Boolean,\n    left: Boolean\n  },\n  setup(props, { slots }) {\n    const {\n      top,\n      right,\n      bottom,\n      left\n    } = useScreenSafeArea();\n    return () => {\n      if (slots.default) {\n        return h(\"div\", {\n          style: {\n            paddingTop: props.top ? top.value : \"\",\n            paddingRight: props.right ? right.value : \"\",\n            paddingBottom: props.bottom ? bottom.value : \"\",\n            paddingLeft: props.left ? left.value : \"\",\n            boxSizing: \"border-box\",\n            maxHeight: \"100vh\",\n            maxWidth: \"100vw\",\n            overflow: \"auto\"\n          }\n        }, slots.default());\n      }\n    };\n  }\n});\n\nconst vScroll = {\n  [directiveHooks.mounted](el, binding) {\n    if (typeof binding.value === \"function\") {\n      const handler = binding.value;\n      const state = useScroll(el, {\n        onScroll() {\n          handler(state);\n        },\n        onStop() {\n          handler(state);\n        }\n      });\n    } else {\n      const [handler, options] = binding.value;\n      const state = useScroll(el, {\n        ...options,\n        onScroll(e) {\n          var _a;\n          (_a = options.onScroll) == null ? void 0 : _a.call(options, e);\n          handler(state);\n        },\n        onStop(e) {\n          var _a;\n          (_a = options.onStop) == null ? void 0 : _a.call(options, e);\n          handler(state);\n        }\n      });\n    }\n  }\n};\n\nfunction checkOverflowScroll(ele) {\n  const style = window.getComputedStyle(ele);\n  if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n    return true;\n  } else {\n    const parent = ele.parentNode;\n    if (!parent || parent.tagName === \"BODY\")\n      return false;\n    return checkOverflowScroll(parent);\n  }\n}\nfunction preventDefault(rawEvent) {\n  const e = rawEvent || window.event;\n  const _target = e.target;\n  if (checkOverflowScroll(_target))\n    return false;\n  if (e.touches.length > 1)\n    return true;\n  if (e.preventDefault)\n    e.preventDefault();\n  return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n  const isLocked = ref(initialState);\n  let stopTouchMoveListener = null;\n  let initialOverflow = \"\";\n  watch(toRef(element), (el) => {\n    const target = resolveElement(toValue(el));\n    if (target) {\n      const ele = target;\n      if (!elInitialOverflow.get(ele))\n        elInitialOverflow.set(ele, ele.style.overflow);\n      if (ele.style.overflow !== \"hidden\")\n        initialOverflow = ele.style.overflow;\n      if (ele.style.overflow === \"hidden\")\n        return isLocked.value = true;\n      if (isLocked.value)\n        return ele.style.overflow = \"hidden\";\n    }\n  }, {\n    immediate: true\n  });\n  const lock = () => {\n    const el = resolveElement(toValue(element));\n    if (!el || isLocked.value)\n      return;\n    if (isIOS) {\n      stopTouchMoveListener = useEventListener(\n        el,\n        \"touchmove\",\n        (e) => {\n          preventDefault(e);\n        },\n        { passive: false }\n      );\n    }\n    el.style.overflow = \"hidden\";\n    isLocked.value = true;\n  };\n  const unlock = () => {\n    const el = resolveElement(toValue(element));\n    if (!el || !isLocked.value)\n      return;\n    if (isIOS)\n      stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n    el.style.overflow = initialOverflow;\n    elInitialOverflow.delete(el);\n    isLocked.value = false;\n  };\n  tryOnScopeDispose(unlock);\n  return computed({\n    get() {\n      return isLocked.value;\n    },\n    set(v) {\n      if (v)\n        lock();\n      else unlock();\n    }\n  });\n}\n\nfunction onScrollLock() {\n  let isMounted = false;\n  const state = ref(false);\n  return (el, binding) => {\n    state.value = binding.value;\n    if (isMounted)\n      return;\n    isMounted = true;\n    const isLocked = useScrollLock(el, binding.value);\n    watch(state, (v) => isLocked.value = v);\n  };\n}\nconst vScrollLock = onScrollLock();\n\nconst UseTimeAgo = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseTimeAgo\",\n  props: [\"time\", \"updateInterval\", \"max\", \"fullDateFormatter\", \"messages\", \"showSecond\"],\n  setup(props, { slots }) {\n    const data = reactive(useTimeAgo(() => props.time, { ...props, controls: true }));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseTimestamp = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseTimestamp\",\n  props: [\"immediate\", \"interval\", \"offset\"],\n  setup(props, { slots }) {\n    const data = reactive(useTimestamp({ ...props, controls: true }));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseVirtualList = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseVirtualList\",\n  props: [\n    \"list\",\n    \"options\",\n    \"height\"\n  ],\n  setup(props, { slots, expose }) {\n    const { list: listRef } = toRefs(props);\n    const { list, containerProps, wrapperProps, scrollTo } = useVirtualList(listRef, props.options);\n    expose({ scrollTo });\n    if (containerProps.style && typeof containerProps.style === \"object\" && !Array.isArray(containerProps.style))\n      containerProps.style.height = props.height || \"300px\";\n    return () => h(\"div\", { ...containerProps }, [\n      h(\"div\", { ...wrapperProps.value }, list.value.map((item) => h(\"div\", { style: { overflow: \"hidden\", height: item.height } }, slots.default ? slots.default(item) : \"Please set content!\")))\n    ]);\n  }\n});\n\nconst UseWindowFocus = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseWindowFocus\",\n  setup(props, { slots }) {\n    const data = reactive({\n      focused: useWindowFocus()\n    });\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nconst UseWindowSize = /* @__PURE__ */ /* #__PURE__ */ defineComponent({\n  name: \"UseWindowSize\",\n  props: [\"initialWidth\", \"initialHeight\"],\n  setup(props, { slots }) {\n    const data = reactive(useWindowSize(props));\n    return () => {\n      if (slots.default)\n        return slots.default(data);\n    };\n  }\n});\n\nexport { OnClickOutside, OnLongPress, UseActiveElement, UseBattery, UseBrowserLocation, UseClipboard, UseColorMode, UseDark, UseDeviceMotion, UseDeviceOrientation, UseDevicePixelRatio, UseDevicesList, UseDocumentVisibility, UseDraggable, UseElementBounding, UseElementSize, UseElementVisibility, UseEyeDropper, UseFullscreen, UseGeolocation, UseIdle, UseImage, UseMouse, UseMouseInElement, UseMousePressed, UseNetwork, UseNow, UseObjectUrl, UseOffsetPagination, UseOnline, UsePageLeave, UsePointer, UsePointerLock, UsePreferredColorScheme, UsePreferredContrast, UsePreferredDark, UsePreferredLanguages, UsePreferredReducedMotion, UseScreenSafeArea, UseTimeAgo, UseTimestamp, UseVirtualList, UseWindowFocus, UseWindowSize, vOnClickOutside as VOnClickOutside, vOnLongPress as VOnLongPress, vElementHover, vElementSize, vElementVisibility, vInfiniteScroll, vIntersectionObserver, vOnClickOutside, vOnKeyStroke, vOnLongPress, vResizeObserver, vScroll, vScrollLock };\n","import '../assets/NcActionLink-CNMaob5P.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-fFcUPi2g.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcActionLink\",\n  mixins: [ActionTextMixin],\n  inject: {\n    isInSemanticMenu: {\n      from: \"NcActions:isSemanticMenu\",\n      default: false\n    }\n  },\n  props: {\n    /**\n     * destionation to link to\n     */\n    href: {\n      type: String,\n      default: \"#\",\n      required: true,\n      validator: (value) => {\n        try {\n          return new URL(value);\n        } catch (error) {\n          return value.startsWith(\"#\") || value.startsWith(\"/\");\n        }\n      }\n    },\n    /**\n     * download the link instead of opening\n     */\n    download: {\n      type: String,\n      default: null\n    },\n    /**\n     * target to open the link\n     */\n    target: {\n      type: String,\n      default: \"_self\",\n      validator: (value) => {\n        return value && (!value.startsWith(\"_\") || [\"_blank\", \"_self\", \"_parent\", \"_top\"].indexOf(value) > -1);\n      }\n    },\n    /**\n     * Declares a native tooltip when not null\n     */\n    title: {\n      type: String,\n      default: null\n    },\n    /**\n     * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n     * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n     * otherwise root element will inherit incorrect aria-hidden.\n     */\n    ariaHidden: {\n      type: Boolean,\n      default: null\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"li\", { staticClass: \"action\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"a\", { staticClass: \"action-link focusable\", attrs: { \"download\": _vm.download, \"href\": _vm.href, \"aria-label\": _vm.ariaLabel, \"target\": _vm.target, \"title\": _vm.title, \"rel\": \"nofollow noreferrer noopener\", \"role\": _vm.isInSemanticMenu && \"menuitem\" }, on: { \"click\": _vm.onClick } }, [_vm._t(\"icon\", function() {\n    return [_c(\"span\", { staticClass: \"action-link__icon\", class: [_vm.isIconUrl ? \"action-link__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n  }), _vm.name ? _c(\"span\", { staticClass: \"action-link__longtext-wrapper\" }, [_c(\"strong\", { staticClass: \"action-link__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _c(\"br\"), _c(\"span\", { staticClass: \"action-link__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm.isLongText ? _c(\"span\", { staticClass: \"action-link__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } }) : _c(\"span\", { staticClass: \"action-link__text\" }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"30c015f0\"\n);\nconst NcActionLink = __component__.exports;\nexport {\n  NcActionLink as default\n};\n//# sourceMappingURL=NcActionLink.mjs.map\n","import '../assets/NcActionRouter-zXuKLsvi.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-fFcUPi2g.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcActionRouter\",\n  mixins: [ActionTextMixin],\n  inject: {\n    isInSemanticMenu: {\n      from: \"NcActions:isSemanticMenu\",\n      default: false\n    }\n  },\n  props: {\n    /**\n     * router-link to prop [https://router.vuejs.org/api/#to](https://router.vuejs.org/api/#to)\n     */\n    to: {\n      type: [String, Object],\n      default: \"\",\n      required: true\n    },\n    /**\n     * router-link exact prop [https://router.vuejs.org/api/#exact](https://router.vuejs.org/api/#exact)\n     */\n    exact: {\n      type: Boolean,\n      default: false\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"li\", { staticClass: \"action\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"RouterLink\", { staticClass: \"action-router focusable\", attrs: { \"to\": _vm.to, \"aria-label\": _vm.ariaLabel, \"exact\": _vm.exact, \"title\": _vm.title, \"rel\": \"nofollow noreferrer noopener\", \"role\": _vm.isInSemanticMenu && \"menuitem\" }, nativeOn: { \"click\": function($event) {\n    return _vm.onClick.apply(null, arguments);\n  } } }, [_vm._t(\"icon\", function() {\n    return [_c(\"span\", { staticClass: \"action-router__icon\", class: [_vm.isIconUrl ? \"action-router__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } })];\n  }), _vm.name ? _c(\"span\", { staticClass: \"action-router__longtext-wrapper\" }, [_c(\"strong\", { staticClass: \"action-router__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _c(\"br\"), _c(\"span\", { staticClass: \"action-router__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm.isLongText ? _c(\"span\", { staticClass: \"action-router__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } }) : _c(\"span\", { staticClass: \"action-router__text\" }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)], 1);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"579c6b4d\"\n);\nconst NcActionRouter = __component__.exports;\nexport {\n  NcActionRouter as default\n};\n//# sourceMappingURL=NcActionRouter.mjs.map\n","import '../assets/NcActionText-Rad4JSXq.css';\nimport { A as ActionTextMixin } from \"../chunks/actionText-fFcUPi2g.mjs\";\nimport { n as normalizeComponent } from \"../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst _sfc_main = {\n  name: \"NcActionText\",\n  mixins: [ActionTextMixin],\n  inject: {\n    isInSemanticMenu: {\n      from: \"NcActions:isSemanticMenu\",\n      default: false\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"li\", { staticClass: \"action\", attrs: { \"role\": _vm.isInSemanticMenu && \"presentation\" } }, [_c(\"span\", { staticClass: \"action-text\", on: { \"click\": _vm.onClick } }, [_vm._t(\"icon\", function() {\n    return [_vm.icon !== \"\" ? _c(\"span\", { staticClass: \"action-text__icon\", class: [_vm.isIconUrl ? \"action-text__icon--url\" : _vm.icon], style: { backgroundImage: _vm.isIconUrl ? `url(${_vm.icon})` : null }, attrs: { \"aria-hidden\": \"true\" } }) : _vm._e()];\n  }), _vm.name ? _c(\"span\", { staticClass: \"action-text__longtext-wrapper\" }, [_c(\"strong\", { staticClass: \"action-text__name\" }, [_vm._v(\" \" + _vm._s(_vm.name) + \" \")]), _c(\"span\", { staticClass: \"action-text__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } })]) : _vm.isLongText ? _c(\"span\", { staticClass: \"action-text__longtext\", domProps: { \"textContent\": _vm._s(_vm.text) } }) : _c(\"span\", { staticClass: \"action-text__text\" }, [_vm._v(_vm._s(_vm.text))]), _vm._e()], 2)]);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"6a01d6d2\"\n);\nconst NcActionText = __component__.exports;\nexport {\n  NcActionText as default\n};\n//# sourceMappingURL=NcActionText.mjs.map\n","import '../assets/NcUserStatusIcon-Dc-aUzBe.css';\nimport axios from \"@nextcloud/axios\";\nimport { generateOcsUrl } from \"@nextcloud/router\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { r as register, T as t10, a as t, U as t50 } from \"./_l10n-CW0YfIWk.mjs\";\nimport { i as isLegacy32 } from \"./legacy-MK4GvP26.mjs\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nconst onlineSvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"0 -960 960 960\" width=\"24px\" height=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path\\n\t\tfill=\"var(--user-status-color-online, var(--color-success, #2D7B41))\"\\n\t\td=\"m424-296 282-282-56-56-226 226-114-114-56 56 170 170Zm56 216q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/>\\n</svg>\\n';\nconst onlineLegacySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"-1 -1 18 18\" width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path fill=\"var(--color-success)\" d=\"M4.8 11.2h6.4V4.8H4.8v6.4zM8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\" />\\n</svg>\\n';\nconst awaySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"0 -960 960 960\" width=\"24px\" height=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path\\n\t\tfill=\"var(--user-status-color-away, var(--color-warning, #C88800))\"\\n\t\td=\"m612-292 56-56-148-148v-184h-80v216l172 172ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/>\\n</svg>\\n';\nconst awayLegacySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"-1 -1 18 18\" width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path fill=\"none\" d=\"M-4-4h24v24H-4z\" />\\n\t<path fill=\"var(--color-warning)\" d=\"M6.9.1C3 .6-.1 4-.1 8c0 4.4 3.6 8 8 8 4 0 7.4-3 8-6.9-1.2 1.3-2.9 2.1-4.7 2.1-3.5 0-6.4-2.9-6.4-6.4 0-1.9.8-3.6 2.1-4.7z\" />\\n</svg>\\n';\nconst busySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"0 -960 960 960\" width=\"24px\" height=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path\\n\t\tfill=\"var(--user-status-color-busy, var(--color-error, #DB0606))\"\\n\t\td=\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/>\\n</svg>\\n';\nconst dndSvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"0 -960 960 960\" width=\"24px\" height=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path\\n\t\tfill=\"var(--user-status-color-busy, var(--color-error, #DB0606))\"\\n\t\td=\"M280-440h400v-80H280v80ZM480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z\"/>\\n</svg>\\n';\nconst dndLegacySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"-1 -1 18 18\" width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path fill=\"none\" d=\"M-4-4h24v24H-4V-4z\" />\\n\t<path fill=\"var(--color-border-error, var(--color-error))\" d=\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\" />\\n\t<path fill=\"#fdffff\" d=\"M5 6.5h6c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5H5c-.8 0-1.5-.7-1.5-1.5S4.2 6.5 5 6.5z\" />\\n</svg>\\n';\nconst invisibleSvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"0 -960 960 960\" width=\"24px\" height=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path\\n\t\tfill=\"var(--user-status-color-offline, var(--color-text-maxcontrast, #6B6B6B))\"\\n\t\td=\"M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z\"/>\\n</svg>\\n';\nconst invisibleLegacySvg = '<!--\\n  - SPDX-FileCopyrightText: 2020 Google Inc.\\n  - SPDX-License-Identifier: Apache-2.0\\n-->\\n<svg viewBox=\"-1 -1 18 18\" width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\">\\n\t<path fill=\"none\" d=\"M-4-4h24v24H-4V-4z\" />\\n\t<path d=\"M8 0C3.6 0 0 3.6 0 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 3.2c2.7 0 4.8 2.1 4.8 4.8s-2.1 4.8-4.8 4.8S3.2 10.7 3.2 8 5.3 3.2 8 3.2z\" />\\n</svg>\\n';\nregister(t10);\nconst getUserStatusText = (status) => {\n  switch (status) {\n    case \"away\":\n      return t(\"away\");\n    // TRANSLATORS: User status if the user is currently away from keyboard\n    case \"busy\":\n      return t(\"busy\");\n    case \"dnd\":\n      return t(\"do not disturb\");\n    case \"online\":\n      return t(\"online\");\n    case \"invisible\":\n      return t(\"invisible\");\n    case \"offline\":\n      return t(\"offline\");\n    default:\n      return status;\n  }\n};\nregister(t50);\nconst matchSvg = {\n  online: isLegacy32 ? onlineLegacySvg : onlineSvg,\n  away: isLegacy32 ? awayLegacySvg : awaySvg,\n  busy: isLegacy32 ? awayLegacySvg : busySvg,\n  dnd: isLegacy32 ? dndLegacySvg : dndSvg,\n  invisible: isLegacy32 ? invisibleLegacySvg : invisibleSvg,\n  offline: isLegacy32 ? invisibleLegacySvg : invisibleSvg\n};\nconst _sfc_main = {\n  name: \"NcUserStatusIcon\",\n  props: {\n    /**\n     * Set the user id to fetch the status\n     */\n    user: {\n      type: String,\n      default: null\n    },\n    /**\n     * Set the status\n     *\n     * @type {'online' | 'away' | 'busy' | 'dnd' | 'invisible' | 'offline'}\n     */\n    status: {\n      type: String,\n      default: null,\n      validator: (value) => [\n        \"online\",\n        \"away\",\n        \"busy\",\n        \"dnd\",\n        \"invisible\",\n        \"offline\"\n      ].includes(value)\n    },\n    /**\n     * Set the `aria-hidden` attribute\n     *\n     * @type {'true' | 'false'}\n     */\n    ariaHidden: {\n      type: String,\n      default: null,\n      validator: (value) => [\n        \"true\",\n        \"false\"\n      ].includes(value)\n    }\n  },\n  data() {\n    return {\n      fetchedUserStatus: null\n    };\n  },\n  computed: {\n    activeStatus() {\n      return this.status ?? this.fetchedUserStatus;\n    },\n    activeSvg() {\n      return matchSvg[this.activeStatus] ?? null;\n    },\n    ariaLabel() {\n      if (this.ariaHidden === \"true\") {\n        return null;\n      }\n      return t(\"User status: {status}\", { status: getUserStatusText(this.activeStatus) });\n    }\n  },\n  watch: {\n    user: {\n      immediate: true,\n      async handler(user, _oldUser) {\n        if (!user || !getCapabilities()?.user_status?.enabled) {\n          this.fetchedUserStatus = null;\n          return;\n        }\n        try {\n          const { data } = await axios.get(generateOcsUrl(\"/apps/user_status/api/v1/statuses/{user}\", { user }));\n          this.fetchedUserStatus = data.ocs?.data?.status;\n        } catch (error) {\n          this.fetchedUserStatus = null;\n        }\n      }\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _vm.activeStatus ? _c(\"span\", { staticClass: \"user-status-icon\", class: {\n    \"user-status-icon--invisible\": [\"invisible\", \"offline\"].includes(_vm.status)\n  }, attrs: { \"role\": \"img\", \"aria-hidden\": _vm.ariaHidden, \"aria-label\": _vm.ariaLabel }, domProps: { \"innerHTML\": _vm._s(_vm.activeSvg) } }) : _vm._e();\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"02786ab5\"\n);\nconst NcUserStatusIcon = __component__.exports;\nexport {\n  NcUserStatusIcon as N,\n  getUserStatusText as g\n};\n//# sourceMappingURL=NcUserStatusIcon-DQr5EGWZ.mjs.map\n","import { visit, SKIP } from \"unist-util-visit\";\nimport { u } from \"unist-builder\";\nimport { getBaseUrl, getRootUrl } from \"@nextcloud/router\";\nconst URL_PATTERN = /(\\s|^)(https?:\\/\\/)([-A-Z0-9+_.]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*)(\\s|$)/ig;\nconst URL_PATTERN_AUTOLINK = /(\\s|\\(|^)((https?:\\/\\/)([-A-Z0-9+_.]+[-A-Z0-9]+(?::[0-9]+)?(?:\\/[-A-Z0-9+&@#%?=~_|!:,.;()]*)*))(?=\\s|\\)|$)/ig;\nconst NcLink = {\n  name: \"NcLink\",\n  props: {\n    href: {\n      type: String,\n      required: true\n    }\n  },\n  render(h) {\n    return h(\"a\", {\n      attrs: {\n        href: this.href,\n        rel: \"noopener noreferrer\",\n        target: \"_blank\",\n        class: \"rich-text--external-link\"\n      }\n    }, [this.href.trim()]);\n  }\n};\nconst remarkAutolink = function({ autolink, useMarkdown, useExtendedMarkdown }) {\n  return function(tree) {\n    if (useExtendedMarkdown || !useMarkdown || !autolink) {\n      return;\n    }\n    visit(tree, (node) => node.type === \"text\", (node, index, parent) => {\n      let parsed = parseUrl(node.value);\n      parsed = parsed.map((n) => {\n        if (typeof n === \"string\") {\n          return u(\"text\", n);\n        }\n        return u(\"link\", {\n          url: n.props.href\n        }, [u(\"text\", n.props.href)]);\n      }).filter((x) => x);\n      parent.children.splice(index, 1, ...parsed.flat());\n      return [SKIP, index + parsed.flat().length];\n    });\n  };\n};\nconst parseUrl = (text) => {\n  let match = URL_PATTERN_AUTOLINK.exec(text);\n  const list = [];\n  let start = 0;\n  while (match !== null) {\n    let href = match[2];\n    let textAfter;\n    let textBefore = text.substring(start, match.index + match[1].length);\n    if (href[0] === \" \") {\n      textBefore += href[0];\n      href = href.substring(1).trim();\n    }\n    const lastChar = href[href.length - 1];\n    if (lastChar === \".\" || lastChar === \",\" || lastChar === \";\" || match[0][0] === \"(\" && lastChar === \")\") {\n      href = href.substring(0, href.length - 1);\n      textAfter = lastChar;\n    }\n    list.push(textBefore);\n    list.push({ component: NcLink, props: { href } });\n    if (textAfter) {\n      list.push(textAfter);\n    }\n    start = match.index + match[0].length;\n    match = URL_PATTERN_AUTOLINK.exec(text);\n  }\n  list.push(text.substring(start));\n  const joinedText = list.map((item) => typeof item === \"string\" ? item : item.props.href).join(\"\");\n  if (text === joinedText) {\n    return list;\n  }\n  console.error(\"Failed to reassemble the chunked text: \" + text);\n  return text;\n};\nconst getRoute = (router, url) => {\n  const removePrefix = (str, prefix) => str.startsWith(prefix) ? str.slice(prefix.length) : str;\n  const removePrefixes = (str, ...prefixes) => prefixes.reduce((acc, prefix) => removePrefix(acc, prefix), str);\n  if (!router) {\n    return null;\n  }\n  const isAbsoluteURL = /^https?:\\/\\//.test(url);\n  const isNonHttpLink = /^[a-z][a-z0-9+.-]*:.+/.test(url);\n  if (!isAbsoluteURL && isNonHttpLink) {\n    return null;\n  }\n  if (isAbsoluteURL && !url.startsWith(getBaseUrl())) {\n    return null;\n  }\n  if (!isAbsoluteURL && !url.startsWith(\"/\")) {\n    return null;\n  }\n  const relativeUrl = isAbsoluteURL ? removePrefixes(url, getBaseUrl(), \"/index.php\") : url;\n  const relativeRouterBase = removePrefixes(router.history.base, getRootUrl(), \"/index.php\");\n  const potentialRouterPath = removePrefixes(relativeUrl, relativeRouterBase) || \"/\";\n  const route = router.resolve(potentialRouterPath).route;\n  if (!route.matched.length) {\n    return null;\n  }\n  return route.fullPath;\n};\nexport {\n  URL_PATTERN as U,\n  getRoute as g,\n  parseUrl as p,\n  remarkAutolink as r\n};\n//# sourceMappingURL=autolink-cbuFALXr.mjs.map\n","function checkIfDarkTheme(el = document.body) {\n  const backgroundInvertIfDark = window.getComputedStyle(el).getPropertyValue(\"--background-invert-if-dark\");\n  if (backgroundInvertIfDark !== void 0) {\n    return backgroundInvertIfDark === \"invert(100%)\";\n  }\n  return false;\n}\nconst isDarkTheme = checkIfDarkTheme();\nexport {\n  checkIfDarkTheme,\n  isDarkTheme\n};\n//# sourceMappingURL=isDarkTheme.mjs.map\n","/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nconst INJECTION_KEY_THEME = Symbol.for(\"nc:theme:enforced\");\nexport {\n  INJECTION_KEY_THEME as I\n};\n//# sourceMappingURL=constants-Bls5liKo.mjs.map\n","import { createSharedComposable, toValue, usePreferredDark, useMutationObserver } from \"@vueuse/core\";\nimport { computed, ref, watch, readonly, inject } from \"vue\";\nimport { checkIfDarkTheme } from \"../Functions/isDarkTheme.mjs\";\nimport { I as INJECTION_KEY_THEME } from \"../chunks/constants-Bls5liKo.mjs\";\n/*!\n * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nfunction useIsDarkThemeElement(el) {\n  const element = computed(() => toValue(el) ?? document.body);\n  const isDarkTheme = ref(checkIfDarkTheme(element.value));\n  const isDarkSystemTheme = usePreferredDark();\n  function updateIsDarkTheme() {\n    isDarkTheme.value = checkIfDarkTheme(element.value);\n  }\n  useMutationObserver(element, updateIsDarkTheme, { attributes: true });\n  watch(element, updateIsDarkTheme);\n  watch(isDarkSystemTheme, updateIsDarkTheme, { immediate: true });\n  return readonly(isDarkTheme);\n}\nconst useInternalIsDarkTheme = createSharedComposable(() => useIsDarkThemeElement());\nfunction useIsDarkTheme() {\n  const isDarkTheme = useInternalIsDarkTheme();\n  const enforcedTheme = inject(INJECTION_KEY_THEME, void 0);\n  return computed(() => {\n    if (enforcedTheme?.value) {\n      return enforcedTheme.value === \"dark\";\n    }\n    return isDarkTheme.value;\n  });\n}\nexport {\n  useIsDarkTheme,\n  useIsDarkThemeElement\n};\n//# sourceMappingURL=useIsDarkTheme.mjs.map\n","(function() {\n  var base64map\n      = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n  crypt = {\n    // Bit-wise rotation left\n    rotl: function(n, b) {\n      return (n << b) | (n >>> (32 - b));\n    },\n\n    // Bit-wise rotation right\n    rotr: function(n, b) {\n      return (n << (32 - b)) | (n >>> b);\n    },\n\n    // Swap big-endian to little-endian and vice versa\n    endian: function(n) {\n      // If number given, swap endian\n      if (n.constructor == Number) {\n        return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n      }\n\n      // Else, assume array and swap all items\n      for (var i = 0; i < n.length; i++)\n        n[i] = crypt.endian(n[i]);\n      return n;\n    },\n\n    // Generate an array of any length of random bytes\n    randomBytes: function(n) {\n      for (var bytes = []; n > 0; n--)\n        bytes.push(Math.floor(Math.random() * 256));\n      return bytes;\n    },\n\n    // Convert a byte array to big-endian 32-bit words\n    bytesToWords: function(bytes) {\n      for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n        words[b >>> 5] |= bytes[i] << (24 - b % 32);\n      return words;\n    },\n\n    // Convert big-endian 32-bit words to a byte array\n    wordsToBytes: function(words) {\n      for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n        bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a hex string\n    bytesToHex: function(bytes) {\n      for (var hex = [], i = 0; i < bytes.length; i++) {\n        hex.push((bytes[i] >>> 4).toString(16));\n        hex.push((bytes[i] & 0xF).toString(16));\n      }\n      return hex.join('');\n    },\n\n    // Convert a hex string to a byte array\n    hexToBytes: function(hex) {\n      for (var bytes = [], c = 0; c < hex.length; c += 2)\n        bytes.push(parseInt(hex.substr(c, 2), 16));\n      return bytes;\n    },\n\n    // Convert a byte array to a base-64 string\n    bytesToBase64: function(bytes) {\n      for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n        var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n        for (var j = 0; j < 4; j++)\n          if (i * 8 + j * 6 <= bytes.length * 8)\n            base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n          else\n            base64.push('=');\n      }\n      return base64.join('');\n    },\n\n    // Convert a base-64 string to a byte array\n    base64ToBytes: function(base64) {\n      // Remove non-base-64 characters\n      base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n      for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n          imod4 = ++i % 4) {\n        if (imod4 == 0) continue;\n        bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n            & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n            | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n      }\n      return bytes;\n    }\n  };\n\n  module.exports = crypt;\n})();\n","var charenc = {\n  // UTF-8 encoding\n  utf8: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n    }\n  },\n\n  // Binary encoding\n  bin: {\n    // Convert a string to a byte array\n    stringToBytes: function(str) {\n      for (var bytes = [], i = 0; i < str.length; i++)\n        bytes.push(str.charCodeAt(i) & 0xFF);\n      return bytes;\n    },\n\n    // Convert a byte array to a string\n    bytesToString: function(bytes) {\n      for (var str = [], i = 0; i < bytes.length; i++)\n        str.push(String.fromCharCode(bytes[i]));\n      return str.join('');\n    }\n  }\n};\n\nmodule.exports = charenc;\n","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n  return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n  return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n  return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","(function(){\r\n  var crypt = require('crypt'),\r\n      utf8 = require('charenc').utf8,\r\n      isBuffer = require('is-buffer'),\r\n      bin = require('charenc').bin,\r\n\r\n  // The core\r\n  md5 = function (message, options) {\r\n    // Convert to byte array\r\n    if (message.constructor == String)\r\n      if (options && options.encoding === 'binary')\r\n        message = bin.stringToBytes(message);\r\n      else\r\n        message = utf8.stringToBytes(message);\r\n    else if (isBuffer(message))\r\n      message = Array.prototype.slice.call(message, 0);\r\n    else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n      message = message.toString();\r\n    // else, assume byte array already\r\n\r\n    var m = crypt.bytesToWords(message),\r\n        l = message.length * 8,\r\n        a =  1732584193,\r\n        b = -271733879,\r\n        c = -1732584194,\r\n        d =  271733878;\r\n\r\n    // Swap endian\r\n    for (var i = 0; i < m.length; i++) {\r\n      m[i] = ((m[i] <<  8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n             ((m[i] << 24) | (m[i] >>>  8)) & 0xFF00FF00;\r\n    }\r\n\r\n    // Padding\r\n    m[l >>> 5] |= 0x80 << (l % 32);\r\n    m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n    // Method shortcuts\r\n    var FF = md5._ff,\r\n        GG = md5._gg,\r\n        HH = md5._hh,\r\n        II = md5._ii;\r\n\r\n    for (var i = 0; i < m.length; i += 16) {\r\n\r\n      var aa = a,\r\n          bb = b,\r\n          cc = c,\r\n          dd = d;\r\n\r\n      a = FF(a, b, c, d, m[i+ 0],  7, -680876936);\r\n      d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n      c = FF(c, d, a, b, m[i+ 2], 17,  606105819);\r\n      b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n      a = FF(a, b, c, d, m[i+ 4],  7, -176418897);\r\n      d = FF(d, a, b, c, m[i+ 5], 12,  1200080426);\r\n      c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n      b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n      a = FF(a, b, c, d, m[i+ 8],  7,  1770035416);\r\n      d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n      c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n      b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n      a = FF(a, b, c, d, m[i+12],  7,  1804603682);\r\n      d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n      c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n      b = FF(b, c, d, a, m[i+15], 22,  1236535329);\r\n\r\n      a = GG(a, b, c, d, m[i+ 1],  5, -165796510);\r\n      d = GG(d, a, b, c, m[i+ 6],  9, -1069501632);\r\n      c = GG(c, d, a, b, m[i+11], 14,  643717713);\r\n      b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n      a = GG(a, b, c, d, m[i+ 5],  5, -701558691);\r\n      d = GG(d, a, b, c, m[i+10],  9,  38016083);\r\n      c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n      b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n      a = GG(a, b, c, d, m[i+ 9],  5,  568446438);\r\n      d = GG(d, a, b, c, m[i+14],  9, -1019803690);\r\n      c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n      b = GG(b, c, d, a, m[i+ 8], 20,  1163531501);\r\n      a = GG(a, b, c, d, m[i+13],  5, -1444681467);\r\n      d = GG(d, a, b, c, m[i+ 2],  9, -51403784);\r\n      c = GG(c, d, a, b, m[i+ 7], 14,  1735328473);\r\n      b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n      a = HH(a, b, c, d, m[i+ 5],  4, -378558);\r\n      d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n      c = HH(c, d, a, b, m[i+11], 16,  1839030562);\r\n      b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n      a = HH(a, b, c, d, m[i+ 1],  4, -1530992060);\r\n      d = HH(d, a, b, c, m[i+ 4], 11,  1272893353);\r\n      c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n      b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n      a = HH(a, b, c, d, m[i+13],  4,  681279174);\r\n      d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n      c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n      b = HH(b, c, d, a, m[i+ 6], 23,  76029189);\r\n      a = HH(a, b, c, d, m[i+ 9],  4, -640364487);\r\n      d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n      c = HH(c, d, a, b, m[i+15], 16,  530742520);\r\n      b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n      a = II(a, b, c, d, m[i+ 0],  6, -198630844);\r\n      d = II(d, a, b, c, m[i+ 7], 10,  1126891415);\r\n      c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n      b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n      a = II(a, b, c, d, m[i+12],  6,  1700485571);\r\n      d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n      c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n      b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n      a = II(a, b, c, d, m[i+ 8],  6,  1873313359);\r\n      d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n      c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n      b = II(b, c, d, a, m[i+13], 21,  1309151649);\r\n      a = II(a, b, c, d, m[i+ 4],  6, -145523070);\r\n      d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n      c = II(c, d, a, b, m[i+ 2], 15,  718787259);\r\n      b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n      a = (a + aa) >>> 0;\r\n      b = (b + bb) >>> 0;\r\n      c = (c + cc) >>> 0;\r\n      d = (d + dd) >>> 0;\r\n    }\r\n\r\n    return crypt.endian([a, b, c, d]);\r\n  };\r\n\r\n  // Auxiliary functions\r\n  md5._ff  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._gg  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._hh  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n  md5._ii  = function (a, b, c, d, x, s, t) {\r\n    var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n    return ((n << s) | (n >>> (32 - s))) + b;\r\n  };\r\n\r\n  // Package private blocksize\r\n  md5._blocksize = 16;\r\n  md5._digestsize = 16;\r\n\r\n  module.exports = function (message, options) {\r\n    if (message === undefined || message === null)\r\n      throw new Error('Illegal argument ' + message);\r\n\r\n    var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n    return options && options.asBytes ? digestbytes :\r\n        options && options.asString ? bin.bytesToString(digestbytes) :\r\n        crypt.bytesToHex(digestbytes);\r\n  };\r\n\r\n})();\r\n","import { G as GenColors } from \"../chunks/GenColors-BrpkL3hT.mjs\";\nimport md5 from \"md5\";\nfunction usernameToColor(username) {\n  let hash = username.toLowerCase();\n  if (hash.match(/^([0-9a-f]{4}-?){8}$/) === null) {\n    hash = md5(hash);\n  }\n  hash = hash.replace(/[^0-9a-f]/g, \"\");\n  const steps = 6;\n  const finalPalette = GenColors(steps);\n  function hashToInt(hash2, maximum) {\n    let finalInt = 0;\n    const result = [];\n    for (let i = 0; i < hash2.length; i++) {\n      result.push(parseInt(hash2.charAt(i), 16) % 16);\n    }\n    for (const j in result) {\n      finalInt += result[j];\n    }\n    return parseInt(parseInt(finalInt, 10) % maximum, 10);\n  }\n  return finalPalette[hashToInt(hash, steps * 3)];\n}\nexport {\n  usernameToColor as default,\n  usernameToColor\n};\n//# sourceMappingURL=usernameToColor.mjs.map\n","import { l as logger } from \"../chunks/logger-D3RVzcfQ.mjs\";\nfunction registerContactsMenuAction(action) {\n  window._nc_contacts_menu_hooks ??= {};\n  if (window._nc_contacts_menu_hooks[action.id]) {\n    logger.error(`ContactsMenu action for id ${action.id} has already been registered`, {\n      action\n    });\n    return;\n  }\n  window._nc_contacts_menu_hooks[action.id] = action;\n}\nfunction getEnabledContactsMenuActions(entry) {\n  if (!window._nc_contacts_menu_hooks) {\n    return [];\n  }\n  return Object.values(window._nc_contacts_menu_hooks).filter((action) => action.enabled(entry));\n}\nexport {\n  getEnabledContactsMenuActions,\n  registerContactsMenuAction\n};\n//# sourceMappingURL=contactsMenu.mjs.map\n","import { ref, readonly } from \"vue\";\nconst isFullscreen = ref(checkIfIsFullscreen());\nwindow.addEventListener(\"resize\", () => {\n  isFullscreen.value = checkIfIsFullscreen();\n});\nfunction checkIfIsFullscreen() {\n  return window.outerHeight === window.screen.height;\n}\nfunction useIsFullscreen() {\n  return readonly(isFullscreen);\n}\nconst isFullscreenState = readonly(isFullscreen);\nexport {\n  isFullscreenState,\n  useIsFullscreen\n};\n//# sourceMappingURL=useIsFullscreen.mjs.map\n","import { generateUrl } from \"@nextcloud/router\";\nimport { checkIfDarkTheme } from \"../Functions/isDarkTheme.mjs\";\nfunction getAvatarUrl(user, options) {\n  const size = (options?.size || 64) <= 64 ? 64 : 512;\n  const guestUrl = options?.isGuest ? \"/guest\" : \"\";\n  const themeUrl = options?.isDarkTheme ?? checkIfDarkTheme(document.body) ? \"/dark\" : \"\";\n  return generateUrl(`/avatar${guestUrl}/{user}/{size}${themeUrl}`, {\n    user,\n    size\n  });\n}\nexport {\n  getAvatarUrl as g\n};\n//# sourceMappingURL=getAvatarUrl-IhLacDEr.mjs.map\n","'use strict';\n\n(function (global) {\n\n    // minimal symbol polyfill for IE11 and others\n    if (typeof Symbol !== 'function') {\n        var Symbol = function(name) {\n            return name;\n        }\n\n        Symbol.nonNative = true;\n    }\n\n    const STATE_PLAINTEXT = Symbol('plaintext');\n    const STATE_HTML      = Symbol('html');\n    const STATE_COMMENT   = Symbol('comment');\n\n    const ALLOWED_TAGS_REGEX  = /<(\\w*)>/g;\n    const NORMALIZE_TAG_REGEX = /<\\/?([^\\s\\/>]+)/;\n\n    function striptags(html, allowable_tags, tag_replacement) {\n        html            = html || '';\n        allowable_tags  = allowable_tags || [];\n        tag_replacement = tag_replacement || '';\n\n        let context = init_context(allowable_tags, tag_replacement);\n\n        return striptags_internal(html, context);\n    }\n\n    function init_striptags_stream(allowable_tags, tag_replacement) {\n        allowable_tags  = allowable_tags || [];\n        tag_replacement = tag_replacement || '';\n\n        let context = init_context(allowable_tags, tag_replacement);\n\n        return function striptags_stream(html) {\n            return striptags_internal(html || '', context);\n        };\n    }\n\n    striptags.init_streaming_mode = init_striptags_stream;\n\n    function init_context(allowable_tags, tag_replacement) {\n        allowable_tags = parse_allowable_tags(allowable_tags);\n\n        return {\n            allowable_tags : allowable_tags,\n            tag_replacement: tag_replacement,\n\n            state         : STATE_PLAINTEXT,\n            tag_buffer    : '',\n            depth         : 0,\n            in_quote_char : ''\n        };\n    }\n\n    function striptags_internal(html, context) {\n        if (typeof html != \"string\") {\n            throw new TypeError(\"'html' parameter must be a string\");\n        }\n\n        let allowable_tags  = context.allowable_tags;\n        let tag_replacement = context.tag_replacement;\n\n        let state         = context.state;\n        let tag_buffer    = context.tag_buffer;\n        let depth         = context.depth;\n        let in_quote_char = context.in_quote_char;\n        let output        = '';\n\n        for (let idx = 0, length = html.length; idx < length; idx++) {\n            let char = html[idx];\n\n            if (state === STATE_PLAINTEXT) {\n                switch (char) {\n                    case '<':\n                        state       = STATE_HTML;\n                        tag_buffer += char;\n                        break;\n\n                    default:\n                        output += char;\n                        break;\n                }\n            }\n\n            else if (state === STATE_HTML) {\n                switch (char) {\n                    case '<':\n                        // ignore '<' if inside a quote\n                        if (in_quote_char) {\n                            break;\n                        }\n\n                        // we're seeing a nested '<'\n                        depth++;\n                        break;\n\n                    case '>':\n                        // ignore '>' if inside a quote\n                        if (in_quote_char) {\n                            break;\n                        }\n\n                        // something like this is happening: '<<>>'\n                        if (depth) {\n                            depth--;\n\n                            break;\n                        }\n\n                        // this is closing the tag in tag_buffer\n                        in_quote_char = '';\n                        state         = STATE_PLAINTEXT;\n                        tag_buffer   += '>';\n\n                        if (allowable_tags.has(normalize_tag(tag_buffer))) {\n                            output += tag_buffer;\n                        } else {\n                            output += tag_replacement;\n                        }\n\n                        tag_buffer = '';\n                        break;\n\n                    case '\"':\n                    case '\\'':\n                        // catch both single and double quotes\n\n                        if (char === in_quote_char) {\n                            in_quote_char = '';\n                        } else {\n                            in_quote_char = in_quote_char || char;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    case '-':\n                        if (tag_buffer === '<!-') {\n                            state = STATE_COMMENT;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    case ' ':\n                    case '\\n':\n                        if (tag_buffer === '<') {\n                            state      = STATE_PLAINTEXT;\n                            output    += '< ';\n                            tag_buffer = '';\n\n                            break;\n                        }\n\n                        tag_buffer += char;\n                        break;\n\n                    default:\n                        tag_buffer += char;\n                        break;\n                }\n            }\n\n            else if (state === STATE_COMMENT) {\n                switch (char) {\n                    case '>':\n                        if (tag_buffer.slice(-2) == '--') {\n                            // close the comment\n                            state = STATE_PLAINTEXT;\n                        }\n\n                        tag_buffer = '';\n                        break;\n\n                    default:\n                        tag_buffer += char;\n                        break;\n                }\n            }\n        }\n\n        // save the context for future iterations\n        context.state         = state;\n        context.tag_buffer    = tag_buffer;\n        context.depth         = depth;\n        context.in_quote_char = in_quote_char;\n\n        return output;\n    }\n\n    function parse_allowable_tags(allowable_tags) {\n        let tag_set = new Set();\n\n        if (typeof allowable_tags === 'string') {\n            let match;\n\n            while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {\n                tag_set.add(match[1]);\n            }\n        }\n\n        else if (!Symbol.nonNative &&\n                 typeof allowable_tags[Symbol.iterator] === 'function') {\n\n            tag_set = new Set(allowable_tags);\n        }\n\n        else if (typeof allowable_tags.forEach === 'function') {\n            // IE11 compatible\n            allowable_tags.forEach(tag_set.add, tag_set);\n        }\n\n        return tag_set;\n    }\n\n    function normalize_tag(tag_buffer) {\n        let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);\n\n        return match ? match[1].toLowerCase() : null;\n    }\n\n    if (typeof define === 'function' && define.amd) {\n        // AMD\n        define(function module_factory() { return striptags; });\n    }\n\n    else if (typeof module === 'object' && module.exports) {\n        // Node\n        module.exports = striptags;\n    }\n\n    else {\n        // Browser\n        global.striptags = striptags;\n    }\n}(this));\n","import '../assets/NcMentionBubble-UsTMm5VD.css';\nimport '../assets/NcAvatar-BqNcvkxP.css';\nimport { getCurrentUser } from \"@nextcloud/auth\";\nimport axios from \"@nextcloud/axios\";\nimport { getBuilder } from \"@nextcloud/browser-storage\";\nimport { unsubscribe, subscribe } from \"@nextcloud/event-bus\";\nimport { generateOcsUrl, generateUrl } from \"@nextcloud/router\";\nimport { vOnClickOutside } from \"@vueuse/components\";\nimport { N as NcActions, D as DotsHorizontalIcon } from \"./NcActions-BKZA1xVL.mjs\";\nimport { N as NcActionButton } from \"./NcActionButton-rjMoymt-.mjs\";\nimport NcActionLink from \"../Components/NcActionLink.mjs\";\nimport NcActionRouter from \"../Components/NcActionRouter.mjs\";\nimport NcActionText from \"../Components/NcActionText.mjs\";\nimport NcButton from \"../Components/NcButton.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { N as NcUserStatusIcon, g as getUserStatusText } from \"./NcUserStatusIcon-DQr5EGWZ.mjs\";\nimport { g as getRoute } from \"./autolink-cbuFALXr.mjs\";\nimport { useIsDarkTheme } from \"../Composables/useIsDarkTheme.mjs\";\nimport { usernameToColor } from \"../Functions/usernameToColor.mjs\";\nimport { getEnabledContactsMenuActions } from \"../Functions/contactsMenu.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport { g as getAvatarUrl } from \"./getAvatarUrl-IhLacDEr.mjs\";\n/* empty css                                                                          */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nimport { getCapabilities } from \"@nextcloud/capabilities\";\nimport { r as register, v as t9, a as t } from \"./_l10n-CW0YfIWk.mjs\";\nimport { l as logger } from \"./logger-D3RVzcfQ.mjs\";\nconst userStatus = {\n  data() {\n    return {\n      hasStatus: false,\n      userStatus: {\n        status: null,\n        message: null,\n        icon: null\n      }\n    };\n  },\n  methods: {\n    /**\n     * Fetches the user-status from the server\n     *\n     * @param {string} userId UserId of the user to fetch the status for\n     *\n     * @return {Promise<void>}\n     */\n    async fetchUserStatus(userId) {\n      if (!userId) {\n        return;\n      }\n      const capabilities = getCapabilities();\n      if (!Object.prototype.hasOwnProperty.call(capabilities, \"user_status\") || !capabilities.user_status.enabled) {\n        return;\n      }\n      if (!getCurrentUser()) {\n        return;\n      }\n      try {\n        const { data } = await axios.get(generateOcsUrl(\"apps/user_status/api/v1/statuses/{userId}\", { userId }));\n        const {\n          status,\n          message,\n          icon\n        } = data.ocs.data;\n        this.userStatus.status = status;\n        this.userStatus.message = message || \"\";\n        this.userStatus.icon = icon || \"\";\n        this.hasStatus = true;\n      } catch (e) {\n        if (e.response.status === 404 && e.response.data.ocs?.data?.length === 0) {\n          return;\n        }\n        console.error(e);\n      }\n    }\n  }\n};\nregister(t9);\nconst browserStorage = getBuilder(\"nextcloud\").persist().build();\nfunction getUserHasAvatar(userId) {\n  const flag = browserStorage.getItem(\"user-has-avatar.\" + userId);\n  if (typeof flag === \"string\") {\n    return Boolean(flag);\n  }\n  return null;\n}\nfunction setUserHasAvatar(userId, flag) {\n  if (userId) {\n    browserStorage.setItem(\"user-has-avatar.\" + userId, flag);\n  }\n}\nconst _sfc_main = {\n  name: \"NcAvatar\",\n  directives: {\n    ClickOutside: vOnClickOutside\n  },\n  components: {\n    IconDotsHorizontal: DotsHorizontalIcon,\n    NcActions,\n    NcButton,\n    NcIconSvgWrapper,\n    NcLoadingIcon,\n    NcUserStatusIcon\n  },\n  mixins: [userStatus],\n  props: {\n    /**\n     * Set a custom url to the avatar image\n     * either the url, user or displayName property must be defined\n     */\n    url: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Set a css icon-class for an icon to be used instead of the avatar.\n     */\n    iconClass: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Set the user id to fetch the avatar\n     * either the url, user or displayName property must be defined\n     */\n    user: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Do not show the user status on the avatar.\n     */\n    hideStatus: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Whether or not to display the user-status.\n     * @deprecated - Use `hideStatus` instead. Will be removed with v9.\n     */\n    showUserStatus: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Show the verbose user status (e.g. \"online\" / \"away\") instead of just the status icon.\n     */\n    verboseStatus: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Whether or not to the status-icon should be used instead of online/away\n     * @deprecated - Use `verboseStatus` instead. Will be removed with v9.\n     */\n    showUserStatusCompact: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * When the user status was preloaded via another source it can be handed in with this property to save the request.\n     * If this property is not set the status will be fetched automatically.\n     * If a preloaded no-status is available provide this object with properties \"status\", \"icon\" and \"message\" set to null.\n     */\n    preloadedUserStatus: {\n      type: Object,\n      default: void 0\n    },\n    /**\n     * Is the user a guest user (then we have to user a different endpoint)\n     */\n    isGuest: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Set a display name that will be rendered as a tooltip\n     * either the url, user or displayName property must be defined\n     * specify just the displayname to generate a placeholder avatar without\n     * trying to fetch the avatar based on the user id\n     */\n    displayName: {\n      type: String,\n      default: void 0\n    },\n    /**\n     * Set a size in px for the rendered avatar\n     */\n    size: {\n      type: Number,\n      default: 32\n    },\n    /**\n     * Do not automatically generate a placeholder avatars if there is no real avatar is available.\n     */\n    noPlaceholder: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Placeholder avatars will be automatically generated when this is set to true.\n     * @deprecated - Use `noPlaceholder` instead. Will be removed in v9.\n     */\n    allowPlaceholder: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Disable the tooltip\n     */\n    disableTooltip: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Disable the menu\n     */\n    disableMenu: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Declares a custom tooltip when not null\n     * Fallback will be the displayName\n     *\n     * requires disableTooltip not to be set to true\n     */\n    tooltipMessage: {\n      type: String,\n      default: null\n    },\n    /**\n     * Declares username is not a user's name, when true.\n     * Prevents loading user's avatar from server and forces generating colored initials,\n     * i.e. if the user is a group\n     */\n    isNoUser: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Selector for the popover menu container\n     */\n    menuContainer: {\n      type: [String, Object, Element, Boolean],\n      default: \"body\"\n    }\n  },\n  setup() {\n    const isDarkTheme = useIsDarkTheme();\n    return {\n      isDarkTheme\n    };\n  },\n  data() {\n    return {\n      avatarUrlLoaded: null,\n      avatarSrcSetLoaded: null,\n      userDoesNotExist: false,\n      isAvatarLoaded: false,\n      isMenuLoaded: false,\n      contactsMenuLoading: false,\n      contactsMenuData: {},\n      contactsMenuActions: [],\n      contactsMenuOpenState: false\n    };\n  },\n  computed: {\n    avatarAriaLabel() {\n      if (!this.hasMenu) {\n        return;\n      }\n      if (this.canDisplayUserStatus || this.showUserStatusIconOnAvatar) {\n        return t(\"Avatar of {displayName}, {status}\", { displayName: this.displayName ?? this.user, status: getUserStatusText(this.userStatus.status) });\n      }\n      return t(\"Avatar of {displayName}\", { displayName: this.displayName ?? this.user });\n    },\n    canDisplayUserStatus() {\n      return !this.hideStatus && this.showUserStatus && this.hasStatus && [\"online\", \"away\", \"busy\", \"dnd\"].includes(this.userStatus.status);\n    },\n    showUserStatusIconOnAvatar() {\n      return !this.hideStatus && this.showUserStatus && !this.verboseStatus && this.showUserStatusCompact && this.hasStatus && this.userStatus.status !== \"dnd\" && this.userStatus.icon;\n    },\n    /**\n     * The user identifier, either the display name if set or the user property\n     * If both properties are not set an empty string is returned\n     */\n    userIdentifier() {\n      if (this.isDisplayNameDefined) {\n        return this.displayName;\n      }\n      if (this.isUserDefined) {\n        return this.user;\n      }\n      return \"\";\n    },\n    isUserDefined() {\n      return typeof this.user !== \"undefined\";\n    },\n    isDisplayNameDefined() {\n      return typeof this.displayName !== \"undefined\";\n    },\n    isUrlDefined() {\n      return typeof this.url !== \"undefined\";\n    },\n    hasMenu() {\n      if (this.disableMenu) {\n        return false;\n      }\n      if (this.isMenuLoaded) {\n        return this.menu.length > 0;\n      }\n      return !(this.user === getCurrentUser()?.uid || this.userDoesNotExist || this.url);\n    },\n    /**\n     * True if initials should be shown as the user icon fallback\n     */\n    showInitials() {\n      return !this.noPlaceholder && this.allowPlaceholder && this.userDoesNotExist && !(this.iconClass || this.$slots.icon);\n    },\n    avatarStyle() {\n      return {\n        \"--avatar-size\": this.size + \"px\",\n        lineHeight: this.showInitials ? this.size + \"px\" : 0,\n        fontSize: Math.round(this.size * 0.45) + \"px\"\n      };\n    },\n    initialsWrapperStyle() {\n      const { r, g, b } = usernameToColor(this.userIdentifier);\n      return {\n        backgroundColor: `rgba(${r}, ${g}, ${b}, 0.1)`\n      };\n    },\n    initialsStyle() {\n      const { r, g, b } = usernameToColor(this.userIdentifier);\n      return {\n        color: `rgb(${r}, ${g}, ${b})`\n      };\n    },\n    tooltip() {\n      if (this.disableTooltip) {\n        return false;\n      }\n      if (this.tooltipMessage) {\n        return this.tooltipMessage;\n      }\n      return this.displayName;\n    },\n    /**\n     * Get the (max. two) initials of the user as uppcase string\n     */\n    initials() {\n      let initials = \"?\";\n      if (this.showInitials) {\n        const user = this.userIdentifier.trim();\n        if (user === \"\") {\n          return initials;\n        }\n        const filteredChars = user.match(/[\\p{L}\\p{N}\\s]/gu);\n        if (filteredChars == null) {\n          return initials;\n        }\n        const filtered = filteredChars.join(\"\");\n        const idx = filtered.lastIndexOf(\" \");\n        initials = String.fromCodePoint(filtered.codePointAt(0));\n        if (idx !== -1) {\n          initials = initials.concat(String.fromCodePoint(filtered.codePointAt(idx + 1)));\n        }\n      }\n      return initials.toLocaleUpperCase();\n    },\n    menu() {\n      const actions = this.contactsMenuActions.map((item) => {\n        const route = getRoute(this.$router, item.hyperlink);\n        return {\n          ncActionComponent: route ? NcActionRouter : NcActionLink,\n          ncActionComponentProps: route ? {\n            to: route,\n            icon: item.icon\n          } : {\n            href: item.hyperlink,\n            icon: item.icon\n          },\n          text: item.title\n        };\n      });\n      for (const action of getEnabledContactsMenuActions(this.contactsMenuData)) {\n        try {\n          actions.push({\n            ncActionComponent: NcActionButton,\n            ncActionComponentProps: {},\n            ncActionComponentHandlers: {\n              click: () => action.callback(this.contactsMenuData)\n            },\n            text: action.displayName(this.contactsMenuData),\n            iconSvg: action.iconSvg(this.contactsMenuData)\n          });\n        } catch (error) {\n          logger.error(`Failed to render ContactsMenu action ${action.id}`, {\n            error,\n            action\n          });\n        }\n      }\n      function escape(html) {\n        const text = document.createTextNode(html);\n        const p = document.createElement(\"p\");\n        p.appendChild(text);\n        return p.innerHTML;\n      }\n      if (!this.hideStatus && this.showUserStatus && (this.userStatus.icon || this.userStatus.message)) {\n        const emojiIcon = `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<text x=\"50%\" y=\"50%\" text-anchor=\"middle\" style=\"dominant-baseline: central; font-size: 85%\">${escape(this.userStatus.icon)}</text>\n\t\t\t\t</svg>`;\n        return [{\n          ncActionComponent: NcActionText,\n          ncActionComponentProps: {},\n          iconSvg: this.userStatus.icon ? emojiIcon : void 0,\n          text: `${this.userStatus.message}`\n        }].concat(actions);\n      }\n      return actions;\n    }\n  },\n  watch: {\n    url() {\n      this.userDoesNotExist = false;\n      this.loadAvatarUrl();\n    },\n    user() {\n      this.userDoesNotExist = false;\n      this.isMenuLoaded = false;\n      this.loadAvatarUrl();\n    }\n  },\n  mounted() {\n    this.loadAvatarUrl();\n    subscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n    subscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n    if (!this.hideStatus && this.showUserStatus && this.user && !this.isNoUser) {\n      if (!this.preloadedUserStatus) {\n        this.fetchUserStatus(this.user);\n      } else {\n        this.userStatus.status = this.preloadedUserStatus.status || \"\";\n        this.userStatus.message = this.preloadedUserStatus.message || \"\";\n        this.userStatus.icon = this.preloadedUserStatus.icon || \"\";\n        this.hasStatus = this.preloadedUserStatus.status !== null;\n      }\n      subscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n    }\n  },\n  beforeDestroy() {\n    unsubscribe(\"settings:avatar:updated\", this.loadAvatarUrl);\n    unsubscribe(\"settings:display-name:updated\", this.loadAvatarUrl);\n    unsubscribe(\"user_status:status.updated\", this.handleUserStatusUpdated);\n  },\n  methods: {\n    t,\n    handleUserStatusUpdated(state) {\n      if (this.user === state.userId) {\n        this.userStatus = {\n          status: state.status,\n          icon: state.icon,\n          message: state.message\n        };\n        this.hasStatus = state.status !== null;\n      }\n    },\n    /**\n     * Toggle the popover menu on click or enter\n     * @param {KeyboardEvent|MouseEvent} event the UI event\n     */\n    async toggleMenu(event) {\n      if (event.type === \"keydown\" && event.key !== \"Enter\") {\n        return;\n      }\n      if (!this.contactsMenuOpenState) {\n        await this.fetchContactsMenu();\n      }\n      this.contactsMenuOpenState = !this.contactsMenuOpenState;\n    },\n    closeMenu() {\n      this.contactsMenuOpenState = false;\n    },\n    async fetchContactsMenu() {\n      this.contactsMenuLoading = true;\n      try {\n        const user = encodeURIComponent(this.user);\n        const { data } = await axios.post(generateUrl(\"contactsmenu/findOne\"), `shareType=0&shareWith=${user}`);\n        this.contactsMenuData = data;\n        this.contactsMenuActions = data.topAction ? [data.topAction].concat(data.actions) : data.actions;\n      } catch (e) {\n        this.contactsMenuOpenState = false;\n      }\n      this.contactsMenuLoading = false;\n      this.isMenuLoaded = true;\n    },\n    /**\n     * Handle avatar loading if user or url defined\n     */\n    loadAvatarUrl() {\n      this.isAvatarLoaded = false;\n      if (!this.isUrlDefined && (!this.isUserDefined || this.isNoUser || this.iconClass)) {\n        this.isAvatarLoaded = true;\n        this.userDoesNotExist = true;\n        return;\n      }\n      if (this.isUrlDefined) {\n        this.updateImageIfValid(this.url);\n        return;\n      }\n      if (this.size <= 64) {\n        const avatarUrl = this.avatarUrlGenerator(this.user, 64);\n        const srcset = [\n          avatarUrl + \" 1x\",\n          this.avatarUrlGenerator(this.user, 512) + \" 8x\"\n        ].join(\", \");\n        this.updateImageIfValid(avatarUrl, srcset);\n      } else {\n        const avatarUrl = this.avatarUrlGenerator(this.user, 512);\n        this.updateImageIfValid(avatarUrl);\n      }\n    },\n    /**\n     * Generate an avatar url from the server's avatar endpoint\n     *\n     * @param {string} user the user id\n     * @param {number} size the desired size\n     * @return {string}\n     */\n    avatarUrlGenerator(user, size) {\n      let avatarUrl = getAvatarUrl(user, {\n        size,\n        isDarkTheme: this.isDarkTheme,\n        isGuest: this.isGuest\n      });\n      if (user === getCurrentUser()?.uid && typeof oc_userconfig !== \"undefined\") {\n        avatarUrl += \"?v=\" + oc_userconfig.avatar.version;\n      }\n      return avatarUrl;\n    },\n    /**\n     * Check if the provided url is valid and update Avatar if so\n     *\n     * @param {string} url the avatar url\n     * @param {Array} srcset the avatar srcset\n     */\n    updateImageIfValid(url, srcset = null) {\n      const userHasAvatar = getUserHasAvatar(this.user);\n      if (this.isUserDefined && typeof userHasAvatar === \"boolean\") {\n        this.isAvatarLoaded = true;\n        this.avatarUrlLoaded = url;\n        if (srcset) {\n          this.avatarSrcSetLoaded = srcset;\n        }\n        if (userHasAvatar === false) {\n          this.userDoesNotExist = true;\n        }\n        return;\n      }\n      const img = new Image();\n      img.onload = () => {\n        this.avatarUrlLoaded = url;\n        if (srcset) {\n          this.avatarSrcSetLoaded = srcset;\n        }\n        this.isAvatarLoaded = true;\n        setUserHasAvatar(this.user, true);\n      };\n      img.onerror = () => {\n        console.debug(\"Invalid avatar url\", url);\n        this.avatarUrlLoaded = null;\n        this.avatarSrcSetLoaded = null;\n        this.userDoesNotExist = true;\n        this.isAvatarLoaded = false;\n        setUserHasAvatar(this.user, false);\n      };\n      if (srcset) {\n        img.srcset = srcset;\n      }\n      img.src = url;\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", { directives: [{ name: \"click-outside\", rawName: \"v-click-outside\", value: _vm.closeMenu, expression: \"closeMenu\" }], staticClass: \"avatardiv popovermenu-wrapper\", class: {\n    \"avatardiv--unknown\": _vm.userDoesNotExist,\n    \"avatardiv--with-menu\": _vm.hasMenu,\n    \"avatardiv--with-menu-loading\": _vm.contactsMenuLoading\n  }, style: _vm.avatarStyle, attrs: { \"title\": _vm.tooltip } }, [_vm._t(\"icon\", function() {\n    return [_vm.iconClass ? _c(\"span\", { staticClass: \"avatar-class-icon\", class: _vm.iconClass }) : _vm.isAvatarLoaded && !_vm.userDoesNotExist ? _c(\"img\", { attrs: { \"src\": _vm.avatarUrlLoaded, \"srcset\": _vm.avatarSrcSetLoaded, \"alt\": \"\" } }) : _vm._e()];\n  }), _vm.hasMenu && _vm.menu.length === 0 ? _c(\"NcButton\", { staticClass: \"action-item action-item__menutoggle\", attrs: { \"aria-label\": _vm.avatarAriaLabel, \"variant\": \"tertiary-no-background\" }, on: { \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([{ key: \"icon\", fn: function() {\n    return [_vm.contactsMenuLoading ? _c(\"NcLoadingIcon\") : _c(\"IconDotsHorizontal\", { attrs: { \"size\": 20 } })];\n  }, proxy: true }], null, false, 1269954734) }) : _vm.hasMenu ? _c(\"NcActions\", { attrs: { \"aria-label\": _vm.avatarAriaLabel, \"container\": _vm.menuContainer, \"force-menu\": \"\", \"manual-open\": \"\", \"open\": _vm.contactsMenuOpenState, \"variant\": \"tertiary-no-background\" }, on: { \"update:open\": function($event) {\n    _vm.contactsMenuOpenState = $event;\n  }, \"click\": _vm.toggleMenu }, scopedSlots: _vm._u([_vm.contactsMenuLoading ? { key: \"icon\", fn: function() {\n    return [_c(\"NcLoadingIcon\")];\n  }, proxy: true } : null], null, true) }, _vm._l(_vm.menu, function(item, key) {\n    return _c(item.ncActionComponent, _vm._g(_vm._b({ key, tag: \"component\", scopedSlots: _vm._u([item.iconSvg ? { key: \"icon\", fn: function() {\n      return [_c(\"NcIconSvgWrapper\", { attrs: { \"svg\": item.iconSvg } })];\n    }, proxy: true } : null], null, true) }, \"component\", item.ncActionComponentProps, false), item.ncActionComponentHandlers), [_vm._v(\" \" + _vm._s(item.text) + \" \")]);\n  }), 1) : _vm._e(), _vm.showUserStatusIconOnAvatar ? _c(\"span\", { staticClass: \"avatardiv__user-status avatardiv__user-status--icon\" }, [_vm._v(\" \" + _vm._s(_vm.userStatus.icon) + \" \")]) : _vm.canDisplayUserStatus ? _c(\"NcUserStatusIcon\", { staticClass: \"avatardiv__user-status\", attrs: { \"status\": _vm.userStatus.status, \"aria-hidden\": String(_vm.hasMenu) } }) : _vm._e(), _vm.showInitials ? _c(\"span\", { staticClass: \"avatardiv__initials-wrapper\", style: _vm.initialsWrapperStyle }, [_c(\"span\", { staticClass: \"avatardiv__initials\", style: _vm.initialsStyle }, [_vm._v(\" \" + _vm._s(_vm.initials) + \" \")])]) : _vm._e()], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"4c42c96e\"\n);\nconst NcAvatar = __component__.exports;\nexport {\n  NcAvatar as N,\n  userStatus as u\n};\n//# sourceMappingURL=NcAvatar-CgF-MFtU.mjs.map\n","import '../assets/NcMentionBubble-UsTMm5VD.css';\nimport '../assets/NcListItemIcon-UmX9YoH3.css';\nimport { u as userStatus, N as NcAvatar } from \"./NcAvatar-CgF-MFtU.mjs\";\nimport { N as NcHighlight } from \"./index-Bz6q9mZw.mjs\";\nimport { N as NcIconSvgWrapper } from \"./NcIconSvgWrapper-Cb-cPj1R.mjs\";\nimport \"../Composables/useIsFullscreen.mjs\";\nimport \"../Composables/useIsMobile.mjs\";\nimport \"../Composables/useIsDarkTheme.mjs\";\nimport \"@nextcloud/router\";\nimport \"../Functions/isDarkTheme.mjs\";\n/* empty css                                                                          */\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nimport \"escape-html\";\nimport \"striptags\";\nimport \"vue\";\nconst margin = 8;\nconst defaultSize = 32;\nconst _sfc_main = {\n  name: \"NcListItemIcon\",\n  components: {\n    NcAvatar,\n    NcHighlight,\n    NcIconSvgWrapper\n  },\n  mixins: [\n    userStatus\n  ],\n  props: {\n    /**\n     * Default first line text\n     */\n    name: {\n      type: String,\n      required: true\n    },\n    /**\n     * Secondary optional line\n     * Only visible on size of 32 and above\n     */\n    subname: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Icon class to be displayed at the end of the component\n     */\n    icon: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * SVG icon to be displayed at the end of the component\n     */\n    iconSvg: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Descriptive name for the icon\n     */\n    iconName: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Search within the highlight of name/subname\n     */\n    search: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Set a size in px that will define the avatar height/width\n     * and therefore, the height of the component\n     */\n    avatarSize: {\n      type: Number,\n      default: defaultSize\n    },\n    /**\n     * Disable the margins of this component.\n     * Useful for integration in `NcSelect` for example\n     */\n    noMargin: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * See the [Avatar](#Avatar) displayName prop\n     * Fallback to name\n     */\n    displayName: {\n      type: String,\n      default: null\n    },\n    /**\n     * See the [Avatar](#Avatar) isNoUser prop\n     * Enable/disable the UserStatus fetching\n     */\n    isNoUser: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Unique list item ID\n     */\n    id: {\n      type: String,\n      default: null\n    }\n  },\n  setup() {\n    return {\n      margin,\n      defaultSize\n    };\n  },\n  computed: {\n    hasIcon() {\n      return this.icon !== \"\";\n    },\n    hasIconSvg() {\n      return this.iconSvg !== \"\";\n    },\n    isValidSubname() {\n      return this.subname?.trim?.() !== \"\";\n    },\n    isSizeBigEnough() {\n      return this.avatarSize >= 26;\n    },\n    cssVars() {\n      const margin2 = this.noMargin ? 0 : this.margin;\n      return {\n        \"--height\": this.avatarSize + 2 * margin2 + \"px\",\n        \"--margin\": this.margin + \"px\"\n      };\n    },\n    /**\n     * Seperates the search property into two parts, the first one is the search part on the name, the second on the subname.\n     * @return {[string, string]}\n     */\n    searchParts() {\n      const EMAIL_NOTATION = /^([^<]*)<([^>]+)>?$/;\n      const match = this.search.match(EMAIL_NOTATION);\n      if (this.isNoUser || !match) {\n        return [this.search, this.search];\n      }\n      return [match[1].trim(), match[2]];\n    }\n  },\n  beforeMount() {\n    if (!this.isNoUser && !this.subname) {\n      this.fetchUserStatus(this.user);\n    }\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"span\", _vm._g({ staticClass: \"option\", class: { \"option--compact\": _vm.avatarSize < _vm.defaultSize }, style: _vm.cssVars, attrs: { \"id\": _vm.id } }, _vm.$listeners), [_c(\"NcAvatar\", _vm._b({ staticClass: \"option__avatar\", attrs: { \"disable-menu\": true, \"disable-tooltip\": true, \"display-name\": _vm.displayName || _vm.name, \"is-no-user\": _vm.isNoUser, \"size\": _vm.avatarSize } }, \"NcAvatar\", _vm.$attrs, false)), _c(\"div\", { staticClass: \"option__details\" }, [_c(\"NcHighlight\", { staticClass: \"option__lineone\", attrs: { \"text\": _vm.name, \"search\": _vm.searchParts[0] } }), _vm.isValidSubname && _vm.isSizeBigEnough ? _c(\"NcHighlight\", { staticClass: \"option__linetwo\", attrs: { \"text\": _vm.subname, \"search\": _vm.searchParts[1] } }) : _vm.hasStatus ? _c(\"span\", [_c(\"span\", [_vm._v(_vm._s(_vm.userStatus.icon))]), _c(\"span\", [_vm._v(_vm._s(_vm.userStatus.message))])]) : _vm._e()], 1), _vm._t(\"default\", function() {\n    return [_vm.hasIconSvg ? _c(\"NcIconSvgWrapper\", { staticClass: \"option__icon\", attrs: { \"svg\": _vm.iconSvg, \"name\": _vm.iconName } }) : _vm.hasIcon ? _c(\"span\", { staticClass: \"icon option__icon\", class: _vm.icon, attrs: { \"aria-label\": _vm.iconName } }) : _vm._e()];\n  })], 2);\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  \"a0f4d73a\"\n);\nconst NcListItemIcon = __component__.exports;\nexport {\n  NcListItemIcon as N\n};\n//# sourceMappingURL=NcListItemIcon-CTfYEjBB.mjs.map\n","import '../assets/NcSelect-GdIw6cIy.css';\nimport { VueSelect } from \"@nextcloud/vue-select\";\nimport { autoUpdate, computePosition, offset, flip, shift, limitShift } from \"@floating-ui/dom\";\nimport Vue from \"vue\";\nimport { r as register, f as t35, g as t15, a as t } from \"./_l10n-CW0YfIWk.mjs\";\nimport { C as ChevronDown } from \"./ChevronDown-DFQfzh63.mjs\";\nimport { C as Close } from \"./Close-BtLPUSdO.mjs\";\nimport NcEllipsisedOption from \"../Components/NcEllipsisedOption.mjs\";\nimport { N as NcListItemIcon } from \"./NcListItemIcon-CTfYEjBB.mjs\";\nimport NcLoadingIcon from \"../Components/NcLoadingIcon.mjs\";\nimport { G as GenRandomId } from \"./GenRandomId-CMooMQt0.mjs\";\nimport { u as useModelMigration } from \"./useModelMigration-EhAWvqDD.mjs\";\nimport \"@nextcloud/vue-select/dist/vue-select.css\";\nimport { n as normalizeComponent } from \"./_plugin-vue2_normalizer-DU4iP6Vu.mjs\";\nregister(t15, t35);\nconst _sfc_main = {\n  name: \"NcSelect\",\n  components: {\n    ChevronDown,\n    NcEllipsisedOption,\n    NcListItemIcon,\n    NcLoadingIcon,\n    VueSelect\n  },\n  model: {\n    prop: \"modelValue\",\n    event: \"update:modelValue\"\n  },\n  props: {\n    // Add VueSelect props to $props\n    ...VueSelect.props,\n    ...VueSelect.mixins.reduce((allProps, mixin) => ({ ...allProps, ...mixin.props }), {}),\n    /**\n     * `aria-label` for the clear input button\n     */\n    ariaLabelClearSelected: {\n      type: String,\n      default: t(\"Clear selected\")\n    },\n    /**\n     * `aria-label` for the search input\n     *\n     * A descriptive `inputLabel` is preferred as this is not visible.\n     */\n    ariaLabelCombobox: {\n      type: String,\n      default: null\n    },\n    /**\n     * `aria-label` for the listbox element\n     */\n    ariaLabelListbox: {\n      type: String,\n      default: t(\"Options\")\n    },\n    /**\n     * Allows to customize the `aria-label` for the deselect-option button\n     * The default is \"Deselect \" + optionLabel\n     * @type {(optionLabel: string) => string}\n     */\n    ariaLabelDeselectOption: {\n      type: Function,\n      default: (optionLabel) => t(\"Deselect {option}\", { option: optionLabel })\n    },\n    /**\n     * Append the dropdown element to the end of the body\n     * and size/position it dynamically.\n     *\n     * @see https://vue-select.org/api/props.html#appendtobody\n     */\n    appendToBody: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * When `appendToBody` is true, this function is responsible for\n     * positioning the drop down list.\n     *\n     * If a function is returned from `calculatePosition`, it will\n     * be called when the drop down list is removed from the DOM.\n     * This allows for any garbage collection you may need to do.\n     *\n     * @see https://vue-select.org/api/props.html#calculateposition\n     */\n    calculatePosition: {\n      type: Function,\n      default: null\n    },\n    /**\n     * Close the dropdown when selecting an option.\n     *\n     * @deprecated Use the `keepOpen` prop instead\n     */\n    closeOnSelect: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Keep the dropdown open after selecting an option.\n     *\n     * @default false\n     * @since 8.25.0\n     */\n    keepOpen: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Replace default vue-select components\n     *\n     * @see https://vue-select.org/api/props.html#components\n     */\n    components: {\n      type: Object,\n      default: () => ({\n        Deselect: {\n          render: (createElement) => createElement(Close, {\n            props: {\n              size: 20,\n              fillColor: \"var(--vs-controls-color)\"\n            },\n            style: {\n              cursor: \"pointer\"\n            }\n          })\n        }\n      })\n    },\n    /**\n     * Sets the maximum number of options to display in the dropdown list\n     */\n    limit: {\n      type: Number,\n      default: null\n    },\n    /**\n     * Disable the component\n     *\n     * @see https://vue-select.org/api/props.html#disabled\n     */\n    disabled: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Determines whether the dropdown should be open.\n     * Receives the component instance as the only argument.\n     *\n     * @see https://vue-select.org/api/props.html#dropdownshouldopen\n     */\n    dropdownShouldOpen: {\n      type: Function,\n      default: ({ noDrop, open }) => {\n        return noDrop ? false : open;\n      }\n    },\n    /**\n     * Callback to determine if the provided option should\n     * match the current search text. Used to determine\n     * if the option should be displayed.\n     *\n     * Defaults to the internal vue-select function documented at the link\n     * below\n     *\n     * Enabling `userSelect` will automatically set this to filter by the\n     * `displayName` and `subname` properties of the user option object\n     * unless this prop is set explicitly\n     *\n     * @see https://vue-select.org/api/props.html#filterby\n     */\n    filterBy: {\n      type: Function,\n      default: null\n    },\n    /**\n     * Class for the `input`\n     *\n     * Necessary for use in NcActionInput\n     */\n    inputClass: {\n      type: [String, Object],\n      default: null\n    },\n    /**\n     * Input element id\n     */\n    inputId: {\n      type: String,\n      default: () => `select-input-${GenRandomId()}`\n    },\n    /**\n     * Visible label for the input element\n     *\n     * @todo Set default for @nextcloud/vue 9\n     */\n    inputLabel: {\n      type: String,\n      default: null\n    },\n    /**\n     * Pass true if you are using an external label\n     */\n    labelOutside: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Display a visible border around dropdown options\n     * which have keyboard focus\n     */\n    keyboardFocusBorder: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Key of the displayed label for object options\n     *\n     * Defaults to the internal vue-select string documented at the link\n     * below\n     *\n     * Enabling `userSelect` will automatically set this to `'displayName'`\n     * unless this prop is set explicitly\n     *\n     * @see https://vue-select.org/api/props.html#label\n     */\n    label: {\n      type: String,\n      default: null\n    },\n    /**\n     * Show the loading icon\n     *\n     * @see https://vue-select.org/api/props.html#loading\n     */\n    loading: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Allow selection of multiple options\n     *\n     * @see https://vue-select.org/api/props.html#multiple\n     */\n    multiple: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Disable automatic wrapping when selected options overflow the width\n     */\n    noWrap: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Array of options\n     *\n     * @type {Array<string | number | Record<string | number, any>>}\n     *\n     * @see https://vue-select.org/api/props.html#options\n     */\n    options: {\n      type: Array,\n      default: () => []\n    },\n    /**\n     * Placeholder text\n     *\n     * @see https://vue-select.org/api/props.html#placeholder\n     */\n    placeholder: {\n      type: String,\n      default: \"\"\n    },\n    /**\n     * Customized component's response to keydown events while the search input has focus\n     *\n     * @see https://vue-select.org/guide/keydown.html#mapkeydown\n     */\n    mapKeydown: {\n      type: Function,\n      /**\n       * Patched Vue-Select keydown events handlers map to stop Escape propagation in open select\n       *\n       * @param {Record<number, Function>} map - Mapped keyCode to handlers { <keyCode>:<callback> }\n       * @param {import('@nextcloud/vue-select').VueSelect} vm - VueSelect instance\n       * @return {Record<number, Function>} patched keydown event handlers\n       */\n      default(map, vm) {\n        return {\n          ...map,\n          /**\n           * Patched Escape handler to stop propagation from open select\n           *\n           * @param {KeyboardEvent} event - default keydown event handler\n           */\n          27: (event) => {\n            if (vm.open) {\n              event.stopPropagation();\n            }\n            map[27](event);\n          }\n        };\n      }\n    },\n    /**\n     * A unique identifier used to generate IDs and DOM attributes. Must be unique for every instance of the component.\n     *\n     * @see https://vue-select.org/api/props.html#uid\n     */\n    uid: {\n      type: String,\n      default: () => GenRandomId()\n    },\n    /**\n     * When `appendToBody` is true, this sets the placement of the dropdown\n     *\n     * @type {'bottom' | 'top'}\n     */\n    placement: {\n      type: String,\n      default: \"bottom\"\n    },\n    /**\n     * If false, the focused dropdown option will not be reset when filtered\n     * options change\n     */\n    resetFocusOnOptionsChange: {\n      type: Boolean,\n      default: true\n    },\n    /**\n     * Enable the user selector with avatars\n     *\n     * Objects must contain the data expected by the\n     * [NcListItemIcon](#/Components/NcListItemIcon) and\n     * [NcAvatar](#/Components/NcAvatar) components\n     *\n     * @deprecated Use the `NcSelectUsers` component instead\n     */\n    userSelect: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Removed in v9 - use `modelValue` (`v-model`) instead\n     * @deprecated\n     */\n    value: {\n      type: [String, Number, Object, Array],\n      default: void 0\n    },\n    /**\n     * Currently selected value\n     *\n     * The `v-model` directive may be used for two-way data binding\n     *\n     * @type {string | number | Record<string | number, any> | Array<any>}\n     *\n     * @see https://vue-select.org/api/props.html#value\n     */\n    modelValue: {\n      type: [String, Number, Object, Array],\n      default: null\n    },\n    /**\n     * Enable if a value is required for native form validation\n     */\n    required: {\n      type: Boolean,\n      default: false\n    },\n    /**\n     * Any available prop\n     *\n     * @see https://vue-select.org/api/props.html\n     */\n    // Not an actual prop but needed to show in vue-styleguidist docs\n    // eslint-disable-next-line\n    \" \": {}\n  },\n  emits: [\n    /**\n     * All events from https://vue-select.org/api/events.html\n     */\n    // Not an actual event but needed to show in vue-styleguidist docs\n    \" \",\n    /**\n     * Removed in v9 - use `update:modelValue` (`v-model`) instead\n     * @deprecated\n     */\n    \"input\",\n    \"update:modelValue\",\n    /** Same as update:modelValue for Vue 2 compatibility */\n    \"update:model-value\"\n  ],\n  setup() {\n    const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-clickable-area\"));\n    const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue(\"--default-grid-baseline\"));\n    const avatarSize = clickableArea - 2 * gridBaseLine;\n    const model = useModelMigration(\"value\", \"input\");\n    return {\n      avatarSize,\n      model\n    };\n  },\n  data() {\n    return {\n      search: \"\"\n    };\n  },\n  computed: {\n    inputRequired() {\n      if (!this.required) {\n        return null;\n      }\n      return this.model === null || Array.isArray(this.model) && this.model.length === 0;\n    },\n    localCalculatePosition() {\n      if (this.calculatePosition !== null) {\n        return this.calculatePosition;\n      }\n      return (dropdownMenu, component, { width }) => {\n        dropdownMenu.style.width = width;\n        const addClass = {\n          name: \"addClass\",\n          fn(_middlewareArgs) {\n            dropdownMenu.classList.add(\"vs__dropdown-menu--floating\");\n            return {};\n          }\n        };\n        const togglePlacementClass = {\n          name: \"togglePlacementClass\",\n          fn({ placement }) {\n            component.$el.classList.toggle(\n              \"select--drop-up\",\n              placement === \"top\"\n            );\n            dropdownMenu.classList.toggle(\n              \"vs__dropdown-menu--floating-placement-top\",\n              placement === \"top\"\n            );\n            return {};\n          }\n        };\n        const updatePosition = () => {\n          computePosition(component.$refs.toggle, dropdownMenu, {\n            placement: this.placement,\n            middleware: [\n              offset(-1),\n              addClass,\n              togglePlacementClass,\n              // Match popperjs default collision prevention behavior by appending the following middleware in order\n              flip(),\n              shift({ limiter: limitShift() })\n            ]\n          }).then(({ x, y }) => {\n            Object.assign(dropdownMenu.style, {\n              left: `${x}px`,\n              top: `${y}px`,\n              width: `${component.$refs.toggle.getBoundingClientRect().width}px`\n            });\n          });\n        };\n        const cleanup = autoUpdate(\n          component.$refs.toggle,\n          dropdownMenu,\n          updatePosition\n        );\n        return cleanup;\n      };\n    },\n    localFilterBy() {\n      const EMAIL_NOTATION = /[^<]*<([^>]+)/;\n      if (this.filterBy !== null) {\n        return this.filterBy;\n      }\n      if (this.userSelect) {\n        return (option, label, search) => {\n          const match = search.match(EMAIL_NOTATION);\n          return match && option.subname?.toLocaleLowerCase?.()?.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1;\n        };\n      }\n      return VueSelect.props.filterBy.default;\n    },\n    localLabel() {\n      if (this.label !== null) {\n        return this.label;\n      }\n      if (this.userSelect) {\n        return \"displayName\";\n      }\n      return VueSelect.props.label.default;\n    },\n    propsToForward() {\n      const vueSelectKeys = [\n        ...Object.keys(VueSelect.props),\n        ...VueSelect.mixins.flatMap((mixin) => Object.keys(mixin.props ?? {}))\n      ];\n      const initialPropsToForward = Object.fromEntries(\n        Object.entries(this.$props).filter(([key, _value]) => vueSelectKeys.includes(key))\n      );\n      const propsToForward = {\n        ...initialPropsToForward,\n        // Custom overrides of vue-select props\n        value: this.model,\n        calculatePosition: this.localCalculatePosition,\n        closeOnSelect: this.closeOnSelect && !this.keepOpen,\n        filterBy: this.localFilterBy,\n        label: this.localLabel\n      };\n      return propsToForward;\n    },\n    listenersToForward() {\n      return {\n        ...this.$listeners,\n        input: ($event) => {\n          this.model = $event;\n        }\n      };\n    }\n  },\n  mounted() {\n    if (!this.labelOutside && !this.inputLabel && !this.ariaLabelCombobox) {\n      Vue.util.warn(\"[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`.\");\n    }\n    if (this.inputLabel && this.ariaLabelCombobox) {\n      Vue.util.warn(\"[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.\");\n    }\n  },\n  methods: {\n    t\n  }\n};\nvar _sfc_render = function render() {\n  var _vm = this, _c = _vm._self._c;\n  return _c(\"VueSelect\", _vm._g(_vm._b({ staticClass: \"select\", class: {\n    \"select--no-wrap\": _vm.noWrap,\n    \"user-select\": _vm.userSelect\n  }, on: { \"search\": (searchString) => _vm.search = searchString }, scopedSlots: _vm._u([!_vm.labelOutside && _vm.inputLabel ? { key: \"header\", fn: function() {\n    return [_c(\"label\", { staticClass: \"select__label\", attrs: { \"for\": _vm.inputId } }, [_vm._v(\" \" + _vm._s(_vm.inputLabel) + \" \")])];\n  }, proxy: true } : null, { key: \"search\", fn: function({ attributes, events }) {\n    return [_c(\"input\", _vm._g(_vm._b({ class: [\"vs__search\", _vm.inputClass], attrs: { \"required\": _vm.inputRequired, \"dir\": \"auto\" } }, \"input\", attributes, false), events))];\n  } }, { key: \"open-indicator\", fn: function({ attributes }) {\n    return [_c(\"ChevronDown\", _vm._b({ style: {\n      cursor: !_vm.disabled ? \"pointer\" : null\n    }, attrs: { \"fill-color\": \"var(--vs-controls-color)\", \"size\": 26 } }, \"ChevronDown\", attributes, false))];\n  } }, { key: \"option\", fn: function(option) {\n    return [_vm._t(\"option\", function() {\n      return [_vm.userSelect ? _c(\"NcListItemIcon\", _vm._b({ attrs: { \"avatar-size\": 32, \"name\": option[_vm.localLabel], \"search\": _vm.search } }, \"NcListItemIcon\", option, false)) : _c(\"NcEllipsisedOption\", { attrs: { \"name\": String(option[_vm.localLabel]), \"search\": _vm.search } })];\n    }, null, option)];\n  } }, { key: \"selected-option\", fn: function(selectedOption) {\n    return [_vm._t(\"selected-option\", function() {\n      return [_vm.userSelect ? _c(\"NcListItemIcon\", _vm._b({ attrs: { \"avatar-size\": _vm.avatarSize, \"name\": selectedOption[_vm.localLabel], \"no-margin\": \"\", \"search\": _vm.search } }, \"NcListItemIcon\", selectedOption, false)) : _c(\"NcEllipsisedOption\", { attrs: { \"name\": String(selectedOption[_vm.localLabel]), \"search\": _vm.search } })];\n    }, { \"vBind\": selectedOption })];\n  } }, { key: \"spinner\", fn: function(spinner) {\n    return [spinner.loading ? _c(\"NcLoadingIcon\") : _vm._e()];\n  } }, { key: \"no-options\", fn: function() {\n    return [_vm._v(\" \" + _vm._s(_vm.t(\"No results\")) + \" \")];\n  }, proxy: true }, _vm._l(_vm.$scopedSlots, function(_, name) {\n    return { key: name, fn: function(data) {\n      return [_vm._t(name, null, null, data)];\n    } };\n  })], null, true) }, \"VueSelect\", _vm.propsToForward, false), _vm.listenersToForward));\n};\nvar _sfc_staticRenderFns = [];\nvar __component__ = /* @__PURE__ */ normalizeComponent(\n  _sfc_main,\n  _sfc_render,\n  _sfc_staticRenderFns,\n  false,\n  null,\n  null\n);\nconst NcSelect = __component__.exports;\nexport {\n  NcSelect as N\n};\n//# sourceMappingURL=NcSelect-BUOuXJUQ.mjs.map\n"],"names":["e","i","t","module","this","n","o","s","m","_","O","r","a","l","c","u","p","d","h","f","y","b","g","v","x","w","A","R","P","E","T","D","k","B","C","H","L","S","F","W","M","z","V","_sfc_main","_sfc_render","_vm","_c","$event","_sfc_staticRenderFns","__component__","normalizeComponent","ChevronDown","FindRanges","text","search","ranges","currentIndex","index","range","validRanges","mergedRanges","idx","chunks","currentRange","chunk","NcHighlight","NcEllipsisedOption","Vue","unrefElement","elRef","_a","plain","toValue","defaultWindow","isClient","useEventListener","args","target","events","listeners","options","noop","cleanups","cleanup","fn","register","el","event","listener","options2","stopWatch","watch","optionsClone","isObject","stop","tryOnScopeDispose","_iOSWorkaround","onClickOutside","handler","window","ignore","capture","detectIframe","isIOS","shouldListen","shouldIgnore","target2","vOnClickOutside","directiveHooks","binding","resolveElement","checkOverflowScroll","ele","style","parent","preventDefault","rawEvent","_target","elInitialOverflow","useScrollLock","element","initialState","isLocked","ref","stopTouchMoveListener","initialOverflow","toRef","lock","unlock","computed","onScrollLock","isMounted","state","ActionTextMixin","value","NcActionLink","NcActionRouter","NcActionText","onlineSvg","onlineLegacySvg","awaySvg","awayLegacySvg","busySvg","dndSvg","dndLegacySvg","invisibleSvg","invisibleLegacySvg","t10","getUserStatusText","status","t50","matchSvg","isLegacy32","user","_oldUser","getCapabilities","data","axios","generateOcsUrl","NcUserStatusIcon","getRoute","router","url","removePrefix","str","prefix","removePrefixes","prefixes","acc","isAbsoluteURL","isNonHttpLink","getBaseUrl","relativeUrl","relativeRouterBase","getRootUrl","potentialRouterPath","route","checkIfDarkTheme","backgroundInvertIfDark","INJECTION_KEY_THEME","useIsDarkThemeElement","isDarkTheme","isDarkSystemTheme","usePreferredDark","updateIsDarkTheme","useMutationObserver","readonly","useInternalIsDarkTheme","createSharedComposable","useIsDarkTheme","enforcedTheme","inject","base64map","crypt","bytes","words","hex","base64","triplet","j","imod4","cryptModule","charenc","charenc_1","isBuffer_1","obj","isBuffer","isSlowBuffer","require$$0","utf8","require$$1","require$$2","bin","md5","message","FF","GG","HH","II","aa","bb","cc","dd","md5Module","digestbytes","usernameToColor","username","hash","steps","finalPalette","GenColors","hashToInt","hash2","maximum","finalInt","result","getEnabledContactsMenuActions","entry","action","isFullscreen","checkIfIsFullscreen","getAvatarUrl","size","guestUrl","themeUrl","generateUrl","global","Symbol","name","STATE_PLAINTEXT","STATE_HTML","STATE_COMMENT","ALLOWED_TAGS_REGEX","NORMALIZE_TAG_REGEX","striptags","html","allowable_tags","tag_replacement","context","init_context","striptags_internal","init_striptags_stream","parse_allowable_tags","tag_buffer","depth","in_quote_char","output","length","char","normalize_tag","tag_set","match","userStatus","userId","capabilities","getCurrentUser","icon","t9","browserStorage","getBuilder","getUserHasAvatar","flag","setUserHasAvatar","DotsHorizontalIcon","NcActions","NcButton","NcIconSvgWrapper","NcLoadingIcon","initials","filteredChars","filtered","actions","item","NcActionButton","error","logger","escape","emojiIcon","subscribe","unsubscribe","avatarUrl","srcset","userHasAvatar","img","key","NcAvatar","margin","defaultSize","margin2","EMAIL_NOTATION","NcListItemIcon","t15","t35","VueSelect","allProps","mixin","optionLabel","createElement","Close","noDrop","open","GenRandomId","map","vm","clickableArea","gridBaseLine","avatarSize","model","useModelMigration","dropdownMenu","component","width","addClass","_middlewareArgs","togglePlacementClass","placement","updatePosition","computePosition","offset","flip","shift","limitShift","autoUpdate","option","label","vueSelectKeys","_value","searchString","attributes","selectedOption","spinner","NcSelect"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]}